Ruby  2.1.10p492(2016-04-01revision54464)
Macros | Functions | Variables
numeric.c File Reference
#include "ruby/ruby.h"
#include "ruby/encoding.h"
#include "ruby/util.h"
#include "internal.h"
#include "id.h"
#include <ctype.h>
#include <math.h>
#include <stdio.h>

Go to the source code of this file.

Macros

#define FLT_RADIX   2
 
#define FLT_ROUNDS   1
 
#define DBL_MIN   2.2250738585072014e-308
 
#define DBL_MAX   1.7976931348623157e+308
 
#define DBL_MIN_EXP   (-1021)
 
#define DBL_MAX_EXP   1024
 
#define DBL_MIN_10_EXP   (-307)
 
#define DBL_MAX_10_EXP   308
 
#define DBL_DIG   15
 
#define DBL_MANT_DIG   53
 
#define DBL_EPSILON   2.2204460492503131e-16
 
#define NUMERR_TYPE   1
 
#define NUMERR_NEGATIVE   2
 
#define NUMERR_TOOLARGE   3
 
#define method_basic_p(klass)   rb_method_basic_definition_p(klass, mid)
 
#define LONG_MIN_MINUS_ONE   ((double)LONG_MIN-1)
 
#define LONG_MAX_PLUS_ONE   (2*(double)(LONG_MAX/2+1))
 
#define ULONG_MAX_PLUS_ONE   (2*(double)(ULONG_MAX/2+1))
 
#define LONG_MIN_MINUS_ONE_IS_LESS_THAN(n)
 
#define int_succ   rb_int_succ
 
#define int_pred   rb_int_pred
 
#define SQRT_LONG_MAX   ((SIGNED_VALUE)1<<((SIZEOF_LONG*CHAR_BIT-1)/2))
 
#define FIT_SQRT_LONG(n)   (((n)<SQRT_LONG_MAX)&&((n)>=-SQRT_LONG_MAX))
 
#define rb_intern(str)   rb_intern_const(str)
 

Functions

double round (double x)
 
static VALUE fix_uminus (VALUE num)
 
static VALUE fix_mul (VALUE x, VALUE y)
 
static VALUE int_pow (long x, unsigned long y)
 
void rb_num_zerodiv (void)
 
int rb_num_to_uint (VALUE val, unsigned int *ret)
 
static int positive_int_p (VALUE num)
 
static int negative_int_p (VALUE num)
 
int rb_num_negative_p (VALUE num)
 
static VALUE num_coerce (VALUE x, VALUE y)
 
static VALUE coerce_body (VALUE *x)
 
 NORETURN (static void coerce_failed(VALUE x, VALUE y))
 
static void coerce_failed (VALUE x, VALUE y)
 
static VALUE coerce_rescue (VALUE *x)
 
static int do_coerce (VALUE *x, VALUE *y, int err)
 
VALUE rb_num_coerce_bin (VALUE x, VALUE y, ID func)
 
VALUE rb_num_coerce_cmp (VALUE x, VALUE y, ID func)
 
VALUE rb_num_coerce_relop (VALUE x, VALUE y, ID func)
 
static VALUE num_sadded (VALUE x, VALUE name)
 
static VALUE num_init_copy (VALUE x, VALUE y)
 
static VALUE num_uplus (VALUE num)
 
static VALUE num_imaginary (VALUE num)
 
static VALUE num_uminus (VALUE num)
 
static VALUE num_fdiv (VALUE x, VALUE y)
 
static VALUE num_div (VALUE x, VALUE y)
 
static VALUE num_modulo (VALUE x, VALUE y)
 
static VALUE num_remainder (VALUE x, VALUE y)
 
static VALUE num_divmod (VALUE x, VALUE y)
 
static VALUE num_real_p (VALUE num)
 
static VALUE num_int_p (VALUE num)
 
static VALUE num_abs (VALUE num)
 
static VALUE num_zero_p (VALUE num)
 
static VALUE num_nonzero_p (VALUE num)
 
static VALUE num_to_int (VALUE num)
 
VALUE rb_float_new_in_heap (double d)
 
static VALUE flo_to_s (VALUE flt)
 
static VALUE flo_coerce (VALUE x, VALUE y)
 
static VALUE flo_uminus (VALUE flt)
 
static VALUE flo_plus (VALUE x, VALUE y)
 
static VALUE flo_minus (VALUE x, VALUE y)
 
static VALUE flo_mul (VALUE x, VALUE y)
 
static VALUE flo_div (VALUE x, VALUE y)
 
static VALUE flo_quo (VALUE x, VALUE y)
 
static void flodivmod (double x, double y, double *divp, double *modp)
 
double ruby_float_mod (double x, double y)
 
static VALUE flo_mod (VALUE x, VALUE y)
 
static VALUE dbl2ival (double d)
 
static VALUE flo_divmod (VALUE x, VALUE y)
 
static VALUE flo_pow (VALUE x, VALUE y)
 
static VALUE num_eql (VALUE x, VALUE y)
 
static VALUE num_cmp (VALUE x, VALUE y)
 
static VALUE num_equal (VALUE x, VALUE y)
 
static VALUE flo_eq (VALUE x, VALUE y)
 
static VALUE flo_hash (VALUE num)
 
VALUE rb_dbl_hash (double d)
 
VALUE rb_dbl_cmp (double a, double b)
 
static VALUE flo_cmp (VALUE x, VALUE y)
 
static VALUE flo_gt (VALUE x, VALUE y)
 
static VALUE flo_ge (VALUE x, VALUE y)
 
static VALUE flo_lt (VALUE x, VALUE y)
 
static VALUE flo_le (VALUE x, VALUE y)
 
static VALUE flo_eql (VALUE x, VALUE y)
 
static VALUE flo_to_f (VALUE num)
 
static VALUE flo_abs (VALUE flt)
 
static VALUE flo_zero_p (VALUE num)
 
static VALUE flo_is_nan_p (VALUE num)
 
static VALUE flo_is_infinite_p (VALUE num)
 
static VALUE flo_is_finite_p (VALUE num)
 
static VALUE flo_floor (VALUE num)
 
static VALUE flo_ceil (VALUE num)
 
static VALUE int_round_0 (VALUE num, int ndigits)
 
