summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-13 16:00:53 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-13 16:00:53 +0000
commit25c0cb981af8fda9860ec6e365b9ea7a9e3f498f (patch)
treeb9b571a43d86bda67a18a05d95f0a437b5500b3b /bignum.c
parentc4af7f51b7c703cfdf4a84f633af6b892b5d14a8 (diff)
* include/ruby/ruby.h: introduce 2 macros:
RFLOAT_VALUE(v), DOUBLE2NUM(dbl). Rename RFloat#value -> RFloat#double_value. Do not touch RFloat#double_value directly. * bignum.c, insns.def, marshal.c, math.c, numeric.c, object.c, pack.c, parse.y, process.c, random.c, sprintf.c, string.c, time.c: apply above changes. * ext/dl/mkcallback.rb, ext/json/ext/generator/generator.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/bignum.c b/bignum.c
index 653ad8216d..138922c417 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1147,7 +1147,7 @@ rb_big2dbl(VALUE x)
static VALUE
rb_big_to_f(VALUE x)
{
- return rb_float_new(rb_big2dbl(x));
+ return DOUBLE2NUM(rb_big2dbl(x));
}
/*
@@ -1174,7 +1174,7 @@ rb_big_cmp(VALUE x, VALUE y)
break;
case T_FLOAT:
- return rb_dbl_cmp(rb_big2dbl(x), RFLOAT(y)->value);
+ return rb_dbl_cmp(rb_big2dbl(x), RFLOAT_VALUE(y));
default:
return rb_num_coerce_cmp(x, y);
@@ -1218,7 +1218,7 @@ rb_big_eq(VALUE x, VALUE y)
{
volatile double a, b;
- a = RFLOAT(y)->value;
+ a = RFLOAT_VALUE(y);
if (isnan(a)) return Qfalse;
b = rb_big2dbl(x);
return (a == b)?Qtrue:Qfalse;
@@ -1409,7 +1409,7 @@ rb_big_plus(VALUE x, VALUE y)
return bignorm(bigadd(x, y, 1));
case T_FLOAT:
- return rb_float_new(rb_big2dbl(x) + RFLOAT(y)->value);
+ return DOUBLE2NUM(rb_big2dbl(x) + RFLOAT_VALUE(y));
default:
return rb_num_coerce_bin(x, y);
@@ -1434,7 +1434,7 @@ rb_big_minus(VALUE x, VALUE y)
return bignorm(bigadd(x, y, 0));
case T_FLOAT:
- return rb_float_new(rb_big2dbl(x) - RFLOAT(y)->value);
+ return DOUBLE2NUM(rb_big2dbl(x) - RFLOAT_VALUE(y));
default:
return rb_num_coerce_bin(x, y);
@@ -1458,7 +1458,7 @@ rb_big_mul0(VALUE x, VALUE y)
break;
case T_FLOAT:
- return rb_float_new(rb_big2dbl(x) * RFLOAT(y)->value);
+ return DOUBLE2NUM(rb_big2dbl(x) * RFLOAT_VALUE(y));
default:
return rb_num_coerce_bin(x, y);
@@ -1664,7 +1664,7 @@ rb_big_div(VALUE x, VALUE y)
break;
case T_FLOAT:
- return rb_float_new(rb_big2dbl(x) / RFLOAT(y)->value);
+ return DOUBLE2NUM(rb_big2dbl(x) / RFLOAT_VALUE(y));
default:
return rb_num_coerce_bin(x, y);
@@ -1834,10 +1834,10 @@ rb_big_quo(VALUE x, VALUE y)
if (ey) y = big_shift(y, ey);
bignum:
bigdivrem(x, y, &z, 0);
- return rb_float_new(ldexp(big2dbl(z), ex - ey));
+ return DOUBLE2NUM(ldexp(big2dbl(z), ex - ey));
}
case T_FLOAT:
- y = dbl2big(ldexp(frexp(RFLOAT(y)->value, &ey), DBL_MANT_DIG));
+ y = dbl2big(ldexp(frexp(RFLOAT_VALUE(y), &ey), DBL_MANT_DIG));
ey -= DBL_MANT_DIG;
goto bignum;
}
@@ -1852,13 +1852,13 @@ rb_big_quo(VALUE x, VALUE y)
break;
case T_FLOAT:
- dy = RFLOAT(y)->value;
+ dy = RFLOAT_VALUE(y);
break;
default:
return rb_num_coerce_bin(x, y);
}
- return rb_float_new(dx / dy);
+ return DOUBLE2NUM(dx / dy);
}
static VALUE
@@ -1930,7 +1930,7 @@ rb_big_pow(VALUE x, VALUE y)
if (y == INT2FIX(0)) return INT2FIX(1);
switch (TYPE(y)) {
case T_FLOAT:
- d = RFLOAT(y)->value;
+ d = RFLOAT_VALUE(y);
break;
case T_BIGNUM:
@@ -1965,7 +1965,7 @@ rb_big_pow(VALUE x, VALUE y)
default:
return rb_num_coerce_bin(x, y);
}
- return rb_float_new(pow(rb_big2dbl(x), d));
+ return DOUBLE2NUM(pow(rb_big2dbl(x), d));
}
/*