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/