diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-16 06:38:28 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-16 06:38:28 +0000 |
commit | 8d0b1c25189fd0b52590b14c128999ebc650ac05 (patch) | |
tree | edb4c284e5c3191245de5dde3df6598d178345cf | |
parent | 6dd65bb3776eca2335e90ffd7a81b641d6404ce2 (diff) |
* bignum.c (rb_big_eq): use rb_big_float_cmp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | bignum.c | 9 |
2 files changed, 5 insertions, 8 deletions
@@ -1,3 +1,7 @@ +Mon Jul 16 15:37:56 2012 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_eq): use rb_big_float_cmp. + Mon Jul 16 15:00:45 2012 Tanaka Akira <akr@fsij.org> * internal.h (rb_big_float_cmp): declared. @@ -1616,14 +1616,7 @@ rb_big_eq(VALUE x, VALUE y) case T_BIGNUM: break; case T_FLOAT: - { - volatile double a, b; - - a = RFLOAT_VALUE(y); - if (isnan(a) || isinf(a)) return Qfalse; - b = rb_big2dbl(x); - return (a == b)?Qtrue:Qfalse; - } + return rb_big_float_cmp(x, y) == INT2FIX(0) ? Qtrue : Qfalse; default: return rb_equal(y, x); } |