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

ruby-changes:13908

From: akr <ko1@a...>
Date: Wed, 11 Nov 2009 08:23:30 +0900 (JST)
Subject: [ruby-changes:13908] Ruby:r25712 (trunk): * util.c (ruby_strtod): use dval() consistently.

akr	2009-11-11 08:23:15 +0900 (Wed, 11 Nov 2009)

  New Revision: 25712

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

  Log:
    * util.c (ruby_strtod): use dval() consistently.

  Modified files:
    trunk/ChangeLog
    trunk/util.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25711)
+++ ChangeLog	(revision 25712)
@@ -1,3 +1,7 @@
+Wed Nov 11 08:22:19 2009  Tanaka Akira  <akr@f...>
+
+	* util.c (ruby_strtod): use dval() consistently.
+
 Wed Nov 11 02:14:48 2009  Yuki Sonoda (Yugui)  <yugui@y...>
 
 	* test/matrix/test_matrix.rb (TestMatrix#test_rank):
Index: util.c
===================================================================
--- util.c	(revision 25711)
+++ util.c	(revision 25712)
@@ -2280,7 +2280,7 @@
 #ifdef Honor_FLT_ROUNDS
                 /* round correctly FLT_ROUNDS = 2 or 3 */
                 if (sign) {
-                    rv = -rv;
+                    dval(rv) = -dval(rv);
                     sign = 0;
                 }
 #endif
@@ -2296,7 +2296,7 @@
 #ifdef Honor_FLT_ROUNDS
                 /* round correctly FLT_ROUNDS = 2 or 3 */
                 if (sign) {
-                    rv = -rv;
+                    dval(rv) = -dval(rv);
                     sign = 0;
                 }
 #endif
@@ -2324,7 +2324,7 @@
 #ifdef Honor_FLT_ROUNDS
             /* round correctly FLT_ROUNDS = 2 or 3 */
             if (sign) {
-                rv = -rv;
+                dval(rv) = -dval(rv);
                 sign = 0;
             }
 #endif
@@ -2791,11 +2791,11 @@
 #ifdef Check_FLT_ROUNDS
             switch (Rounding) {
               case 2: /* towards +infinity */
-                aadj1 -= 0.5;
+                dval(aadj1) -= 0.5;
                 break;
               case 0: /* towards 0 */
               case 3: /* towards -infinity */
-                aadj1 += 0.5;
+                dval(aadj1) += 0.5;
             }
 #else
             if (Flt_Rounds == 0)
@@ -2840,7 +2840,7 @@
             if ((word0(rv) & Exp_mask) <= P*Exp_msk1) {
                 dval(rv0) = dval(rv);
                 word0(rv) += P*Exp_msk1;
-                adj = aadj1 * ulp(dval(rv));
+                adj = dval(aadj1) * ulp(dval(rv));
                 dval(rv) += adj;
 #ifdef IBM
                 if ((word0(rv) & Exp_mask) <  P*Exp_msk1)
@@ -2858,7 +2858,7 @@
                     word0(rv) -= P*Exp_msk1;
             }
             else {
-                adj = aadj1 * ulp(dval(rv));
+                adj = dval(aadj1) * ulp(dval(rv));
                 dval(rv) += adj;
             }
 #else /*Sudden_Underflow*/
@@ -2870,11 +2870,11 @@
              * example: 1.2e-307 .
              */
             if (y <= (P-1)*Exp_msk1 && aadj > 1.) {
-                aadj1 = (double)(int)(aadj + 0.5);
+                dval(aadj1) = (double)(int)(aadj + 0.5);
                 if (!dsign)
-                    aadj1 = -aadj1;
+                    dval(aadj1) = -dval(aadj1);
             }
-            adj = aadj1 * ulp(dval(rv));
+            adj = dval(aadj1) * ulp(dval(rv));
             dval(rv) += adj;
 #endif /*Sudden_Underflow*/
 #endif /*Avoid_Underflow*/

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

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