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

Reply via email to