static VALUE flo_truncate (VALUE num)
 
static VALUE flo_round (int argc, VALUE *argv, VALUE num)
 
static VALUE num_floor (VALUE num)
 
static VALUE num_ceil (VALUE num)
 
static VALUE num_round (int argc, VALUE *argv, VALUE num)
 
static VALUE num_truncate (VALUE num)
 
static double ruby_float_step_size (double beg, double end, double unit, int excl)
 
int ruby_float_step (VALUE from, VALUE to, VALUE step, int excl)
 
VALUE ruby_num_interval_step_size (VALUE from, VALUE to, VALUE step, int excl)
 
static int num_step_scan_args (int argc, const VALUE *argv, VALUE *to, VALUE *step)
 
static VALUE num_step_size (VALUE from, VALUE args, VALUE eobj)
 
static VALUE num_step (int argc, VALUE *argv, VALUE from)
 
SIGNED_VALUE rb_num2long (VALUE val)
 
static unsigned long rb_num2ulong_internal (VALUE val, int *wrap_p)
 
VALUE rb_num2ulong (VALUE val)
 
long rb_num2int (VALUE val)
 
long rb_fix2int (VALUE val)
 
void rb_out_of_short (SIGNED_VALUE num)
 
static void check_short (long num)
 
static void check_ushort (unsigned long num, int sign)
 
short rb_num2short (VALUE val)
 
short rb_fix2short (VALUE val)
 
unsigned short rb_num2ushort (VALUE val)
 
unsigned short rb_fix2ushort (VALUE val)
 
VALUE rb_num2fix (VALUE val)
 
static VALUE int_to_i (VALUE num)
 
static VALUE int_int_p (VALUE num)
 
static VALUE int_odd_p (VALUE num)
 
static VALUE int_even_p (VALUE num)
 
static VALUE fix_succ (VALUE num)
 
VALUE rb_int_succ (VALUE num)
 
VALUE rb_int_pred (VALUE num)
 
VALUE rb_enc_uint_chr (unsigned int code, rb_encoding *enc)
 
static VALUE int_chr (int argc, VALUE *argv, VALUE num)
 
static VALUE int_ord (VALUE num)
 
VALUE rb_fix2str (VALUE x, int base)
 
static VALUE fix_to_s (int argc, VALUE *argv, VALUE x)
 
static VALUE fix_plus (VALUE x, VALUE y)
 
static VALUE fix_minus (VALUE x, VALUE y)
 
static void fixdivmod (long x, long y, long *divp, long *modp)
 
static VALUE fix_fdiv (VALUE x, VALUE y)
 
static VALUE fix_divide (VALUE x, VALUE y, ID op)
 
static VALUE fix_div (VALUE x, VALUE y)
 
static VALUE fix_idiv (VALUE x, VALUE y)
 
static VALUE fix_mod (VALUE x, VALUE y)
 
static VALUE fix_divmod (VALUE x, VALUE y)
 
VALUE rb_int_positive_pow (long x, unsigned long y)
 
static VALUE fix_pow (VALUE x, VALUE y)
 
static VALUE fix_equal (VALUE x, VALUE y)
 
static VALUE fix_cmp (VALUE x, VALUE y)
 
static VALUE fix_gt (VALUE x, VALUE y)
 
static VALUE fix_ge (VALUE x, VALUE y)
 
static VALUE fix_lt (VALUE x, VALUE y)
 
static VALUE fix_le (VALUE x, VALUE y)
 
static VALUE fix_rev (VALUE num)
 
static int bit_coerce (VALUE *x, VALUE *y, int err)
 
VALUE rb_num_coerce_bit (VALUE x, VALUE y, ID func)
 
static VALUE fix_and (VALUE x, VALUE y)
 
static VALUE fix_or (VALUE x, VALUE y)
 
static VALUE fix_xor (VALUE x, VALUE y)
 
static VALUE fix_lshift (long, unsigned long)
 
static VALUE fix_rshift (long, unsigned long)
 
static VALUE rb_fix_lshift (VALUE x, VALUE y)
 
static VALUE rb_fix_rshift (VALUE x, VALUE y)
 
static VALUE fix_aref (VALUE fix, VALUE idx)
 
static VALUE fix_to_f (VALUE num)
 
static VALUE fix_abs (VALUE fix)
 
static VALUE fix_size (VALUE fix)
 
static VALUE rb_fix_bit_length (VALUE fix)
 
static VALUE int_upto_size (VALUE from, VALUE args, VALUE eobj)
 
static VALUE int_upto (VALUE from, VALUE to)
 
static VALUE int_downto_size (VALUE from, VALUE args, VALUE eobj)
 
static VALUE int_downto (VALUE from, VALUE to)
 
static VALUE int_dotimes_size (VALUE num, VALUE args, VALUE eobj)
 
static VALUE int_dotimes (VALUE num)
 
static VALUE int_round (int argc, VALUE *argv, VALUE num)
 
static VALUE fix_zero_p (VALUE num)
 
static VALUE fix_odd_p (VALUE num)
 
static VALUE fix_even_p (VALUE num)
 
void Init_Numeric (void)
 
double rb_float_value (VALUE v)
 
VALUE rb_float_new (double d)
 

Variables

const union bytesequence4_or_float rb_infinity = {{0x00, 0x00, 0x80, 0x7f}}
 
const union bytesequence4_or_float rb_nan = {{0x00, 0x00, 0xc0, 0x7f}}
 
static ID id_coerce
 
static ID id_to_i
 
static ID id_eq
 
static ID id_div
 
static ID id_cmp
 
VALUE rb_cNumeric
 
VALUE rb_cFloat
 
VALUE rb_cInteger
 
VALUE rb_cFixnum
 
VALUE rb_eZeroDivError
 
VALUE rb_eFloatDomainError
 
static ID id_to
 
static ID id_by
 

Macro Definition Documentation

◆ DBL_DIG

#define DBL_DIG   15

◆ DBL_EPSILON

#define DBL_EPSILON   2.2204460492503131e-16

Definition at line 73 of file numeric.c.

Referenced by Init_Numeric(), and ruby_float_step_size().

◆ DBL_MANT_DIG

#define DBL_MANT_DIG   53

Definition at line 70 of file numeric.c.

Referenced by flo_to_s(), and Init_Numeric().

