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

Brian Burkhalter brian.burkhalter at oracle.com
Sat Feb 16 00:41:32 UTC 2013


Hi Louis,

After the two issues for which I've posted review requests (6480539 - stripTrailingZeros(), 4396272 - Parsing doubles fails to follow IEEE) are resolved, issue 7131192 is currently very near the head of my queue. Given that I still have a ways to go to get up to speed on this entire topic area and code base, I would hesitate to give a date estimate just yet.

Brian

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 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

-- Louis Wasserman -- Louis Wasserman



More information about the core-libs-dev mailing list