summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-15 13:39:18 +0000
committertadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-15 13:39:18 +0000
commit3dff575e22517074ae9da413590be7af90ac5c7a (patch)
treec714abc0693bc4748980c9379bea04dbd68568ca
parentc827f2a1bdd3704e717c1e84e54f7cd57774dcb5 (diff)
downloadruby-3dff575e22517074ae9da413590be7af90ac5c7a.tar.gz
ruby-3dff575e22517074ae9da413590be7af90ac5c7a.tar.xz
ruby-3dff575e22517074ae9da413590be7af90ac5c7a.zip
* bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return
-HUGE_VAL (-Infinity). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--bignum.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 097b928e3..ef628f4f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 15 22:35:31 2009 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return
+ -HUGE_VAL (-Infinity).
+
Mon Jun 15 18:48:41 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (argf_each_line): should return self. [ruby-core:23852]
diff --git a/bignum.c b/bignum.c
index 398d963ae..123eca740 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1233,7 +1233,10 @@ rb_big2dbl(VALUE x)
if (isinf(d)) {
rb_warning("Bignum out of Float range");
- d = HUGE_VAL;
+ if (signbit(d))
+ d = -HUGE_VAL;
+ else
+ d = HUGE_VAL;
}
return d;
}