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.