[PATCH] Sunbug 7131192: Optimize BigInteger.doubleValue(), floatValue() (original) (raw)

Louis Wasserman lowasser at google.com
Thu Feb 14 17:17:10 UTC 2013


Any update on when this could get reviewed?

On Thu, Dec 13, 2012 at 3:36 PM, Louis Wasserman <lowasser at google.com>wrote:

Hi,

I'm working at Google now, but I'd like to revive this patch as a contribution from Google. At the moment, what's mainly needed is review for http://bugs.sun.com/viewbug.do?bugid=7192954, the fix to Float.parseFloat's rounding behavior, before we can go anywhere with the patch to optimize BigInteger.floatValue() and doubleValue().

Would anyone be able to review that patch so these can start moving forward? Thanks, Louis Wasserman Java Core Libraries Team @ Google guava-libraries.googlecode.com ---------- Forwarded message ---------- From: Louis Wasserman <wasserman.louis at gmail.com> Date: Sat, Jul 14, 2012 at 5:32 AM Subject: Re: [PATCH] Sunbug 7131192: Optimize BigInteger.doubleValue(), floatValue() To: Joseph Darcy <joe.darcy at oracle.com> Cc: Andrew Haley <aph at redhat.com>, core-libs-dev at openjdk.java.net

Understood. FYI, testing for this change revealed a bug in Float.parseFloat, a patch for which has been separately sent to this mailing list under the subject line "[PATCH] Sunbug 6358355: Rounding error in Float.parseFloat". (As a result, the BigInteger patch may fail some of the provided tests at the moment, but that is truly because the reference implementation it's being tested against is faulty.) Louis Wasserman wasserman.louis at gmail.com http://profiles.google.com/wasserman.louis On Sat, Jul 14, 2012 at 2:20 AM, Joseph Darcy <joe.darcy at oracle.com>wrote: Hello, Thanks for the patch Louis.

On 7/12/2012 3:21 AM, Andrew Haley wrote: On 07/12/2012 10:32 AM, Louis Wasserman wrote: It was attached to the previous message? I don't know if this list works with attachments. Alternately, the patch was attached here: https://bugs.openjdk.java.net/**showbug.cgi?id=100222<https://bugs.openjdk.java.net/showbug.cgi?id=100222>

I'm not sure what you mean by double-rounding bugs, though. It's not difficult to actually implement the HALFEVEN rounding behavior with bit twiddling. Sure, as long as you've thought about it and done it carefully. The bit twiddling is easy to do, and easy to get wrong. > From the supplied patch it looks like you've done a good job, but there was no way to tell without it. I presume the listserv dropped it on the floor. Andrew. I've taken a quick look at the patch. The concept for the change is good; the current path of converting to float/double through a string is a simple but very roundabout way to accomplish this task. Unfortunately, I'm saturated with the JDK bug migration [1] and will continue to be saturated for at least several more weeks so I won't be able to take a more detailed look at the patch for a while. I suspect some more directly test cases will be needed to test tricky rounding situations. Thanks, -Joe [1] https://blogs.oracle.com/darcy/entry/movingmonarchsdragons<https://blogs.oracle.com/darcy/entry/movingmonarchsdragons>

-- Louis Wasserman

-- Louis Wasserman



More information about the core-libs-dev mailing list