|
Ruby
3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
|
#include "ruby/internal/config.h"#include <ctype.h>#include <math.h>#include "id.h"#include "internal.h"#include "internal/array.h"#include "internal/class.h"#include "internal/complex.h"#include "internal/numeric.h"#include "internal/object.h"#include "internal/rational.h"#include "ruby_assert.h"
Go to the source code of this file.
Macros | |
| #define | _USE_MATH_DEFINES 1 |
| #define | ZERO INT2FIX(0) |
| #define | ONE INT2FIX(1) |
| #define | TWO INT2FIX(2) |
| #define | RFLOAT_0 DBL2NUM(0) |
| #define | id_to_i idTo_i |
| #define | id_to_r idTo_r |
| #define | id_negate idUMinus |
| #define | id_expt idPow |
| #define | id_to_f idTo_f |
| #define | id_quo idQuo |
| #define | id_fdiv idFdiv |
| #define | fun1(n) |
| #define | fun2(n) |
| #define | PRESERVE_SIGNEDZERO |
| #define | f_positive_p(x) (!f_negative_p(x)) |
| #define | f_nonzero_p(x) (!f_zero_p(x)) |
| #define | k_exact_p(x) (!RB_FLOAT_TYPE_P(x)) |
| #define | k_exact_zero_p(x) (k_exact_p(x) && f_zero_p(x)) |
| #define | get_dat1(x) struct RComplex *dat = RCOMPLEX(x) |
| #define | get_dat2(x, y) struct RComplex *adat = RCOMPLEX(x), *bdat = RCOMPLEX(y) |
| #define | imp1(n) |
| #define | cospi(x) cos((x) * M_PI) |
| #define | sinpi(x) sin((x) * M_PI) |
| #define | rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by 0") |
| #define | nucomp_quo rb_complex_div |
| #define | FINITE_TYPE_P(v) (RB_INTEGER_TYPE_P(v) || RB_TYPE_P(v, T_RATIONAL)) |
Functions | |
| fun1 (to_r) | |
| fun2 (expt) | |
| VALUE | rb_flo_is_finite_p (VALUE num) |
| VALUE | rb_flo_is_infinite_p (VALUE num) |
| imp1 (cos) | |
| imp1 (sin) | |
| VALUE | rb_dbl_complex_new_polar_pi (double abs, double ang) |
| VALUE | rb_complex_real (VALUE self) |
| VALUE | rb_complex_imag (VALUE self) |
| VALUE | rb_complex_uminus (VALUE self) |
| VALUE | rb_complex_plus (VALUE self, VALUE other) |
| VALUE | rb_complex_minus (VALUE self, VALUE other) |
| VALUE | rb_complex_mul (VALUE self, VALUE other) |
| VALUE | rb_complex_div (VALUE self, VALUE other) |
| VALUE | rb_complex_pow (VALUE self, VALUE other) |
| VALUE | rb_complex_abs (VALUE self) |
| VALUE | rb_complex_arg (VALUE self) |
| VALUE | rb_complex_conjugate (VALUE self) |
| st_index_t | rb_complex_hash (VALUE self) |
| VALUE | rb_complex_raw (VALUE x, VALUE y) |
| VALUE | rb_complex_new (VALUE x, VALUE y) |
| VALUE | rb_complex_new_polar (VALUE x, VALUE y) |
| VALUE | rb_complex_polar (VALUE x, VALUE y) |
| VALUE | rb_Complex (VALUE x, VALUE y) |
| VALUE | rb_dbl_complex_new (double real, double imag) |
| Creates a Complex object. More... | |
| void | Init_Complex (void) |
Variables | |
| VALUE | rb_cComplex |
| #define FINITE_TYPE_P | ( | v | ) | (RB_INTEGER_TYPE_P(v) || RB_TYPE_P(v, T_RATIONAL)) |
| #define fun1 | ( | n | ) |
| #define fun2 | ( | n | ) |
| #define imp1 | ( | n | ) |
| #define nucomp_quo rb_complex_div |
| #define rb_raise_zerodiv | ( | ) | rb_raise(rb_eZeroDivError, "divided by 0") |
| fun2 | ( | expt | ) |
Definition at line 289 of file complex.c.
References RB_INTEGER_TYPE_P, rb_numeric_quo(), and y.
| imp1 | ( | cos | ) |
Definition at line 568 of file complex.c.
References rb_math_log().
Definition at line 1211 of file complex.c.
References get_dat1, and rb_math_atan2().
| st_index_t rb_complex_hash | ( | VALUE | self | ) |
Definition at line 1326 of file complex.c.
References get_dat1, NUM2LONG, rb_hash(), and rb_memhash().
Referenced by rb_iseq_cdhash_hash().
Definition at line 1534 of file complex.c.
Referenced by rb_dbl_complex_new_polar_pi().
Definition at line 1540 of file complex.c.
Referenced by rb_complex_polar().
Definition at line 1546 of file complex.c.
References rb_complex_new_polar(), and y.
Definition at line 1528 of file complex.c.
Referenced by rb_dbl_complex_new().
| VALUE rb_dbl_complex_new | ( | double | real, |
| double | imag | ||
| ) |
Creates a Complex object.
| real | real part value |
| imag | imaginary part value |
Definition at line 1568 of file complex.c.
References DBL2NUM, and rb_complex_raw().
| VALUE rb_dbl_complex_new_polar_pi | ( | double | abs, |
| double | ang | ||
| ) |
Definition at line 1698 of file numeric.c.
References isfinite, RBOOL, and RFLOAT_VALUE.
Definition at line 1678 of file numeric.c.
References INT2FIX, Qnil, and RFLOAT_VALUE.
1.8.17