summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-06-18 06:29:07 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-06-18 06:29:07 +0000
commit1979d9ae1f7e6c2f0d3016a40064bda0a64d09f1 (patch)
treecf97596c6b4d9627f133b3082bf2e8faec3f0388 /bignum.c
parent12c00312aaa4831f0ce820d9addce8f27c4f50b4 (diff)
* parse.y (yylex): obsolete '?<whitespace>'; use '?\s', '?\n',
etc, instead. * parse.y (yylex): no here document after a dot. * parse.y (yylex): should have set lex_state after '`'. * parse.y (yylex): should have set lex_state properly after tOP_ASGN. * bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bignum.c b/bignum.c
index 71e3347..132b611 100644
--- a/bignum.c
+++ b/bignum.c
@@ -798,6 +798,7 @@ rb_big2dbl(x)
while (i--) {
d = ds[i] + BIGRAD*d;
}
+ if (isinf(d)) d = HUGE_VAL;
if (!RBIGNUM(x)->sign) d = -d;
return d;
}
@@ -855,6 +856,8 @@ static VALUE
rb_big_eq(x, y)
VALUE x, y;
{
+ double d;
+
switch (TYPE(y)) {
case T_FIXNUM:
y = rb_int2big(FIX2LONG(y));