ruby-changes:16820
From: mame <ko1@a...>
Date: Sun, 1 Aug 2010 10:13:15 +0900 (JST)
Subject: [ruby-changes:16820] Ruby:r28815 (trunk): * bignum.c (big_op): comparison of bignum and infinity has returned 1
mame 2010-08-01 10:12:54 +0900 (Sun, 01 Aug 2010) New Revision: 28815 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28815 Log: * bignum.c (big_op): comparison of bignum and infinity has returned 1 or -1, but it must return boolean. Modified files: trunk/ChangeLog trunk/bignum.c trunk/test/ruby/test_bignum.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 28814) +++ ChangeLog (revision 28815) @@ -1,3 +1,8 @@ +Sun Aug 1 09:35:35 2010 Yusuke Endoh <mame@t...> + + * bignum.c (big_op): comparison of bignum and infinity has returned 1 + or -1, but it must return boolean. + Sun Aug 1 09:44:25 2010 Tanaka Akira <akr@f...> * class.c (rb_include_module): don't clear the method cache if the Index: bignum.c =================================================================== --- bignum.c (revision 28814) +++ bignum.c (revision 28815) @@ -1453,8 +1453,9 @@ double a = RFLOAT_VALUE(y); if (isinf(a)) { - if (a > 0.0) return INT2FIX(-1); - else return INT2FIX(1); + if (a > 0.0) rel = INT2FIX(-1); + else rel = INT2FIX(1); + break; } rel = rb_dbl_cmp(rb_big2dbl(x), a); break; Index: test/ruby/test_bignum.rb =================================================================== --- test/ruby/test_bignum.rb (revision 28814) +++ test/ruby/test_bignum.rb (revision 28815) @@ -185,6 +185,8 @@ assert(T31P < T64P) assert(T64P > T31P) assert_raise(ArgumentError) { T31P < "foo" } + assert(T64 < (1.0/0.0)) + assert(!(T64 > (1.0/0.0))) end def test_eq -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/