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

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/view_bug.do?bug_id=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/show_bug.cgi?id=100222
> 
> I'm not sure what you mean by double-rounding bugs, though.  It's
> not difficult to actually implement the HALF_EVEN 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/moving_monarchs_dragons
> 
> 
> 
> 
> 
> -- 
> Louis Wasserman
> 
> 
> 
> -- 
> Louis Wasserman
> 
> 




More information about the core-libs-dev mailing list