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

ruby-changes:15191

From: akr <ko1@a...>
Date: Sun, 28 Mar 2010 07:14:46 +0900 (JST)
Subject: [ruby-changes:15191] Ruby:r27071 (trunk): * time.c (mul): condition refined.

akr	2010-03-28 07:14:23 +0900 (Sun, 28 Mar 2010)

  New Revision: 27071

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

  Log:
    * time.c (mul): condition refined.

  Modified files:
    trunk/ChangeLog
    trunk/time.c

Index: time.c
===================================================================
--- time.c	(revision 27070)
+++ time.c	(revision 27071)
@@ -252,18 +252,22 @@
     if (FIXNUM_P(x) && FIXNUM_P(y)) {
 #if HAVE_LONG_LONG && SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG 
         LONG_LONG ll = (LONG_LONG)FIX2LONG(x) * FIX2LONG(y);
-        if (FIXABLE(ll)) return LONG2FIX(ll);
+        if (FIXABLE(ll))
+            return LONG2FIX(ll);
         return LL2NUM(ll);
 #else
         long a, b, c;
         a = FIX2LONG(x);
-        if (a == 0) return x;
+        if (a == 0)
+            return x;
         b = FIX2LONG(y);
         c = a * b;
-        if (c / a == b && FIXABLE(c)) return LONG2FIX(c);
+        if (c / a == b)
+            return LONG2NUM(c);
 #endif
     }
-    if (TYPE(x) == T_BIGNUM) return rb_big_mul(x, y);
+    if (TYPE(x) == T_BIGNUM)
+        return rb_big_mul(x, y);
     return rb_funcall(x, '*', 1, y);
 }
 
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 27070)
+++ ChangeLog	(revision 27071)
@@ -1,5 +1,9 @@
-2010-03-27  Tanaka Akira  <akr@f...>
+Sun Mar 28 07:12:41 2010  Tanaka Akira  <akr@f...>
 
+	* time.c (mul): condition refined.
+
+Sun Mar 28 02:14:13 2010  Tanaka Akira  <akr@f...>
+
 	* time.c: fix previos commit.
 
 Sat Mar 27 23:17:52 2010  Tanaka Akira  <akr@f...>

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

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