JDK 8 RFR 8029514: java/math/BigInteger/BigIntegerTest.java failing since thresholds adjusted in 8022181
Joe Darcy
joe.darcy at oracle.com
Thu Dec 5 04:02:19 UTC 2013
On 12/04/2013 07:32 PM, Brian Burkhalter wrote:
> On Dec 4, 2013, at 6:56 PM, Joe Darcy wrote:
>
>> As a double-check, can you run the now failing regression test
>> against the earlier versions of java.math.* between when Karatsuba
>> and friends went in and the current version of the code?
>
> If I go back to rev 7466
>
> changeset: 7466:9b802d99cb52
> user: bpb
> date: Wed Jun 19 08:59:39 2013 -0700
> summary: 4837946: Faster multiplication and exponentiation of
> large integers
>
> changeset: 4554:2a8072c7cf99
> user: darcy
> date: Wed Sep 14 11:32:11 2011 -0700
> summary: 6879143: java.math.BigInteger misses the xxxValueExact
> methods
>
> which is when Karatsuba, et. al., were introduced, then the code as-is
> in 7466 passes the test in question, but if I change the two
> multiplication thresholds to the current values without modifying
> anything else, the test fails with similar errors to what was observed
> for the current tip. It seems the threshold change exposes a different
> profile of numbers to the algorithm which reveals the problem. I
> highly doubt any intervening changes are behind this.
>
>
Thanks for going the experiment Brian. I'll approve the proposed change
to BigInteger as long as the regression test includes a case which will
fail when run against the uncorrected version of the code.
Alan, IIRC when you first sent the Karatsuba patch in you had a set of
long-running validation tests. Could you rerun those tests on the
version of BigInteger with the new thresholds and Brian's fix?
Thanks,
-Joe
More information about the core-libs-dev
mailing list