REMINDER of RFR CSR JDK-8202555: Double.toString(double) sometimes produces incorrect results
Raffaello Giulietti
raffaello.giulietti at gmail.com
Thu Apr 30 19:26:51 UTC 2020
If the float (binary32) case is of any guidance about the soundness of
the algorithm and the validity of the implementation, *all* of the 2^32
float bit patterns pass the extensive tests of the contribution in less
than a couple of hours, as mentioned in past posts.
As a peace of mind, even simpler and quicker but not as extensive,
anybody can check by very simple means that the String outcomes at least
convert back to the original floats and are never longer than the
current OpenJDK outcomes.
Exhaustive testing all 2^64 doubles is unreasonable on contemporary
hardware, even in the cloud. Nevertheless, many trillions have been tested.
Greetings
Raffaello
On 2020-04-30 18:31, Raffaello Giulietti wrote:
> On 2020-04-30 15:29, Alan Bateman wrote:
>> On 30/04/2020 13:54, Raffaello Giulietti wrote:
>>> Hi,
>>>
>>> after more than one year after first publication, the patches [1]
and the CSR [2] are still awaiting a review...
>>>
>>>
>>> Here's a breakdown of estimated times:
>>> * Reading the CSR: 15-30 min. This can be done and approved
independently.
>>> * Checking that the implementation matches the documentation [3]:
1-2 hours.
>>> * Reading the detailed documentation: 0.5-1.0 days.
>>> * Overall review of the code, including the extensive tests:
0.5-1.0 days.
>> This is impressive work. As I think was mentioned before, taking
this on would require significant review effort and long term committent
to maintain it. Has the paper been peer reviewed? Is the algorithm used
by any other languages or run-times? I know Brian Burkhalter (and maybe
Andrew Dinn too?) have put time into trying to read this but it's a
significant effort and a lot more than a few days.
>>
>> -Alan
>
> Hi,
>
> the writing has not undergone a formal peer review: this is why I
care not to denote it as "paper", whenever I remember to do so.
>
> I doubt a 27 pages long document written by an unknown individual not
associated with any academic or industrial entity will ever be taken
into consideration, not to say peer reviewed. That requires formally
more "credible" writers supported by "authoritative" institutions, for
some definition of "credible" and "authoritative".
>
> The drafts and the first published version of the writing have been
read over and over again by the late Dmitry Nadezhin, though. Dmitry was
a JDK 8 Project Author associated with Oracle before his premature death
last year. Apart from a couple of typos, he didn't complain about
logical errors and was pleased with the outcome. Dmitry also contributed
to an essential theorem and its proof, certified by ACL2 code.
>
> Of course, I understand that having a published formal paper and the
algorithm used somewhere else would add to the credibility and simplify
acceptance in the OpenJDK. However, I guess that many novel technologies
of all kind first appear in the OpenJDK than anywhere else (with
associated risks probably higher than those of my contribution).
Granted, they are much more strategical than my work to the good health,
the progress and the future of this fantastic ecosystem.
>
> Andrew Dinn expressed interested, indeed, but was (and probably still
is) busy with many other duties.
> Brian Burkhalter, my sponsor, read part of the writing some time ago
and keeps the code on his webrev repo. He, too, is probably busy with
other activities.
>
> My estimate about the reviewing times assumes genuine enthusiasm and
full immersion. With continuous interruptions to re-surface to tackle
other duties, the times inflate for sure.
>
> Seems that nobody has a chance or sufficient motivation to spend time
with a review because the algorithm is novel and not used in the large.
On the other hand, the algorithm is not used in the large exactly
because it is novel and needs a review...
> Adding to this, since more than 20 years there's a working, although
expensive and not fully correct algorithm in the OpenJDK, so why bother
to replace it, right?
>
> I've no idea on how to overcome this stall. I feel kind of stuck,
sitting here and waiting for somebody to step forward.
>
>
> Greetings
> Raffaello
>
More information about the core-libs-dev
mailing list