summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-05 07:45:32 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-05 07:45:32 +0000
commit849bc0234abaa8458f132981404e198666c5610b (patch)
tree087d802ac34ba666eb197b3023171b77d9f0829c /bignum.c
parent1b33576053bc1f0a01deee86f9a5821cb96c65c0 (diff)
* eval.c (top_include): include in the wrapped load is done for
the wrapper, not for a singleton class for wrapped main. [ruby-dev:23305] * bignum.c (rb_big_eq): use temporary double variable to save the result (internal float register may be bigger than 64 bits, for example, 80 bits on x86). [ruby-dev:23311] * eval.c (block_pass): should generate unique identifier of the pushing block. [ruby-talk:96363] * ext/socket/socket.c (make_hostent): fix memory leak, based on the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bignum.c b/bignum.c
index a969fd2..f5ec1fe 100644
--- a/bignum.c
+++ b/bignum.c
@@ -962,10 +962,13 @@ rb_big_eq(x, y)
case T_BIGNUM:
break;
case T_FLOAT:
- if (rb_big2dbl(x) == RFLOAT(y)->value)
- return Qtrue;
- else
- return Qfalse;
+ {
+ double a, b;
+
+ a = RFLOAT(y)->value;
+ b = rb_big2dbl(x);
+ return (a == b)?Qtrue:Qfalse;
+ }
default:
return rb_equal(y, x);
}