#include "ruby/ruby.h"
#include "ruby/encoding.h"
#include "ruby/util.h"
#include <ctype.h>
#include <math.h>
#include <stdio.h>
Go to the source code of this file.
#define DBL_DIG 15 |
Definition at line 57 of file numeric.c.
Referenced by flo_to_s(), Init_Numeric(), rb_cstr_to_dbl(), and ruby_strtod().
#define DBL_EPSILON 2.2204460492503131e-16 |
Definition at line 63 of file numeric.c.
Referenced by Init_Numeric().
#define DBL_MANT_DIG 53 |
Definition at line 60 of file numeric.c.
Referenced by flo_to_s(), and Init_Numeric().
#define DBL_MAX_10_EXP 308 |
Definition at line 54 of file numeric.c.
Referenced by BigDecimal_to_f(), Init_Numeric(), and ruby_strtod().
#define DBL_MAX_EXP 1024 |
Definition at line 48 of file numeric.c.
Referenced by big2dbl(), BSD__hdtoa(), Init_Numeric(), and ruby_strtod().
#define DBL_MIN 2.2250738585072014e-308 |
Definition at line 39 of file numeric.c.
Referenced by Init_Numeric().
#define DBL_MIN_10_EXP (-307) |
Definition at line 51 of file numeric.c.
Referenced by Init_Numeric().
#define DBL_MIN_EXP (-1021) |
Definition at line 45 of file numeric.c.
Referenced by Init_Numeric().
#define FIT_SQRT_LONG | ( | n | ) | (((n)<SQRT_LONG_MAX)&&((n)>=-SQRT_LONG_MAX)) |
#define FLT_RADIX 2 |
Definition at line 33 of file numeric.c.
Referenced by float_rationalize(), float_to_r(), Init_Numeric(), and ruby_strtod().
#define rb_intern | ( | str | ) | rb_intern_const(str) |
#define SQRT_LONG_MAX ((SIGNED_VALUE)1<<((SIZEOF_LONG*CHAR_BIT-1)/2)) |
Definition at line 2827 of file numeric.c.
References FIXNUM_P, rb_eTypeError, rb_raise(), rb_to_int(), T_BIGNUM, T_FLOAT, and TYPE.
Definition at line 148 of file numeric.c.
References id_coerce, and rb_funcall().
Referenced by do_coerce().
Definition at line 154 of file numeric.c.
References rb_eTypeError, rb_inspect(), rb_obj_classname(), rb_raise(), rb_special_const_p(), and RSTRING_PTR.
Referenced by do_coerce().
static VALUE dbl2ival | ( | double | d | ) | [static] |
Definition at line 827 of file numeric.c.
References FIXABLE, LONG2FIX, rb_dbl2big(), and round().
Referenced by fix_divmod(), and flo_divmod().
Definition at line 167 of file numeric.c.
References coerce_body(), coerce_rescue(), RARRAY_LEN, RARRAY_PTR, rb_eTypeError, rb_raise(), rb_rescue(), T_ARRAY, and TYPE.
Referenced by num_uminus(), rb_num_coerce_bin(), rb_num_coerce_cmp(), and rb_num_coerce_relop().
Definition at line 3037 of file numeric.c.
References FIX2LONG, and LONG2NUM.
Referenced by Init_Numeric().
Definition at line 2846 of file numeric.c.
References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, and rb_big_and().
Referenced by Init_Numeric().
Definition at line 2980 of file numeric.c.
References CHAR_BIT, FIX2LONG, FIXNUM_P, INT2FIX, rb_big_norm(), rb_to_int(), and RBIGNUM_SIGN.
Referenced by Init_Numeric().
Definition at line 2693 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, rb_big_cmp(), rb_dbl_cmp(), rb_int2big(), rb_intern, rb_num_coerce_cmp(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2419 of file numeric.c.
References DBL2NUM, FIX2LONG, fixdivmod(), FIXNUM_P, LONG2NUM, rb_big_div(), rb_dbl2big(), rb_int2big(), rb_num_coerce_bin(), rb_num_zerodiv(), rb_rational_reciprocal(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, T_RATIONAL, and TYPE.
Referenced by fix_div(), and fix_idiv().
Definition at line 2523 of file numeric.c.
References dbl2ival(), DBL2NUM, FIX2LONG, fixdivmod(), FIXNUM_P, flodivmod(), LONG2NUM, rb_assoc_new(), rb_big_divmod(), rb_int2big(), rb_intern, rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2668 of file numeric.c.
References FIX2LONG, FIXNUM_P, num_equal(), Qtrue, rb_big_eq(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 3284 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 2401 of file numeric.c.
References DBL2NUM, FIX2LONG, FIXNUM_P, rb_big_fdiv(), rb_int2big(), rb_intern, rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2744 of file numeric.c.
References FIX2INT, FIX2LONG, FIXNUM_P, Qtrue, rb_big_cmp(), rb_int2big(), rb_intern, rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2719 of file numeric.c.
References FIX2INT, FIX2LONG, FIXNUM_P, Qtrue, rb_big_cmp(), rb_int2big(), rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2477 of file numeric.c.
References fix_divide(), and rb_intern.
Referenced by Init_Numeric().
Definition at line 2794 of file numeric.c.
References FIX2INT, FIX2LONG, FIXNUM_P, Qtrue, rb_big_cmp(), rb_int2big(), rb_intern, rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
static VALUE fix_lshift | ( | long | val, | |
unsigned long | width | |||
) | [static] |
Definition at line 2920 of file numeric.c.
References CHAR_BIT, LONG2NUM, rb_big_lshift(), rb_int2big(), and ULONG2NUM().
Referenced by rb_fix_lshift(), and rb_fix_rshift().
Definition at line 2769 of file numeric.c.
References FIX2INT, FIX2LONG, FIXNUM_P, Qtrue, rb_big_cmp(), rb_int2big(), rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2276 of file numeric.c.
References DBL2NUM, FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_minus(), rb_int2big(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2492 of file numeric.c.
References DBL2NUM, FIX2LONG, fixdivmod(), FIXNUM_P, flodivmod(), LONG2NUM, rb_big_modulo(), rb_int2big(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2314 of file numeric.c.
References DBL2NUM, FIT_SQRT_LONG, FIX2LONG, FIXABLE, FIXNUM_P, LONG2FIX, rb_big_mul(), rb_int2big(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by flo_round(), and Init_Numeric().
Definition at line 3268 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 2865 of file numeric.c.
References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, and rb_big_or().
Referenced by Init_Numeric().
Definition at line 2243 of file numeric.c.
References DBL2NUM, FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_plus(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2600 of file numeric.c.
References DBL2NUM, FIX2LONG, FIXNUM_P, INFINITY, INT2FIX, int_even_p(), int_pow(), rb_big_pow(), rb_complex_raw1, rb_funcall(), rb_int2big(), rb_intern, rb_num_coerce_bin(), rb_rational_raw1, RFLOAT_VALUE, round(), T_BIGNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 2818 of file numeric.c.
References FIX2LONG, and LONG2NUM.
Referenced by Init_Numeric().
static VALUE fix_rshift | ( | long | val, | |
unsigned long | i | |||
) | [static] |
Definition at line 2953 of file numeric.c.
References CHAR_BIT, INT2FIX, and LONG2FIX.
Referenced by rb_fix_lshift(), and rb_fix_rshift().
Definition at line 2012 of file numeric.c.
References FIX2LONG, and LONG2NUM.
Referenced by Init_Numeric().
Definition at line 3015 of file numeric.c.
References DBL2NUM, and FIX2LONG.
Referenced by Init_Numeric().
Definition at line 2218 of file numeric.c.
References NUM2INT, rb_fix2str(), and rb_scan_args().
Referenced by Init_Numeric().
Definition at line 2168 of file numeric.c.
References FIX2LONG, and LONG2NUM.
Referenced by flo_round(), and Init_Numeric().
Definition at line 2884 of file numeric.c.
References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, and rb_big_xor().
Referenced by Init_Numeric().
static void fixdivmod | ( | long | x, | |
long | y, | |||
long * | divp, | |||
long * | modp | |||
) | [static] |
Definition at line 2360 of file numeric.c.
References rb_num_zerodiv().
Referenced by fix_divide(), fix_divmod(), and fix_mod().
Definition at line 1261 of file numeric.c.
References DBL2NUM, and RFLOAT_VALUE.
Referenced by Init_Numeric().
Definition at line 1394 of file numeric.c.
References FIXABLE, LONG2FIX, rb_dbl2big(), and RFLOAT_VALUE.
Referenced by Init_Numeric(), and num_ceil().
Definition at line 1021 of file numeric.c.
References FIX2LONG, INT2FIX, isinf(), isnan, rb_big2dbl(), rb_dbl_cmp(), rb_funcall(), rb_intern, rb_num_coerce_cmp(), rb_respond_to(), RFLOAT_VALUE, RTEST, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 636 of file numeric.c.
References rb_assoc_new(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 732 of file numeric.c.
References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 844 of file numeric.c.
References dbl2ival(), DBL2NUM, FIX2LONG, flodivmod(), rb_assoc_new(), rb_big2dbl(), rb_intern, rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 954 of file numeric.c.
References FIX2LONG, isnan, num_equal(), Qtrue, rb_big2dbl(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 1221 of file numeric.c.
References isnan, RFLOAT_VALUE, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 1368 of file numeric.c.
References FIXABLE, LONG2FIX, rb_dbl2big(), and RFLOAT_VALUE.
Referenced by Init_Numeric(), and num_floor().
Definition at line 1102 of file numeric.c.
References FIX2LONG, isnan, Qtrue, rb_big2dbl(), rb_intern, rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 1063 of file numeric.c.
References FIX2LONG, isnan, Qtrue, rb_big2dbl(), rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 989 of file numeric.c.
References LONG2FIX, rb_memhash(), and RFLOAT_VALUE.
Referenced by Init_Numeric().
Definition at line 1340 of file numeric.c.
References finite(), isinf(), isnan, and RFLOAT_VALUE.
Referenced by Init_Numeric().
Definition at line 1318 of file numeric.c.
References INT2FIX, isinf(), and RFLOAT_VALUE.
Referenced by Init_Numeric().
Definition at line 1298 of file numeric.c.
References isnan, Qtrue, and RFLOAT_VALUE.
Referenced by Init_Numeric().
Definition at line 1179 of file numeric.c.
References FIX2LONG, isnan, Qtrue, rb_big2dbl(), rb_intern, rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 1140 of file numeric.c.
References FIX2LONG, isnan, Qtrue, rb_big2dbl(), rb_num_coerce_relop(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 686 of file numeric.c.
References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 805 of file numeric.c.
References DBL2NUM, FIX2LONG, flodivmod(), rb_big2dbl(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 709 of file numeric.c.
References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 663 of file numeric.c.
References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 879 of file numeric.c.
References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_complex_raw1, rb_funcall(), rb_intern, rb_num_coerce_bin(), RFLOAT_VALUE, round(), T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by Init_Numeric().
Definition at line 1437 of file numeric.c.
References DBL2NUM, fix_mul(), fix_uminus(), FIXABLE, FIXNUM_P, INT2FIX, int_pow(), isinf(), LONG2FIX, NUM2INT, rb_big_idiv(), rb_big_mul(), rb_big_uminus(), rb_dbl2big(), rb_scan_args(), RFLOAT_VALUE, and round().
Referenced by Init_Numeric(), and num_round().
Definition at line 1243 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 563 of file numeric.c.
References buf, CHAR_BIT, DBL_DIG, DBL_MANT_DIG, isinf(), isnan, len, memmove(), rb_str_cat(), rb_str_catf(), rb_str_resize(), rb_usascii_str_new(), rb_usascii_str_new2(), rb_usascii_str_new_cstr(), RFLOAT_VALUE, RSTRING_LEN, RSTRING_PTR, ruby_dtoa(), and xfree().
Referenced by Init_Numeric().
Definition at line 1497 of file numeric.c.
References FIXABLE, LONG2FIX, rb_dbl2big(), and RFLOAT_VALUE.
Referenced by Init_Numeric(), and num_truncate().
Definition at line 649 of file numeric.c.
References DBL2NUM, and RFLOAT_VALUE.
Referenced by Init_Numeric().
static void flodivmod | ( | double | x, | |
double | y, | |||
double * | divp, | |||
double * | modp | |||
) | [static] |
Definition at line 765 of file numeric.c.
References isinf(), isnan, and rb_num_zerodiv().
Referenced by fix_divmod(), fix_mod(), flo_divmod(), and flo_mod().
void Init_Numeric | ( | void | ) |
Definition at line 3325 of file numeric.c.
References CLASS_OF, DBL2NUM, DBL_DIG, DBL_EPSILON, DBL_MANT_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, DBL_MIN, DBL_MIN_10_EXP, DBL_MIN_EXP, fix_abs(), fix_and(), fix_aref(), fix_cmp(), fix_div(), fix_divmod(), fix_equal(), fix_even_p(), fix_fdiv(), fix_ge(), fix_gt(), fix_idiv(), fix_le(), fix_lt(), fix_minus(), fix_mod(), fix_mul(), fix_odd_p(), fix_or(), fix_plus(), fix_pow(), fix_rev(), fix_size(), fix_succ(), fix_to_f(), fix_to_s(), fix_uminus(), fix_xor(), fix_zero_p(), flo_abs(), flo_ceil(), flo_cmp(), flo_coerce(), flo_div(), flo_divmod(), flo_eq(), flo_eql(), flo_floor(), flo_ge(), flo_gt(), flo_hash(), flo_is_finite_p(), flo_is_infinite_p(), flo_is_nan_p(), flo_le(), flo_lt(), flo_minus(), flo_mod(), flo_mul(), flo_plus(), flo_pow(), flo_quo(), flo_round(), flo_to_f(), flo_to_s(), flo_truncate(), flo_uminus(), flo_zero_p(), FLT_RADIX, id_coerce, id_eq, id_to_i, INFINITY, INT2FIX, int_chr(), int_dotimes(), int_downto(), int_even_p(), int_int_p(), int_odd_p(), int_ord(), int_pred(), int_round(), int_succ(), int_to_i(), int_upto(), NAN, num_abs(), num_ceil(), num_cmp(), num_coerce(), num_div(), num_divmod(), num_eql(), num_fdiv(), num_floor(), num_imaginary(), num_init_copy(), num_int_p(), num_modulo(), num_nonzero_p(), num_quo(), num_real_p(), num_remainder(), num_round(), num_sadded(), num_step(), num_to_int(), num_truncate(), num_uminus(), num_uplus(), num_zero_p(), rb_cFixnum, rb_cFloat, rb_cInteger, rb_cNumeric, rb_cObject, rb_define_class(), rb_define_const(), rb_define_method(), rb_eFloatDomainError, rb_eRangeError, rb_eStandardError, rb_eZeroDivError, rb_fix_lshift(), rb_fix_rshift(), rb_include_module(), rb_intern, rb_mComparable, rb_undef_alloc_func(), and rb_undef_method().
Definition at line 2085 of file numeric.c.
References NUM2UINT, rb_ascii8bit_encoding(), rb_default_internal_encoding(), rb_eArgError, rb_enc_uint_chr(), rb_eRangeError, rb_raise(), rb_str_new(), rb_to_encoding(), and rb_usascii_str_new().
Referenced by Init_Numeric().
Definition at line 3169 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, LONG2FIX, rb_funcall(), rb_yield(), RETURN_ENUMERATOR, and RTEST.
Referenced by Init_Numeric().
Definition at line 3126 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, LONG2FIX, NIL_P, rb_cmperr(), rb_funcall(), rb_yield(), and RETURN_ENUMERATOR.
Referenced by Init_Numeric().
Definition at line 1992 of file numeric.c.
References INT2FIX, and rb_funcall().
Referenced by fix_pow(), and Init_Numeric().
Definition at line 1963 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 1976 of file numeric.c.
References INT2FIX, and rb_funcall().
Referenced by Init_Numeric().
Definition at line 2135 of file numeric.c.
Referenced by Init_Numeric().
static VALUE int_pow | ( | long | x, | |
unsigned long | y | |||
) | [static] |
Definition at line 2552 of file numeric.c.
References FIT_SQRT_LONG, LONG2NUM, neg, POSFIXABLE, rb_big_mul(), rb_big_pow(), and rb_int2big().
Referenced by fix_pow(), flo_round(), and int_round().
Definition at line 2050 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, LONG2NUM, and rb_funcall().
Referenced by Init_Numeric().
Definition at line 3207 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, int_pow(), LONG2NUM, neg, NUM2INT, rb_eArgError, rb_Float(), rb_funcall(), rb_raise(), rb_scan_args(), RTEST, and SIGNED_VALUE.
Referenced by Init_Numeric().
Definition at line 2030 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, LONG2NUM, and rb_funcall().
Referenced by Init_Numeric().
Definition at line 1950 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 3084 of file numeric.c.
References FIX2LONG, FIXNUM_P, INT2FIX, LONG2FIX, NIL_P, rb_cmperr(), rb_funcall(), rb_yield(), and RETURN_ENUMERATOR.
Referenced by Init_Numeric().
Definition at line 471 of file numeric.c.
References INT2FIX, rb_funcall(), rb_intern, and RTEST.
Referenced by Init_Numeric().
Definition at line 1547 of file numeric.c.
References flo_ceil(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 138 of file numeric.c.
References CLASS_OF, rb_assoc_new(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 332 of file numeric.c.
References INT2FIX, rb_equal(), rb_funcall(), rb_intern, and rb_num_zerodiv().
Referenced by Init_Numeric(), and num_divmod().
Definition at line 425 of file numeric.c.
References num_div(), num_modulo(), and rb_assoc_new().
Referenced by Init_Numeric().
Definition at line 912 of file numeric.c.
References rb_equal(), and TYPE.
Referenced by Init_Numeric().
Definition at line 935 of file numeric.c.
References id_eq, and rb_funcall().
Referenced by fix_equal(), and flo_eq().
Definition at line 311 of file numeric.c.
References rb_Float(), and rb_funcall().
Referenced by Init_Numeric().
Definition at line 1525 of file numeric.c.
References flo_floor(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 265 of file numeric.c.
References INT2FIX, and rb_complex_new().
Referenced by Init_Numeric().
Definition at line 236 of file numeric.c.
References rb_eTypeError, rb_obj_classname(), and rb_raise().
Referenced by Init_Numeric().
Definition at line 453 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 352 of file numeric.c.
References rb_funcall(), and rb_intern.
Referenced by Init_Numeric(), and num_divmod().
Definition at line 510 of file numeric.c.
References rb_funcall(), rb_intern, and RTEST.
Referenced by Init_Numeric().
Definition at line 297 of file numeric.c.
References rb_funcall(), and rb_rational_raw1.
Referenced by Init_Numeric().
Definition at line 439 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 369 of file numeric.c.
References INT2FIX, rb_equal(), rb_funcall(), and RTEST.
Referenced by Init_Numeric().
Definition at line 1563 of file numeric.c.
References flo_round(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 221 of file numeric.c.
References rb_eTypeError, rb_id2name(), rb_obj_classname(), rb_raise(), rb_remove_method_id(), rb_singleton_class(), and rb_to_id().
Referenced by Init_Numeric().
Definition at line 1643 of file numeric.c.
References cmp, FALSE, FIX2LONG, FIXNUM_P, INT2FIX, LONG2FIX, rb_eArgError, rb_equal(), rb_funcall(), rb_raise(), rb_yield(), RETURN_ENUMERATOR, RTEST, and ruby_float_step().
Referenced by Init_Numeric().
Definition at line 527 of file numeric.c.
References id_to_i, and rb_funcall().
Referenced by Init_Numeric().
Definition at line 1578 of file numeric.c.
References flo_truncate(), and rb_Float().
Referenced by Init_Numeric().
Definition at line 279 of file numeric.c.
References do_coerce(), INT2FIX, rb_funcall(), and TRUE.
Referenced by Init_Numeric().
Definition at line 251 of file numeric.c.
Referenced by Init_Numeric().
Definition at line 488 of file numeric.c.
References INT2FIX, and rb_equal().
Referenced by Init_Numeric().
Definition at line 2734 of file bignum.c.
References big2dbl(), big_fdiv(), DBL2NUM, FIX2LONG, isinf(), isnan, rb_big2dbl(), rb_intern, rb_num_coerce_bin(), RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, and TYPE.
Referenced by fix_fdiv(), and Init_Bignum().
VALUE rb_dbl_cmp | ( | double | a, | |
double | b | |||
) |
VALUE rb_enc_uint_chr | ( | unsigned int | code, | |
rb_encoding * | enc | |||
) |
Definition at line 2060 of file numeric.c.
References rb_enc_codelen(), rb_enc_mbcput, rb_enc_str_new(), rb_eRangeError, rb_raise(), and RSTRING_PTR.
Referenced by int_chr(), and rb_io_ungetc().
Definition at line 2174 of file numeric.c.
References CHAR_BIT, FIX2LONG, neg, rb_eArgError, rb_raise(), rb_usascii_str_new2(), ruby_digitmap, and SIZEOF_VALUE.
Referenced by call_original_exit(), fix_to_s(), ole_typedesc2val(), and rb_big2str0().
Definition at line 2906 of file numeric.c.
References FIX2LONG, fix_lshift(), fix_rshift(), FIXNUM_P, NUM2LONG(), rb_big_lshift(), and rb_int2big().
Referenced by Init_Numeric().
Definition at line 2938 of file numeric.c.
References FIX2LONG, fix_lshift(), fix_rshift(), FIXNUM_P, rb_big_rshift(), and rb_int2big().
Referenced by Init_Numeric().
VALUE rb_float_new | ( | double | d | ) |
Definition at line 543 of file numeric.c.
References NEWOBJ, OBJSETUP, rb_cFloat, and T_FLOAT.
Referenced by BigDecimal_to_f(), callback(), generic_to_value(), mktime_do(), ole_variant2val(), random_rand(), tkstr_to_float(), and yaml_org_handler().
Definition at line 1860 of file numeric.c.
References FIXABLE, FIXNUM_P, LONG2FIX, PRIdVALUE, rb_eRangeError, rb_num2long(), and rb_raise().
long rb_num2int | ( | VALUE | val | ) |
Definition at line 1847 of file numeric.c.
References rb_num2long().
SIGNED_VALUE rb_num2long | ( | VALUE | val | ) |
Definition at line 1705 of file numeric.c.
References buf, FIX2LONG, FIXNUM_P, LONG_MAX, LONG_MIN, NIL_P, rb_big2long(), rb_eRangeError, rb_eTypeError, rb_raise(), rb_to_int(), RFLOAT_VALUE, SIGNED_VALUE, snprintf, strchr(), T_BIGNUM, T_FLOAT, and TYPE.
Referenced by rb_num2fix(), and rb_num2int().
Definition at line 1739 of file numeric.c.
References buf, FIX2LONG, FIXNUM_P, LONG_MAX, LONG_MIN, NIL_P, rb_big2ulong(), rb_eRangeError, rb_eTypeError, rb_raise(), rb_to_int(), RFLOAT_VALUE, snprintf, strchr(), T_BIGNUM, T_FLOAT, and TYPE.
Definition at line 188 of file numeric.c.
References do_coerce(), rb_funcall(), and TRUE.
Referenced by f_addsub(), f_divide(), fix_divide(), fix_divmod(), fix_fdiv(), fix_minus(), fix_mod(), fix_mul(), fix_plus(), fix_pow(), flo_div(), flo_divmod(), flo_minus(), flo_mod(), flo_mul(), flo_plus(), flo_pow(), nucomp_expt(), nucomp_mul(), nurat_add(), nurat_div(), nurat_expt(), nurat_mul(), nurat_sub(), rb_big_divide(), rb_big_divmod(), rb_big_fdiv(), rb_big_minus(), rb_big_modulo(), rb_big_mul(), rb_big_plus(), rb_big_pow(), and rb_big_remainder().
Definition at line 195 of file numeric.c.
References do_coerce(), FALSE, and rb_funcall().
Referenced by BigDecimalCmp(), fix_cmp(), flo_cmp(), nurat_cmp(), and rb_big_cmp().
Definition at line 203 of file numeric.c.
References do_coerce(), FALSE, NIL_P, rb_cmperr(), and rb_funcall().
Referenced by big_op(), BigDecimalCmp(), fix_ge(), fix_gt(), fix_le(), fix_lt(), flo_ge(), flo_gt(), flo_le(), and flo_lt().
void rb_num_zerodiv | ( | void | ) |
Definition at line 115 of file numeric.c.
References rb_eZeroDivError, and rb_raise().
Referenced by bigdivrem(), fix_divide(), fixdivmod(), flodivmod(), num_div(), quo(), wdivmod(), and wquo().
Definition at line 1594 of file rational.c.
References CLASS_OF, f_rational_new_no_reduce2(), and get_dat1.
Referenced by fix_divide().
double round | ( | double | x | ) |
Definition at line 84 of file numeric.c.
Referenced by dbl2ival(), fix_pow(), flo_pow(), flo_round(), and rb_big_pow().
Definition at line 1585 of file numeric.c.
References DBL2NUM, err, isinf(), NUM2DBL, rb_yield(), T_FLOAT, and TYPE.
Referenced by num_step(), and range_step().
Definition at line 104 of file numeric.c.
Referenced by coerce_body(), and Init_Numeric().
Definition at line 104 of file numeric.c.
Referenced by Init_Numeric(), and num_equal().
Definition at line 104 of file numeric.c.
Referenced by Init_Numeric(), and num_to_int().