[9] RFR of 8032027: Add BigInteger square root methods
Joseph D. Darcy
joe.darcy at oracle.com
Thu Dec 10 02:11:41 UTC 2015
Hi Brian,
New version looks good.
One more case to try: start with a BigInteger that would overflow to
Double.POSITIVE_INFINITY when the doubleValue method was called. If this
case doesn't take too long to run, it would be a fine additional case to
add to the test. 2^1024 should be fine input value. More precisely,
(new BigDecimal(Double.MAX_VALUE)).toBigInteger().add(BigInteger.ONE);
should do the trick. If the code passes with this value, you're okay to
push. Well, while you're at it, might as well verify
(new BigDecimal(Double.MAX_VALUE)).toBigInteger()
behaves well too ;-)
Thanks,
-Joe
On 12/9/2015 5:41 PM, Brian Burkhalter wrote:
> Hi Joe,
>
> On Dec 1, 2015, at 7:25 PM, Joseph D. Darcy <Joe.Darcy at Oracle.Com
> <mailto:Joe.Darcy at Oracle.Com>> wrote:
>
>> Current version looks okay. One more request, before pushing please
>> add explicit test cases for the for the largest number having 63 bits
>> and the smallest number having 64 bits. No need for another round of
>> webrevs for that.
>
> Well there is after all a need for another round of review:
>
> http://cr.openjdk.java.net/~bpb/8032027/webrev.04/
> <http://cr.openjdk.java.net/%7Ebpb/8032027/webrev.04/>
>
> That was a good call to add the above tests: one of them failed. This
> was found to be due to a floor() where there should have been a ceil().
>
> Summary:
>
> MutableBigInteger: at line 1920 change Math.floor(.) to Math.ceil(.).
> BigIntegerTest: at lines 331-340 add testing of 2^N and 2^N - 1, 0 < N
> < 1024
>
> Thanks,
>
> Brian
More information about the core-libs-dev
mailing list