◆ DBL_MAX

#define DBL_MAX   1.7976931348623157e+308

Definition at line 52 of file numeric.c.

Referenced by Init_Numeric().

◆ DBL_MAX_10_EXP

#define DBL_MAX_10_EXP   308

Definition at line 64 of file numeric.c.

Referenced by BigDecimal_to_f(), Init_Numeric(), and ruby_strtod().

◆ DBL_MAX_EXP

#define DBL_MAX_EXP   1024

Definition at line 58 of file numeric.c.

Referenced by big2dbl(), Init_Numeric(), math_log(), math_log10(), math_log2(), ruby_hdtoa(), and ruby_strtod().

◆ DBL_MIN

#define DBL_MIN   2.2250738585072014e-308

Definition at line 49 of file numeric.c.

Referenced by Init_Numeric().

◆ DBL_MIN_10_EXP

#define DBL_MIN_10_EXP   (-307)

Definition at line 61 of file numeric.c.

Referenced by BigDecimal_to_f(), and Init_Numeric().

◆ DBL_MIN_EXP

#define DBL_MIN_EXP   (-1021)

Definition at line 55 of file numeric.c.

Referenced by Init_Numeric().

◆ FIT_SQRT_LONG

#define FIT_SQRT_LONG (   n)    (((n)<SQRT_LONG_MAX)&&((n)>=-SQRT_LONG_MAX))

Definition at line 2781 of file numeric.c.

Referenced by int_pow().

◆ FLT_RADIX

#define FLT_RADIX   2

Definition at line 43 of file numeric.c.

Referenced by float_to_r(), Init_Numeric(), rb_flt_rationalize(), and ruby_strtod().

◆ FLT_ROUNDS

#define FLT_ROUNDS   1

Definition at line 46 of file numeric.c.

Referenced by Init_Numeric().

◆ int_pred

#define int_pred   rb_int_pred

Definition at line 2520 of file numeric.c.

Referenced by Init_Numeric().

◆ int_succ

#define int_succ   rb_int_succ

Definition at line 2495 of file numeric.c.

Referenced by Init_Numeric().

◆ LONG_MAX_PLUS_ONE

#define LONG_MAX_PLUS_ONE   (2*(double)(LONG_MAX/2+1))

Definition at line 2030 of file numeric.c.

Referenced by rb_num2long().

◆ LONG_MIN_MINUS_ONE

#define LONG_MIN_MINUS_ONE   ((double)LONG_MIN-1)

Definition at line 2029 of file numeric.c.

◆ LONG_MIN_MINUS_ONE_IS_LESS_THAN

#define LONG_MIN_MINUS_ONE_IS_LESS_THAN (   n)
Value:
LONG_MIN <= (n): \
LONG_MIN_MINUS_ONE < (n))
#define LONG_MIN
Definition: ruby.h:195
#define LONG_MIN_MINUS_ONE
Definition: numeric.c:2029

Definition at line 2032 of file numeric.c.

Referenced by rb_num2long(), and rb_num2ulong_internal().

◆ method_basic_p

#define method_basic_p (   klass)    rb_method_basic_definition_p(klass, mid)

Definition at line 162 of file numeric.c.

Referenced by negative_int_p(), and positive_int_p().

◆ NUMERR_NEGATIVE

#define NUMERR_NEGATIVE   2

Referenced by rb_num_to_uint().

◆ NUMERR_TOOLARGE

#define NUMERR_TOOLARGE   3

Referenced by rb_num_to_uint().

◆ NUMERR_TYPE

#define NUMERR_TYPE   1

Referenced by rb_num_to_uint().

◆ rb_intern

#define rb_intern (   str)    rb_intern_const(str)

◆ SQRT_LONG_MAX

#define SQRT_LONG_MAX   ((SIGNED_VALUE)1<<((SIZEOF_LONG*CHAR_BIT-1)/2))

Definition at line 2779 of file numeric.c.

◆ ULONG_MAX_PLUS_ONE

#define ULONG_MAX_PLUS_ONE   (2*(double)(ULONG_MAX/2+1))

Definition at line 2031 of file numeric.c.

Referenced by rb_num2ulong_internal().

Function Documentation

◆ bit_coerce()

static int bit_coerce ( VALUE x,
VALUE y,
int  err 
)
static

Definition at line 3304 of file numeric.c.

References coerce_failed(), do_coerce(), err, FALSE, FIXNUM_P, RB_TYPE_P, T_BIGNUM, and TRUE.

Referenced by fix_and(), fix_or(), fix_xor(), and rb_num_coerce_bit().

◆ check_short()

static void check_short ( long  num)
static

Definition at line 2217 of file numeric.c.

References rb_out_of_short().

Referenced by rb_fix2short(), and rb_num2short().

◆ check_ushort()

static void check_ushort ( unsigned long  num,
int  sign 
)
static

Definition at line 2225 of file numeric.c.

References rb_eRangeError, and rb_raise().

Referenced by rb_fix2ushort(), and rb_num2ushort().

◆ coerce_body()

static VALUE coerce_body ( VALUE x)
static

Definition at line 230 of file numeric.c.

References id_coerce, and rb_funcall().

Referenced by do_coerce().

◆ coerce_failed()

static void coerce_failed ( VALUE  x,
VALUE  y 
)
static

◆ coerce_rescue()

static VALUE coerce_rescue ( VALUE x)
static

Definition at line 250 of file numeric.c.

References coerce_failed(), and Qnil.

Referenced by do_coerce().

◆ dbl2ival()

static VALUE dbl2ival ( double  d)
static

Definition at line 952 of file numeric.c.

References FIXABLE, LONG2FIX, rb_dbl2big(), and round().

Referenced by fix_divmod(), flo_divmod(), and flo_round().

◆ do_coerce()

static int do_coerce ( VALUE x,
VALUE y,
int  err 
)
static

◆ fix_abs()

static VALUE fix_abs ( VALUE  fix)
static

Definition at line 3534 of file numeric.c.

References FIX2LONG, and LONG2NUM.

Referenced by Init_Numeric().

◆ fix_and()

static VALUE fix_and ( VALUE  x,
VALUE  y 
)
static

Definition at line 3333 of file numeric.c.

