[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]