| 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
 1.8.17