References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_and(), rb_funcall(), rb_intern, RB_TYPE_P, T_BIGNUM, TRUE, and val.

Referenced by Init_Numeric().

◆ fix_aref()

static VALUE fix_aref ( VALUE  fix,
VALUE  idx 
)
static

Definition at line 3477 of file numeric.c.

References CHAR_BIT, FIX2LONG, FIXNUM_P, INT2FIX, rb_big_norm(), rb_to_int(), RBIGNUM_SIGN, and val.

Referenced by Init_Numeric().

◆ fix_cmp()

static VALUE fix_cmp ( VALUE  x,
VALUE  y 
)
static

◆ fix_div()

static VALUE fix_div ( VALUE  x,
VALUE  y 
)
static

Definition at line 2934 of file numeric.c.

References fix_divide().

Referenced by Init_Numeric().

◆ fix_divide()

static VALUE fix_divide ( VALUE  x,
VALUE  y,
ID  op 
)
static

◆ fix_divmod()

static VALUE fix_divmod ( VALUE  x,
VALUE  y 
)
static

◆ fix_equal()

static VALUE fix_equal ( VALUE  x,
VALUE  y 
)
static

Definition at line 3140 of file numeric.c.

References FIXNUM_P, num_equal(), Qfalse, Qtrue, rb_big_eq(), rb_integer_float_eq(), RB_TYPE_P, T_BIGNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ fix_even_p()

static VALUE fix_even_p ( VALUE  num)
static

Definition at line 3818 of file numeric.c.

References Qfalse, and Qtrue.

Referenced by Init_Numeric().

◆ fix_fdiv()

static VALUE fix_fdiv ( VALUE  x,
VALUE  y 
)
static

◆ fix_ge()

static VALUE fix_ge ( VALUE  x,
VALUE  y 
)
static

◆ fix_gt()

static VALUE fix_gt ( VALUE  x,
VALUE  y 
)
static

◆ fix_idiv()

static VALUE fix_idiv ( VALUE  x,
VALUE  y 
)
static

Definition at line 2948 of file numeric.c.

References fix_divide(), and rb_intern.

Referenced by Init_Numeric().

◆ fix_le()

static VALUE fix_le ( VALUE  x,
VALUE  y 
)
static

◆ fix_lshift()

static VALUE fix_lshift ( long  val,
unsigned long  width 
)
static

Definition at line 3419 of file numeric.c.

References CHAR_BIT, LONG2NUM, rb_big_lshift(), rb_int2big(), ULONG2NUM, and val.

Referenced by rb_fix_lshift(), and rb_fix_rshift().

◆ fix_lt()

static VALUE fix_lt ( VALUE  x,
VALUE  y 
)
static

◆ fix_minus()

static VALUE fix_minus ( VALUE  x,
VALUE  y 
)
static

◆ fix_mod()

static VALUE fix_mod ( VALUE  x,
VALUE  y 
)
static

◆ fix_mul()

static VALUE fix_mul ( VALUE  x,
VALUE  y 
)
static

◆ fix_odd_p()

static VALUE fix_odd_p ( VALUE  num)
static

Definition at line 3802 of file numeric.c.

References Qfalse, and Qtrue.

Referenced by Init_Numeric().

◆ fix_or()

static VALUE fix_or ( VALUE  x,
VALUE  y 
)
static

Definition at line 3356 of file numeric.c.

References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_or(), rb_funcall(), rb_intern, RB_TYPE_P, T_BIGNUM, TRUE, and val.

Referenced by Init_Numeric().

◆ fix_plus()

static VALUE fix_plus ( VALUE  x,
VALUE  y 
)
static

◆ fix_pow()

static VALUE fix_pow ( VALUE  x,
VALUE  y 
)
static

◆ fix_rev()

static VALUE fix_rev ( VALUE  num)
static

Definition at line 3298 of file numeric.c.

References FIXNUM_FLAG.

Referenced by Init_Numeric().

◆ fix_rshift()

static VALUE fix_rshift ( long  val,
unsigned long  i 
)
static

Definition at line 3452 of file numeric.c.

References CHAR_BIT, INT2FIX, LONG2FIX, and val.

Referenced by rb_fix_lshift(), and rb_fix_rshift().

◆ fix_size()

static VALUE fix_size ( VALUE  fix)
static

Definition at line 3557 of file numeric.c.

References INT2FIX.

Referenced by Init_Numeric().

◆ fix_succ()

static VALUE fix_succ ( VALUE  num)
static

Definition at line 2465 of file numeric.c.

References FIX2LONG, and LONG2NUM.

Referenced by Init_Numeric().

◆ fix_to_f()

static VALUE fix_to_f ( VALUE  num)
static

Definition at line 3512 of file numeric.c.

References DBL2NUM, FIX2LONG, and val.

Referenced by Init_Numeric().

◆ fix_to_s()

static VALUE fix_to_s ( int  argc,
VALUE argv,
VALUE  x 
)
static

Definition at line 2697 of file numeric.c.

References argc, argv, NUM2INT, rb_fix2str(), and rb_scan_args().

Referenced by Init_Numeric().

◆ fix_uminus()

static VALUE fix_uminus ( VALUE  num)
static

Definition at line 2647 of file numeric.c.

References FIX2LONG, and LONG2NUM.

Referenced by Init_Numeric().

◆ fix_xor()

static VALUE fix_xor ( VALUE  x,
VALUE  y 
)
static

Definition at line 3379 of file numeric.c.

References bit_coerce(), FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_xor(), rb_funcall(), rb_intern, RB_TYPE_P, T_BIGNUM, TRUE, and val.

Referenced by Init_Numeric().

◆ fix_zero_p()

static VALUE fix_zero_p ( VALUE  num)
static

Definition at line 3786 of file numeric.c.

References FIX2LONG, Qfalse, and Qtrue.

Referenced by Init_Numeric().

◆ fixdivmod()

static void fixdivmod ( long  x,
long  y,
long *  divp,
long *  modp 
)
static

Definition at line 2835 of file numeric.c.

References div, mod, and rb_num_zerodiv().

Referenced by fix_divide(), fix_divmod(), and fix_mod().

◆ flo_abs()

static VALUE flo_abs ( VALUE  flt)
static

Definition at line 1389 of file numeric.c.

References DBL2NUM, RFLOAT_VALUE, and val.

