Hi Joe,

The webrev http://cr.openjdk.java.net/~bpb/6476168/ is updated per the 
following.

On Jul 22, 2013, at 6:13 PM, Joseph Darcy wrote:

> The changes in that block include
> 
> 1353         // 6476168: subnormal formatting and precision
> 
> It is not customary, and usually not desirable, to include the bug id. 
> Additionally, the new block of test cases tests for subnormal as well as 
> underflow the comment is not accurate.

Comment expunged.

> It is not necessary to write
> 
>    Double.parseDouble("0x0.123p-1022")
> 
> you can just write
> 
>    0x0.123p-1022
> 
> using the hexadecimal notation for a floating-point literal.

Changed in the cases I added and in the preexisting cases.

> I'd like to see a few more test cases that probe at boundaries, such as 
> Double.MAX_VALUE rounding to 9, 6, 2, 1, digits of precision.

Please see lines 1372-1379 of Basic-X.

> There are also cases of interest to make sure the round to nearest even 
> rounding policy is being used. If a value like 0.123xxxxxxxxxxxx is rounded 
> to three digits, the value of xxxxxxxxxxxx will determine whether or not an 
> increment occurs.

Please see lines 1355-1368 of Basic-X.

>> Added as Basic-X line 1360.
>> 
>>> * Double.MAX_VALUE rounded to fewer than 12 digits. Offhand, I'm not sure 
>>> what the implementation will do here; returning infinity or a hex string 
>>> with an extra big exponent are both defensible.
>> Added as Basic-X line 1361. The returned value for %1.9a is 
>> 0x1.000000000p1024.
> 
> Of the two options, that value is preferable.

Interestingly the C stdio library

        printf("%1.9a\n", 1.7976931348623157e+308)

prints

        0x2.000000000p+1023

on Mac OS 10.7.5.

Thanks,

Brian

Reply via email to