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