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

ruby-changes:24348

From: akr <ko1@a...>
Date: Mon, 16 Jul 2012 15:38:37 +0900 (JST)
Subject: [ruby-changes:24348] akr:r36399 (trunk): * bignum.c (rb_big_eq): use rb_big_float_cmp.

akr	2012-07-16 15:38:28 +0900 (Mon, 16 Jul 2012)

  New Revision: 36399

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36399

  Log:
    * bignum.c (rb_big_eq): use rb_big_float_cmp.

  Modified files:
    trunk/ChangeLog
    trunk/bignum.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36398)
+++ ChangeLog	(revision 36399)
@@ -1,3 +1,7 @@
+Mon Jul 16 15:37:56 2012  Tanaka Akira  <akr@f...>
+
+	* bignum.c (rb_big_eq): use rb_big_float_cmp.
+
 Mon Jul 16 15:00:45 2012  Tanaka Akira  <akr@f...>
 
 	* internal.h (rb_big_float_cmp): declared.
Index: bignum.c
===================================================================
--- bignum.c	(revision 36398)
+++ bignum.c	(revision 36399)
@@ -1616,14 +1616,7 @@
       case T_BIGNUM:
 	break;
       case T_FLOAT:
-	{
-	    volatile double a, b;
-
-	    a = RFLOAT_VALUE(y);
-	    if (isnan(a) || isinf(a)) return Qfalse;
-	    b = rb_big2dbl(x);
-	    return (a == b)?Qtrue:Qfalse;
-	}
+        return rb_big_float_cmp(x, y) == INT2FIX(0) ? Qtrue : Qfalse;
       default:
 	return rb_equal(y, x);
     }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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