summaryrefslogtreecommitdiffstats
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
commiteca0b534bafbbcf274d97e51dc33c5d930494dc8 (patch)
treecf97596c6b4d9627f133b3082bf2e8faec3f0388 /bignum.c
parenta5f6e02f2a8bb15ece9994c91355574b77c41746 (diff)
downloadruby-eca0b534bafbbcf274d97e51dc33c5d930494dc8.tar.gz
ruby-eca0b534bafbbcf274d97e51dc33c5d930494dc8.tar.xz
ruby-eca0b534bafbbcf274d97e51dc33c5d930494dc8.zip
* 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: http://svn.ruby-lang.org/repos/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 71e33470f..132b611be 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));