Ruby
3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
|
#include "ruby/internal/config.h"
#include <ctype.h>
#include <float.h>
#include <math.h>
#include "id.h"
#include "internal.h"
#include "internal/array.h"
#include "internal/complex.h"
#include "internal/gc.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 | ZERO INT2FIX(0) |
#define | ONE INT2FIX(1) |
#define | TWO INT2FIX(2) |
#define | GMP_GCD_DIGITS 1 |
#define | INT_ZERO_P(x) (FIXNUM_P(x) ? FIXNUM_ZERO_P(x) : rb_bigzero_p(x)) |
#define | id_idiv idDiv |
#define | id_to_i idTo_i |
#define | f_inspect rb_inspect |
#define | f_to_s rb_obj_as_string |
#define | f_expt10(x) rb_int_pow(INT2FIX(10), x) |
#define | f_nonzero_p(x) (!f_zero_p(x)) |
#define | k_exact_p(x) (!k_float_p(x)) |
#define | k_inexact_p(x) k_float_p(x) |
#define | k_exact_zero_p(x) (k_exact_p(x) && f_zero_p(x)) |
#define | k_exact_one_p(x) (k_exact_p(x) && f_one_p(x)) |
#define | get_dat1(x) struct RRational *dat = RRATIONAL(x) |
#define | get_dat2(x, y) struct RRational *adat = RRATIONAL(x), *bdat = RRATIONAL(y) |
#define | nurat_expt rb_rational_pow |
#define | id_ceil rb_intern("ceil") |
#define | id_quo idQuo |
#define | f_reciprocal(x) f_quo(ONE, (x)) |
#define | id_numerator rb_intern("numerator") |
#define | f_numerator(x) rb_funcall((x), id_numerator, 0) |
#define | id_denominator rb_intern("denominator") |
#define | f_denominator(x) rb_funcall((x), id_denominator, 0) |
#define | id_to_r idTo_r |
#define | f_to_r(x) rb_funcall((x), id_to_r, 0) |
Variables | |
VALUE | rb_cRational |
#define f_denominator | ( | x | ) | rb_funcall((x), id_denominator, 0) |
Definition at line 1993 of file rational.c.
#define f_expt10 | ( | x | ) | rb_int_pow(INT2FIX(10), x) |
Definition at line 163 of file rational.c.
#define f_inspect rb_inspect |
Definition at line 49 of file rational.c.
#define f_nonzero_p | ( | x | ) | (!f_zero_p(x)) |
Definition at line 179 of file rational.c.
#define f_numerator | ( | x | ) | rb_funcall((x), id_numerator, 0) |
Definition at line 1990 of file rational.c.
Definition at line 1614 of file rational.c.
#define f_to_r | ( | x | ) | rb_funcall((x), id_to_r, 0) |
Definition at line 1996 of file rational.c.
#define f_to_s rb_obj_as_string |
Definition at line 50 of file rational.c.
Definition at line 401 of file rational.c.
Definition at line 404 of file rational.c.
#define GMP_GCD_DIGITS 1 |
Definition at line 37 of file rational.c.
#define id_ceil rb_intern("ceil") |
Definition at line 1590 of file rational.c.
#define id_denominator rb_intern("denominator") |
Definition at line 1992 of file rational.c.
#define id_idiv idDiv |
Definition at line 46 of file rational.c.
#define id_numerator rb_intern("numerator") |
Definition at line 1989 of file rational.c.
#define id_quo idQuo |
Definition at line 1602 of file rational.c.
#define id_to_i idTo_i |
Definition at line 47 of file rational.c.
#define id_to_r idTo_r |
Definition at line 1995 of file rational.c.
#define INT_ZERO_P | ( | x | ) | (FIXNUM_P(x) ? FIXNUM_ZERO_P(x) : rb_bigzero_p(x)) |
Definition at line 39 of file rational.c.
#define k_exact_one_p | ( | x | ) | (k_exact_p(x) && f_one_p(x)) |
Definition at line 248 of file rational.c.
#define k_exact_p | ( | x | ) | (!k_float_p(x)) |
Definition at line 244 of file rational.c.
#define k_exact_zero_p | ( | x | ) | (k_exact_p(x) && f_zero_p(x)) |
Definition at line 247 of file rational.c.
#define k_inexact_p | ( | x | ) | k_float_p(x) |
Definition at line 245 of file rational.c.
#define nurat_expt rb_rational_pow |
Definition at line 1048 of file rational.c.
#define ONE INT2FIX(1) |
Definition at line 34 of file rational.c.
#define TWO INT2FIX(2) |
Definition at line 35 of file rational.c.
#define ZERO INT2FIX(0) |
Definition at line 33 of file rational.c.
void Init_Rational | ( | void | ) |
Definition at line 2756 of file rational.c.
Definition at line 2550 of file rational.c.
Definition at line 1543 of file rational.c.
Definition at line 2113 of file rational.c.
References INT2FIX, isfinite, and RFLOAT_VALUE.
Definition at line 2093 of file rational.c.
References isfinite, and RFLOAT_VALUE.
Definition at line 2248 of file rational.c.
References f.
Definition at line 2232 of file rational.c.
References f_abs.
Definition at line 1904 of file rational.c.
Definition at line 359 of file rational.c.
Definition at line 1942 of file rational.c.
Definition at line 1923 of file rational.c.
Definition at line 2032 of file rational.c.
Referenced by fun2().
Definition at line 1233 of file rational.c.
References get_dat1.
Definition at line 2047 of file rational.c.
Definition at line 1068 of file rational.c.
References get_dat1, LONG2FIX, rb_int_cmp(), T_BIGNUM, T_FIXNUM, and TYPE.
Definition at line 1984 of file rational.c.
Definition at line 896 of file rational.c.
References RB_INTEGER_TYPE_P.
Definition at line 1393 of file rational.c.
st_index_t rb_rational_hash | ( | VALUE | self | ) |
Definition at line 1751 of file rational.c.
References get_dat1, NUM2LONG, rb_hash(), and rb_memhash().
Referenced by rb_iseq_cdhash_hash().
Definition at line 758 of file rational.c.
References get_dat1, and RB_INTEGER_TYPE_P.
Definition at line 854 of file rational.c.
References get_dat1, and RB_INTEGER_TYPE_P.
Definition at line 1963 of file rational.c.
Definition at line 1978 of file rational.c.
Definition at line 717 of file rational.c.
References get_dat1, and RB_INTEGER_TYPE_P.
Definition at line 973 of file rational.c.
Definition at line 1949 of file rational.c.
References RB_INTEGER_TYPE_P, rb_to_int(), and y.
Definition at line 1885 of file rational.c.
References get_dat1.
Definition at line 604 of file rational.c.
References assert.
VALUE rb_cRational |
Definition at line 41 of file rational.c.