diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-22 02:59:09 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-22 02:59:09 +0000 |
commit | f544ca4e4e817dd722d96f09e15b0170a5b392cd (patch) | |
tree | b3f8f40cd8cd98ad73951e6a2417a92a91644784 | |
parent | e9679c9ad49c1969a9aded71e194e249aa8b8547 (diff) |
* util.c (ruby_hdtoa): revert r29729.
If you want ruby to behave as before on x86, specify to use SSE like
-msse2 -mfpmath=sse for gcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | util.c | 7 |
2 files changed, 8 insertions, 5 deletions
@@ -1,3 +1,9 @@ +Mon Apr 22 10:25:21 2013 NARUSE, Yui <[email protected]> + + * util.c (ruby_hdtoa): revert r29729. + If you want ruby to behave as before on x86, specify to use SSE like + -msse2 -mfpmath=sse for gcc. + Sun Apr 21 23:19:00 2013 Charlie Somerville <[email protected]> * configure.in: Revert using sigsetjmp by default due to performance @@ -3878,13 +3878,10 @@ ruby_hdtoa(double d, const char *xdigs, int ndigits, int *decpt, int *sign, /* Round to the desired number of digits. */ if (SIGFIGS > ndigits && ndigits > 0) { float redux = 1.0f; - volatile double d; int offset = 4 * ndigits + DBL_MAX_EXP - 4 - DBL_MANT_DIG; dexp_set(u, offset); - d = u.d; - d += redux; - d -= redux; - u.d = d; + u.d += redux; + u.d -= redux; *decpt += dexp_get(u) - offset; } |