Ruby
2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)
|
#include "internal.h"
#include "id.h"
#include <math.h>
#include <float.h>
#include "ruby_assert.h"
#include <ctype.h>
Go to the source code of this file.
Functions | |
VALUE | rb_gcd_normal (VALUE x, VALUE y) |
VALUE | rb_rational_uminus (VALUE self) |
VALUE | rb_rational_plus (VALUE self, VALUE other) |
VALUE | rb_rational_mul (VALUE self, VALUE other) |
VALUE | rb_rational_pow (VALUE self, VALUE other) |
VALUE | rb_rational_cmp (VALUE self, VALUE other) |
VALUE | rb_rational_abs (VALUE self) |
VALUE | rb_rational_reciprocal (VALUE x) |
VALUE | rb_gcd (VALUE self, VALUE other) |
VALUE | rb_lcm (VALUE self, VALUE other) |
VALUE | rb_gcdlcm (VALUE self, VALUE other) |
VALUE | rb_rational_raw (VALUE x, VALUE y) |
VALUE | rb_rational_new (VALUE x, VALUE y) |
VALUE | rb_Rational (VALUE x, VALUE y) |
VALUE | rb_rational_num (VALUE rat) |
VALUE | rb_rational_den (VALUE rat) |
VALUE | rb_numeric_quo (VALUE x, VALUE y) |
VALUE | rb_rational_canonicalize (VALUE x) |
VALUE | rb_float_numerator (VALUE self) |
VALUE | rb_float_denominator (VALUE self) |
VALUE | rb_flt_rationalize_with_prec (VALUE flt, VALUE prec) |
VALUE | rb_flt_rationalize (VALUE flt) |
VALUE | rb_cstr_to_rat (const char *s, int strict) |
void | Init_Rational (void) |
Variables | |
VALUE | rb_cRational |
#define canonicalization 0 |
Definition at line 425 of file rational.c.
Definition at line 42 of file rational.c.
#define f_denominator | ( | x | ) | rb_funcall((x), id_denominator, 0) |
Definition at line 1975 of file rational.c.
#define f_expt10 | ( | x | ) | rb_int_pow(INT2FIX(10), x) |
Definition at line 148 of file rational.c.
#define f_inspect rb_inspect |
Definition at line 43 of file rational.c.
#define f_nonzero_p | ( | x | ) | (!f_zero_p(x)) |
Definition at line 164 of file rational.c.
#define f_numerator | ( | x | ) | rb_funcall((x), id_numerator, 0) |
Definition at line 1972 of file rational.c.
Definition at line 1618 of file rational.c.
#define f_to_r | ( | x | ) | rb_funcall((x), id_to_r, 0) |
Definition at line 1978 of file rational.c.
#define f_to_s rb_obj_as_string |
Definition at line 44 of file rational.c.
Definition at line 386 of file rational.c.
Definition at line 389 of file rational.c.
#define GMP_GCD_DIGITS 1 |
Definition at line 29 of file rational.c.
#define id_ceil rb_intern("ceil") |
Definition at line 1594 of file rational.c.
#define id_denominator rb_intern("denominator") |
Definition at line 1974 of file rational.c.
#define id_idiv idDiv |
Definition at line 39 of file rational.c.
#define id_numerator rb_intern("numerator") |
Definition at line 1971 of file rational.c.
#define id_quo idQuo |
Definition at line 1606 of file rational.c.
#define id_to_i idTo_i |
Definition at line 40 of file rational.c.
#define id_to_r idTo_r |
Definition at line 1977 of file rational.c.
#define INT_POSITIVE_P | ( | x | ) | (FIXNUM_P(x) ? FIXNUM_POSITIVE_P(x) : BIGNUM_POSITIVE_P(x)) |
Definition at line 31 of file rational.c.
#define INT_ZERO_P | ( | x | ) | (FIXNUM_P(x) ? FIXNUM_ZERO_P(x) : rb_bigzero_p(x)) |
Definition at line 32 of file rational.c.
#define k_exact_one_p | ( | x | ) | (k_exact_p(x) && f_one_p(x)) |
Definition at line 233 of file rational.c.
#define k_exact_p | ( | x | ) | (!k_float_p(x)) |
Definition at line 229 of file rational.c.
#define k_exact_zero_p | ( | x | ) | (k_exact_p(x) && f_zero_p(x)) |
Definition at line 232 of file rational.c.
#define k_inexact_p | ( | x | ) | k_float_p(x) |
Definition at line 230 of file rational.c.
#define NDEBUG |
Definition at line 17 of file rational.c.
#define nurat_expt rb_rational_pow |
Definition at line 1077 of file rational.c.
#define ONE INT2FIX(1) |
Definition at line 26 of file rational.c.
#define rb_intern | ( | str | ) | rb_intern_const(str) |
#define TWO INT2FIX(2) |
Definition at line 27 of file rational.c.
#define ZERO INT2FIX(0) |
Definition at line 25 of file rational.c.
Definition at line 2712 of file rational.c.
Definition at line 2104 of file rational.c.
References INT2FIX, isinf, isnan, and RFLOAT_VALUE.
Definition at line 2081 of file rational.c.
References isinf, isnan, and RFLOAT_VALUE.
Definition at line 2242 of file rational.c.
Definition at line 2226 of file rational.c.
References f_abs.
Definition at line 1894 of file rational.c.
Referenced by rb_int_fdiv_double().
Definition at line 344 of file rational.c.
Definition at line 1932 of file rational.c.
Definition at line 1913 of file rational.c.
Definition at line 2014 of file rational.c.
References canonicalization, idFdiv, rb_complex_div(), rb_convert_type(), RB_FLOAT_TYPE_P, rb_funcallv, rb_rational_raw1, RB_TYPE_P, T_COMPLEX, and T_RATIONAL.
Referenced by fun2().
Definition at line 1951 of file rational.c.
Definition at line 1255 of file rational.c.
References get_dat1, INT_NEGATIVE_P, and rb_int_abs().
Definition at line 2034 of file rational.c.
References get_dat1, RB_TYPE_P, and T_RATIONAL.
Definition at line 1097 of file rational.c.
References get_dat1, LONG2FIX, rb_int_cmp(), and RB_INTEGER_TYPE_P.
Definition at line 1966 of file rational.c.
Definition at line 874 of file rational.c.
References get_dat1, and RB_INTEGER_TYPE_P.
Definition at line 1945 of file rational.c.
Definition at line 1960 of file rational.c.
Definition at line 737 of file rational.c.
References get_dat1, and RB_INTEGER_TYPE_P.
Definition at line 1002 of file rational.c.
Referenced by rb_num_pow().
Definition at line 1939 of file rational.c.
Definition at line 1875 of file rational.c.
References get_dat1.
Definition at line 624 of file rational.c.
References assert, get_dat1, RB_TYPE_P, T_RATIONAL, and void.