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

ruby-changes:15823

From: nobu <ko1@a...>
Date: Wed, 12 May 2010 16:27:53 +0900 (JST)
Subject: [ruby-changes:15823] Ruby:r27756 (trunk, ruby_1_9_2): * numeric.c (flo_to_s): exponent needs 2 digits.

nobu	2010-05-12 16:25:48 +0900 (Wed, 12 May 2010)

  New Revision: 27756

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

  Log:
    * numeric.c (flo_to_s): exponent needs 2 digits.

  Modified files:
    branches/ruby_1_9_2/ChangeLog
    branches/ruby_1_9_2/numeric.c
    trunk/ChangeLog
    trunk/numeric.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 27755)
+++ ChangeLog	(revision 27756)
@@ -1,3 +1,7 @@
+Wed May 12 16:25:46 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* numeric.c (flo_to_s): exponent needs 2 digits.
+
 Wed May 12 16:02:43 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* numeric.c (flo_to_s): fill lower zeros.
Index: numeric.c
===================================================================
--- numeric.c	(revision 27755)
+++ numeric.c	(revision 27756)
@@ -585,10 +585,9 @@
 	}
 	else if (decpt - digs < float_dig) {
 	    long len;
-	    char *ptr;
 	    rb_str_cat(s, buf, digs);
-	    rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs);
-	    memset(RSTRING_PTR(s) + len, '0', decpt - digs);
+	    rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs + 2);
+	    if (decpt > digs) memset(RSTRING_PTR(s) + len, '0', decpt - digs);
 	    rb_str_cat(s, ".0", 2);
 	}
 	else {
@@ -615,7 +614,7 @@
 	}
 	buf[1] = '.';
 	rb_str_cat(s, buf, digs + 1);
-	rb_str_catf(s, "e%+d", decpt - 1);
+	rb_str_catf(s, "e%+03d", decpt - 1);
     }
     return s;
 }
Index: ruby_1_9_2/ChangeLog
===================================================================
--- ruby_1_9_2/ChangeLog	(revision 27755)
+++ ruby_1_9_2/ChangeLog	(revision 27756)
@@ -1,3 +1,7 @@
+Wed May 12 16:25:46 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* numeric.c (flo_to_s): exponent needs 2 digits.
+
 Mon May 10 06:59:19 2010  NARUSE, Yui  <naruse@r...>
 
 	* common.mk (rdoc): rdoc should depend main. Moreover when XRUBY
Index: ruby_1_9_2/numeric.c
===================================================================
--- ruby_1_9_2/numeric.c	(revision 27755)
+++ ruby_1_9_2/numeric.c	(revision 27756)
@@ -585,10 +585,9 @@
 	}
 	else if (decpt - digs < float_dig) {
 	    long len;
-	    char *ptr;
 	    rb_str_cat(s, buf, digs);
-	    rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs);
-	    memset(RSTRING_PTR(s) + len, '0', decpt - digs);
+	    rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs + 2);
+	    if (decpt > digs) memset(RSTRING_PTR(s) + len, '0', decpt - digs);
 	    rb_str_cat(s, ".0", 2);
 	}
 	else {
@@ -615,7 +614,7 @@
 	}
 	buf[1] = '.';
 	rb_str_cat(s, buf, digs + 1);
-	rb_str_catf(s, "e%+d", decpt - 1);
+	rb_str_catf(s, "e%+03d", decpt - 1);
     }
     return s;
 }

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

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