Referenced by Init_Numeric().

◆ flo_ceil()

static VALUE flo_ceil ( VALUE  num)
static

Definition at line 1524 of file numeric.c.

References f, FIXABLE, LONG2FIX, rb_dbl2big(), RFLOAT_VALUE, and val.

Referenced by Init_Numeric(), and num_ceil().

◆ flo_cmp()

static VALUE flo_cmp ( VALUE  x,
VALUE  y 
)
static

◆ flo_coerce()

static VALUE flo_coerce ( VALUE  x,
VALUE  y 
)
static

Definition at line 743 of file numeric.c.

References rb_assoc_new(), and rb_Float().

Referenced by Init_Numeric().

◆ flo_div()

static VALUE flo_div ( VALUE  x,
VALUE  y 
)
static

Definition at line 841 of file numeric.c.

References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_divmod()

static VALUE flo_divmod ( VALUE  x,
VALUE  y 
)
static

◆ flo_eq()

static VALUE flo_eq ( VALUE  x,
VALUE  y 
)
static

Definition at line 1085 of file numeric.c.

References isnan, num_equal(), Qfalse, Qtrue, rb_integer_float_eq(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_eql()

static VALUE flo_eql ( VALUE  x,
VALUE  y 
)
static

Definition at line 1349 of file numeric.c.

References isnan, Qfalse, Qtrue, RB_TYPE_P, RFLOAT_VALUE, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_floor()

static VALUE flo_floor ( VALUE  num)
static

Definition at line 1499 of file numeric.c.

References f, FIXABLE, LONG2FIX, rb_dbl2big(), RFLOAT_VALUE, and val.

Referenced by Init_Numeric(), and num_floor().

◆ flo_ge()

static VALUE flo_ge ( VALUE  x,
VALUE  y 
)
static

◆ flo_gt()

static VALUE flo_gt ( VALUE  x,
VALUE  y 
)
static

◆ flo_hash()

static VALUE flo_hash ( VALUE  num)
static

Definition at line 1116 of file numeric.c.

References rb_dbl_hash(), and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flo_is_finite_p()

static VALUE flo_is_finite_p ( VALUE  num)
static

Definition at line 1471 of file numeric.c.

References isinf(), isnan, Qfalse, Qtrue, and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flo_is_infinite_p()

static VALUE flo_is_infinite_p ( VALUE  num)
static

Definition at line 1450 of file numeric.c.

References INT2FIX, isinf(), Qnil, and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flo_is_nan_p()

static VALUE flo_is_nan_p ( VALUE  num)
static

Definition at line 1425 of file numeric.c.

References isnan, Qfalse, Qtrue, and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flo_le()

static VALUE flo_le ( VALUE  x,
VALUE  y 
)
static

◆ flo_lt()

static VALUE flo_lt ( VALUE  x,
VALUE  y 
)
static

◆ flo_minus()

static VALUE flo_minus ( VALUE  x,
VALUE  y 
)
static

Definition at line 793 of file numeric.c.

References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_mod()

static VALUE flo_mod ( VALUE  x,
VALUE  y 
)
static

◆ flo_mul()

static VALUE flo_mul ( VALUE  x,
VALUE  y 
)
static

Definition at line 817 of file numeric.c.

References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_plus()

static VALUE flo_plus ( VALUE  x,
VALUE  y 
)
static

Definition at line 769 of file numeric.c.

References DBL2NUM, FIX2LONG, rb_big2dbl(), rb_num_coerce_bin(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, and T_FLOAT.

Referenced by Init_Numeric().

◆ flo_pow()

static VALUE flo_pow ( VALUE  x,
VALUE  y 
)
static

◆ flo_quo()

static VALUE flo_quo ( VALUE  x,
VALUE  y 
)
static

Definition at line 871 of file numeric.c.

References rb_funcall().

Referenced by Init_Numeric().

◆ flo_round()

static VALUE flo_round ( int  argc,
VALUE argv,
VALUE  num 
)
static

◆ flo_to_f()

static VALUE flo_to_f ( VALUE  num)
static

Definition at line 1371 of file numeric.c.

Referenced by Init_Numeric().

◆ flo_to_s()

static VALUE flo_to_s ( VALUE  flt)
static

◆ flo_truncate()

static VALUE flo_truncate ( VALUE  num)
static

Definition at line 1670 of file numeric.c.

References f, FIXABLE, LONG2FIX, rb_dbl2big(), RFLOAT_VALUE, and val.

Referenced by flo_round(), Init_Numeric(), and num_truncate().

◆ flo_uminus()

static VALUE flo_uminus ( VALUE  flt)
static

Definition at line 756 of file numeric.c.

References DBL2NUM, and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flo_zero_p()

static VALUE flo_zero_p ( VALUE  num)
static

Definition at line 1404 of file numeric.c.

References Qfalse, Qtrue, and RFLOAT_VALUE.

Referenced by Init_Numeric().

◆ flodivmod()

static void flodivmod ( double  x,
double  y,
double *  divp,
double *  modp 
)
static

Definition at line 877 of file numeric.c.

References div, isinf(), isnan, mod, and rb_num_zerodiv().

Referenced by fix_divmod(), flo_divmod(), and ruby_float_mod().

◆ Init_Numeric()

void Init_Numeric ( void  )

Definition at line 3855 of file numeric.c.

References CLASS_OF, DBL2NUM, DBL_DIG, DBL_EPSILON, DBL_MANT_DIG, DBL_MAX, 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, FLT_ROUNDS, id_by, id_cmp, id_coerce, id_div, id_eq, id_to, 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_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_alias(), rb_define_class(), rb_define_const(), rb_define_method(), rb_eFloatDomainError, rb_eRangeError, rb_eStandardError, rb_eZeroDivError, rb_fix_bit_length(), rb_fix_lshift(), rb_fix_rshift(), rb_include_module(), rb_intern, rb_mComparable, rb_undef_alloc_func(), and rb_undef_method().

◆ int_chr()

static VALUE int_chr ( int  argc,
VALUE argv,
VALUE  num 
)
static

◆ int_dotimes()

static VALUE int_dotimes ( VALUE  num)
static

◆ int_dotimes_size()

static VALUE int_dotimes_size ( VALUE  num,
VALUE  args,
VALUE  eobj 
)
static

Definition at line 3693 of file numeric.c.

References FIXNUM_P, INT2FIX, NUM2LONG, rb_funcall(), and RTEST.

Referenced by int_dotimes().

◆ int_downto()

static VALUE int_downto ( VALUE  from,
VALUE  to 
)
static

◆ int_downto_size()

static VALUE int_downto_size ( VALUE  from,
VALUE  args,
VALUE  eobj 
)
static

Definition at line 3648 of file numeric.c.

References FALSE, INT2FIX, RARRAY_AREF, and ruby_num_interval_step_size().

Referenced by int_downto().

◆ int_even_p()

static VALUE int_even_p ( VALUE  num)
static

Definition at line 2445 of file numeric.c.

References INT2FIX, Qfalse, Qtrue, and rb_funcall().

Referenced by fix_pow(), and Init_Numeric().

◆ int_int_p()

static VALUE int_int_p ( VALUE  num)
static

Definition at line 2416 of file numeric.c.

References Qtrue.

Referenced by Init_Numeric().

◆ int_odd_p()

static VALUE int_odd_p ( VALUE  num)
static

Definition at line 2429 of file numeric.c.

References INT2FIX, Qfalse, Qtrue, and rb_funcall().

Referenced by Init_Numeric().

◆ int_ord()

static VALUE int_ord ( VALUE  num)
static

Definition at line 2615 of file numeric.c.

Referenced by Init_Numeric().

◆ int_pow()

static VALUE int_pow ( long  x,
unsigned long  y 
)
static

◆ int_round()

static VALUE int_round ( int  argc,
VALUE argv,
VALUE  num 
)
static

Definition at line 3760 of file numeric.c.

References argc, argv, int_round_0(), NUM2INT, rb_Float(), and rb_scan_args().

Referenced by Init_Numeric().

◆ int_round_0()

static VALUE int_round_0 ( VALUE  num,
int  ndigits 
)
static

◆ int_to_i()

static VALUE int_to_i ( VALUE  num)
static

Definition at line 2403 of file numeric.c.

Referenced by Init_Numeric().

◆ int_upto()

static VALUE int_upto ( VALUE  from,
VALUE  to 
)
static

◆ int_upto_size()

static VALUE int_upto_size ( VALUE  from,
VALUE  args,
VALUE  eobj 
)
static

Definition at line 3602 of file numeric.c.

References FALSE, INT2FIX, RARRAY_AREF, and ruby_num_interval_step_size().

Referenced by int_upto().

◆ negative_int_p()

static int negative_int_p ( VALUE  num)
inlinestatic

◆ NORETURN()

NORETURN ( static void   coerce_failedVALUE x, VALUE y)

◆ num_abs()

static VALUE num_abs ( VALUE  num)
static

Definition at line 560 of file numeric.c.

References negative_int_p(), rb_funcall(), and rb_intern.

Referenced by Init_Numeric().

◆ num_ceil()

static VALUE num_ceil ( VALUE  num)
static

Definition at line 1722 of file numeric.c.

References flo_ceil(), and rb_Float().

Referenced by Init_Numeric().

◆ num_cmp()

static VALUE num_cmp ( VALUE  x,
VALUE  y 
)
static

Definition at line 1057 of file numeric.c.

References INT2FIX, and Qnil.

Referenced by Init_Numeric().

◆ num_coerce()

static VALUE num_coerce ( VALUE  x,
VALUE  y 
)
static

Definition at line 220 of file numeric.c.

References CLASS_OF, rb_assoc_new(), and rb_Float().

Referenced by Init_Numeric().

◆ num_div()

static VALUE num_div ( VALUE  x,
VALUE  y 
)
static

Definition at line 418 of file numeric.c.

References INT2FIX, rb_equal(), rb_funcall(), rb_intern, and rb_num_zerodiv().

Referenced by Init_Numeric(), and num_divmod().

◆ num_divmod()

static VALUE num_divmod ( VALUE  x,
VALUE  y 
)
static

Definition at line 511 of file numeric.c.

References num_div(), num_modulo(), and rb_assoc_new().

Referenced by Init_Numeric().

◆ num_eql()

static VALUE num_eql ( VALUE  x,
VALUE  y 
)
static

Definition at line 1041 of file numeric.c.

References Qfalse, rb_equal(), and TYPE.

Referenced by Init_Numeric().

◆ num_equal()

static VALUE num_equal ( VALUE  x,
VALUE  y 
)
static

Definition at line 1064 of file numeric.c.

References id_eq, Qtrue, and rb_funcall().

Referenced by fix_equal(), and flo_eq().

◆ num_fdiv()

static VALUE num_fdiv ( VALUE  x,
VALUE  y 
)
static

Definition at line 399 of file numeric.c.

References rb_Float(), and rb_funcall().

Referenced by Init_Numeric().

◆ num_floor()

static VALUE num_floor ( VALUE  num)
static

Definition at line 1699 of file numeric.c.

References flo_floor(), and rb_Float().

Referenced by Init_Numeric().

◆ num_imaginary()

static VALUE num_imaginary ( VALUE  num)
static

Definition at line 367 of file numeric.c.

References INT2FIX, and rb_complex_new().

Referenced by Init_Numeric().

◆ num_init_copy()

static VALUE num_init_copy ( VALUE  x,
VALUE  y 
)
static

Definition at line 338 of file numeric.c.

References rb_eTypeError, rb_obj_classname(), rb_raise(), and UNREACHABLE.

Referenced by Init_Numeric().

◆ num_int_p()

static VALUE num_int_p ( VALUE  num)
static

Definition at line 540 of file numeric.c.

References Qfalse.

Referenced by Init_Numeric().

◆ num_modulo()

static VALUE num_modulo ( VALUE  x,
VALUE  y 
)
static

Definition at line 437 of file numeric.c.

References rb_funcall(), and rb_intern.

Referenced by Init_Numeric(), and num_divmod().

◆ num_nonzero_p()

static VALUE num_nonzero_p ( VALUE  num)
static

Definition at line 600 of file numeric.c.

References Qnil, rb_funcall(), rb_intern, and RTEST.

Referenced by Init_Numeric().

◆ num_real_p()

static VALUE num_real_p ( VALUE  num)
static

Definition at line 524 of file numeric.c.

References Qtrue.

Referenced by Init_Numeric().

◆ num_remainder()

static VALUE num_remainder ( VALUE  x,
VALUE  y 
)
static

Definition at line 454 of file numeric.c.

References INT2FIX, negative_int_p(), positive_int_p(), rb_equal(), and rb_funcall().

Referenced by Init_Numeric().

◆ num_round()

static VALUE num_round ( int  argc,
VALUE argv,
VALUE  num 
)
static

Definition at line 1741 of file numeric.c.

References argc, argv, flo_round(), and rb_Float().

Referenced by Init_Numeric().

◆ num_sadded()

static VALUE num_sadded ( VALUE  x,
VALUE  name 
)
static

◆ num_step()

static VALUE num_step ( int  argc,
VALUE argv,
VALUE  from 
)
static

◆ num_step_scan_args()

static int num_step_scan_args ( int  argc,
const VALUE argv,
VALUE to,
VALUE step 
)
static

◆ num_step_size()

static VALUE num_step_size ( VALUE  from,
VALUE  args,
VALUE  eobj 
)
static

Definition at line 1909 of file numeric.c.

References argc, argv, FALSE, num_step_scan_args(), RARRAY_LENINT, RARRAY_PTR, and ruby_num_interval_step_size().

Referenced by num_step().

◆ num_to_int()

static VALUE num_to_int ( VALUE  num)
static

Definition at line 620 of file numeric.c.

References id_to_i, and rb_funcall().

Referenced by Init_Numeric().

◆ num_truncate()

static VALUE num_truncate ( VALUE  num)
static

Definition at line 1757 of file numeric.c.

References flo_truncate(), and rb_Float().

Referenced by Init_Numeric().

◆ num_uminus()

static VALUE num_uminus ( VALUE  num)
static

Definition at line 381 of file numeric.c.

References do_coerce(), INT2FIX, rb_funcall(), TRUE, and zero().

Referenced by Init_Numeric().

◆ num_uplus()

static VALUE num_uplus ( VALUE  num)
static

Definition at line 353 of file numeric.c.

Referenced by Init_Numeric().

◆ num_zero_p()

static VALUE num_zero_p ( VALUE  num)
static

Definition at line 577 of file numeric.c.

References INT2FIX, Qfalse, Qtrue, and rb_equal().

Referenced by Init_Numeric().

◆ positive_int_p()

static int positive_int_p ( VALUE  num)
inlinestatic

◆ rb_dbl_cmp()

VALUE rb_dbl_cmp ( double  a,
double  b 
)

Definition at line 1133 of file numeric.c.

References INT2FIX, isnan, and Qnil.

Referenced by flo_cmp().

◆ rb_dbl_hash()

VALUE rb_dbl_hash ( double  d)

Definition at line 1122 of file numeric.c.

References hash(), LONG2FIX, and rb_memhash().

Referenced by flo_hash(), and rb_any_hash().

◆ rb_enc_uint_chr()

VALUE rb_enc_uint_chr ( unsigned int  code,
rb_encoding enc 
)

◆ rb_fix2int()

long rb_fix2int ( VALUE  val)

Definition at line 2203 of file numeric.c.

References FIX2INT, and val.

◆ rb_fix2short()

short rb_fix2short ( VALUE  val)

Definition at line 2249 of file numeric.c.

References check_short(), FIX2LONG, FIXNUM_P, rb_num2long(), and val.

◆ rb_fix2str()

VALUE rb_fix2str ( VALUE  x,
int  base 
)

◆ rb_fix2ushort()

unsigned short rb_fix2ushort ( VALUE  val)

Definition at line 2268 of file numeric.c.

References check_ushort(), FIX2ULONG, FIXNUM_P, negative_int_p(), rb_num2ushort(), and val.

◆ rb_fix_bit_length()

static VALUE rb_fix_bit_length ( VALUE  fix)
static

Definition at line 3593 of file numeric.c.

References bit_length, FIX2LONG, and LONG2FIX.

Referenced by Init_Numeric().

◆ rb_fix_lshift()

static VALUE rb_fix_lshift ( VALUE  x,
VALUE  y 
)
static

Definition at line 3405 of file numeric.c.

References FIX2LONG, fix_lshift(), fix_rshift(), FIXNUM_P, NUM2LONG, rb_big_lshift(), rb_int2big(), and val.

Referenced by Init_Numeric().

◆ rb_fix_rshift()

static VALUE rb_fix_rshift ( VALUE  x,
VALUE  y 
)
static

Definition at line 3437 of file numeric.c.

References FIX2LONG, fix_lshift(), fix_rshift(), FIXNUM_P, rb_big_rshift(), rb_int2big(), and val.

Referenced by Init_Numeric().

◆ rb_float_new()

VALUE rb_float_new ( double  d)

Definition at line 4125 of file numeric.c.

References rb_float_new_inline().

◆ rb_float_new_in_heap()

VALUE rb_float_new_in_heap ( double  d)

Definition at line 642 of file numeric.c.

References FL_WB_PROTECTED, NEWOBJ_OF, OBJ_FREEZE, rb_cFloat, RGENGC_WB_PROTECTED_FLOAT, and T_FLOAT.

Referenced by rb_float_new_inline().

◆ rb_float_value()

double rb_float_value ( VALUE  v)

Definition at line 4118 of file numeric.c.

References rb_float_value_inline().

◆ rb_int_positive_pow()

VALUE rb_int_positive_pow ( long  x,
unsigned long  y 
)

Definition at line 3056 of file numeric.c.

References int_pow().

Referenced by parser_yylex().

◆ rb_int_pred()

VALUE rb_int_pred ( VALUE  num)

Definition at line 2508 of file numeric.c.

References FIX2LONG, FIXNUM_P, INT2FIX, LONG2NUM, rb_big_minus(), rb_funcall(), RB_TYPE_P, and T_BIGNUM.

◆ rb_int_succ()

VALUE rb_int_succ ( VALUE  num)

Definition at line 2483 of file numeric.c.

References FIX2LONG, FIXNUM_P, INT2FIX, LONG2NUM, rb_big_plus(), rb_funcall(), RB_TYPE_P, and T_BIGNUM.

Referenced by enumerator_with_index_i().

◆ rb_num2fix()

VALUE rb_num2fix ( VALUE  val)

Definition at line 2282 of file numeric.c.

References FIXABLE, FIXNUM_P, LONG2FIX, rb_eRangeError, rb_num2long(), rb_raise(), and val.

◆ rb_num2int()

long rb_num2int ( VALUE  val)

Definition at line 2197 of file numeric.c.

References rb_num2long(), and val.

◆ rb_num2long()

SIGNED_VALUE rb_num2long ( VALUE  val)

◆ rb_num2short()

short rb_num2short ( VALUE  val)

Definition at line 2240 of file numeric.c.

References check_short(), rb_num2long(), and val.

Referenced by rb_num2short_inline().

◆ rb_num2ulong()

VALUE rb_num2ulong ( VALUE  val)

Definition at line 2118 of file numeric.c.

References NULL, rb_num2ulong_internal(), and val.

Referenced by rb_num2ulong_inline().

◆ rb_num2ulong_internal()

static unsigned long rb_num2ulong_internal ( VALUE  val,
int *  wrap_p 
)
static

◆ rb_num2ushort()

unsigned short rb_num2ushort ( VALUE  val)

Definition at line 2258 of file numeric.c.

References check_ushort(), rb_num2ulong_internal(), and val.

Referenced by rb_fix2ushort().

◆ rb_num_coerce_bin()

VALUE rb_num_coerce_bin ( VALUE  x,
VALUE  y,
ID  func 
)

◆ rb_num_coerce_bit()

VALUE rb_num_coerce_bit ( VALUE  x,
VALUE  y,
ID  func 
)

Definition at line 3319 of file numeric.c.

References bit_coerce(), func, rb_funcall(), and TRUE.

Referenced by rb_big_and(), rb_big_or(), and rb_big_xor().

◆ rb_num_coerce_cmp()

VALUE rb_num_coerce_cmp ( VALUE  x,
VALUE  y,
ID  func 
)

◆ rb_num_coerce_relop()

VALUE rb_num_coerce_relop ( VALUE  x,
VALUE  y,
ID  func 
)

◆ rb_num_negative_p()

int rb_num_negative_p ( VALUE  num)

Definition at line 197 of file numeric.c.

References negative_int_p().

Referenced by rb_random_ulong_limited().

◆ rb_num_to_uint()

int rb_num_to_uint ( VALUE  val,
unsigned int *  ret 
)

◆ rb_num_zerodiv()

void rb_num_zerodiv ( void  )

◆ rb_out_of_short()

void rb_out_of_short ( SIGNED_VALUE  num)

Definition at line 2210 of file numeric.c.

References PRIdVALUE, rb_eRangeError, and rb_raise().

Referenced by check_short().

◆ round()

double round ( double  x)

◆ ruby_float_mod()

double ruby_float_mod ( double  x,
double  y 
)

Definition at line 912 of file numeric.c.

References flodivmod(), and mod.

Referenced by fix_mod(), and flo_mod().

◆ ruby_float_step()

int ruby_float_step ( VALUE  from,
VALUE  to,
VALUE  step,
int  excl 
)

Definition at line 1791 of file numeric.c.

References DBL2NUM, FALSE, isinf(), NUM2DBL, RB_TYPE_P, rb_yield(), ruby_float_step_size(), T_FLOAT, TRUE, and val.

Referenced by num_step(), and range_step().

◆ ruby_float_step_size()

static double ruby_float_step_size ( double  beg,
double  end,
double  unit,
int  excl 
)
static

Definition at line 1763 of file numeric.c.

References DBL_EPSILON, err, INFINITY, and isinf().

Referenced by ruby_float_step(), and ruby_num_interval_step_size().

◆ ruby_num_interval_step_size()

VALUE ruby_num_interval_step_size ( VALUE  from,
VALUE  to,
VALUE  step,
int  excl 
)

Variable Documentation

◆ id_by

ID id_by
static

Definition at line 122 of file numeric.c.

Referenced by Init_Numeric(), and num_step_scan_args().

◆ id_cmp

ID id_cmp
static

Definition at line 112 of file numeric.c.

Referenced by fix_cmp(), flo_cmp(), Init_Numeric(), and ruby_num_interval_step_size().

◆ id_coerce

ID id_coerce
static

Definition at line 112 of file numeric.c.

Referenced by coerce_body(), do_coerce(), and Init_Numeric().

◆ id_div

ID id_div
static

Definition at line 112 of file numeric.c.

Referenced by Init_Numeric(), and ruby_num_interval_step_size().

◆ id_eq

ID id_eq
static

Definition at line 112 of file numeric.c.

Referenced by Init_Numeric(), num_equal(), and num_step().

◆ id_to

ID id_to
static

Definition at line 122 of file numeric.c.

Referenced by Init_Numeric(), and num_step_scan_args().

◆ id_to_i

ID id_to_i
static

Definition at line 112 of file numeric.c.

Referenced by Init_Numeric(), and num_to_int().

◆ rb_cFixnum

VALUE rb_cFixnum

Definition at line 117 of file numeric.c.

Referenced by Init_Numeric(), negative_int_p(), and positive_int_p().

◆ rb_cFloat

VALUE rb_cFloat

Definition at line 115 of file numeric.c.

Referenced by Init_Numeric(), and rb_float_new_in_heap().

◆ rb_cInteger

VALUE rb_cInteger

Definition at line 116 of file numeric.c.

Referenced by Init_Numeric().

◆ rb_cNumeric

VALUE rb_cNumeric

Definition at line 114 of file numeric.c.

Referenced by Init_Numeric().

◆ rb_eFloatDomainError

VALUE rb_eFloatDomainError

Definition at line 120 of file numeric.c.

Referenced by Init_Numeric().

◆ rb_eZeroDivError

VALUE rb_eZeroDivError

Definition at line 119 of file numeric.c.

Referenced by Init_Numeric(), and rb_num_zerodiv().

◆ rb_infinity

const union bytesequence4_or_float rb_infinity = {{0x00, 0x00, 0x80, 0x7f}}

Definition at line 78 of file numeric.c.

◆ rb_nan

const union bytesequence4_or_float rb_nan = {{0x00, 0x00, 0xc0, 0x7f}}

Definition at line 85 of file numeric.c.