diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-13 16:00:53 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-13 16:00:53 +0000 |
commit | 25c0cb981af8fda9860ec6e365b9ea7a9e3f498f (patch) | |
tree | b9b571a43d86bda67a18a05d95f0a437b5500b3b /random.c | |
parent | c4af7f51b7c703cfdf4a84f633af6b892b5d14a8 (diff) | |
download | ruby-25c0cb981af8fda9860ec6e365b9ea7a9e3f498f.tar.gz |
* 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 'random.c')
-rw-r--r-- | random.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -437,14 +437,14 @@ rb_f_rand(int argc, VALUE *argv, VALUE obj) rb_scan_args(argc, argv, "01", &vmax); switch (TYPE(vmax)) { case T_FLOAT: - if (RFLOAT(vmax)->value <= LONG_MAX && RFLOAT(vmax)->value >= LONG_MIN) { - max = (long)RFLOAT(vmax)->value; + if (RFLOAT_VALUE(vmax) <= LONG_MAX && RFLOAT_VALUE(vmax) >= LONG_MIN) { + max = (long)RFLOAT_VALUE(vmax); break; } - if (RFLOAT(vmax)->value < 0) - vmax = rb_dbl2big(-RFLOAT(vmax)->value); + if (RFLOAT_VALUE(vmax) < 0) + vmax = rb_dbl2big(-RFLOAT_VALUE(vmax)); else - vmax = rb_dbl2big(RFLOAT(vmax)->value); + vmax = rb_dbl2big(RFLOAT_VALUE(vmax)); /* fall through */ case T_BIGNUM: bignum: @@ -457,7 +457,7 @@ rb_f_rand(int argc, VALUE *argv, VALUE obj) limit = (struct RBignum *)rb_big_minus((VALUE)limit, INT2FIX(1)); if (FIXNUM_P((VALUE)limit)) { if (FIX2LONG((VALUE)limit) == -1) - return rb_float_new(genrand_real()); + return DOUBLE2NUM(genrand_real()); return LONG2NUM(limited_rand(FIX2LONG((VALUE)limit))); } return limited_big_rand(limit); @@ -474,7 +474,7 @@ rb_f_rand(int argc, VALUE *argv, VALUE obj) } if (max == 0) { - return rb_float_new(genrand_real()); + return DOUBLE2NUM(genrand_real()); } if (max < 0) max = -max; val = limited_rand(max-1); |