[classlib][math] unexpected ArrayIndexOutOfBoundsException for BigInteger.isProbablePrime(110)
----------------------------------------------------------------------------------------------
Key: HARMONY-790
URL: http://issues.apache.org/jira/browse/HARMONY-790
Project: Harmony
Type: Bug
Components: Classlib
Reporter: Vladimir Ivanov
The Harmony method java.math.BigInteger.isProbablePrime(110) throws ArrayIndexOutOfBoundsException
while RI returns correct value.
================= test.java ======================
import java.math.BigInteger;
import java.util.Random;
public class test {
public static void main(String args[] ) {
BigInteger bi = new BigInteger(9, 9, new Random());
try {
bi.isProbablePrime(109);
System.out.println("uncertainty = 109, passed");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("uncertainty = 109, failed: " + e);
}
try {
bi.isProbablePrime(110);
System.out.println("uncertainy = 110, passed");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("uncertainty = 110, failed: " + e);
e.printStackTrace();
}
try {
bi.isProbablePrime(110);
System.out.println("uncertainy = 500, passed");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("uncertainty = 500, failed: " + e);
}
}
}
==============================================
Output:
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized
over throughput (initial strategy singleparpar))
uncertainty = 109, passed
uncertainy = 110, passed
uncertainy = 500, passed
C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
java version 1.5 (subset)
(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
uncertainty = 109, passed
uncertainty = 110, failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range:
54
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 54
at java.math.BigInteger.isProbablePrime(BigInteger.java:1739)
at test.main(test.java:14)
uncertainty = 500, failed: java.lang.ArrayIndexOutOfBoundsException: Array index out of range:
54
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|