From 04388f9f9dae3dc6af0ff7b30495760a8dc352b4 Mon Sep 17 00:00:00 2001 From: tadf Date: Mon, 15 Jun 2009 13:39:18 +0000 Subject: [PATCH] * bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return -HUGE_VAL (-Infinity). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ bignum.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 097b928e34..ef628f4f21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 15 22:35:31 2009 Tadayoshi Funaba + + * 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 * io.c (argf_each_line): should return self. [ruby-core:23852] diff --git a/bignum.c b/bignum.c index 398d963aea..123eca7403 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; }