Package edu.jas.arith
Class PrimeList
java.lang.Object
edu.jas.arith.PrimeList
- All Implemented Interfaces:
Iterable<BigInteger>
List of big primes. Provides an Iterator for generating prime numbers.
Similar to ALDES/SAC2 SACPOL.PRIME list.
See Knuth vol 2, page 390, for list of known primes. See also ALDES/SAC2
SACPOL.PRIME
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static List
<BigInteger> private BigInteger
The last prime in the list.private static List
<BigInteger> private static List
<BigInteger> private static List
<BigInteger> private static List
<BigInteger> Cache the val list for different sizeprivate List
<BigInteger> The list of probable primes in requested range. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for PrimeList.Constructor for PrimeList. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addLarge()
Add large sized primes.private void
addLow()
Add low sized primes.private void
Add medium sized primes.private void
Add Mersenne sized primes.private void
addSmall()
Add small primes.protected boolean
Check if the list contains really prime numbers.protected boolean
checkPrimes
(int n) Check if the list contains really prime numbers.get
(int i) Get prime at index i.static BigInteger
getLongPrime
(int n, int m) Method to compute a prime as 2**n - m.static BigInteger
getMersennePrime
(int n) Method to compute a Mersenne prime as 2**n - 1.iterator()
Iterator.int
size()
Size of current list.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
SMALL_LIST
Cache the val list for different size -
LOW_LIST
-
MEDIUM_LIST
-
LARGE_LIST
-
MERSENNE_LIST
-
val
The list of probable primes in requested range. -
last
The last prime in the list.
-
-
Constructor Details
-
PrimeList
public PrimeList()Constructor for PrimeList. -
PrimeList
Constructor for PrimeList.- Parameters:
r
- size range for primes.
-
-
Method Details
-
addSmall
private void addSmall()Add small primes. -
addLow
private void addLow()Add low sized primes. -
addMedium
private void addMedium()Add medium sized primes. -
addLarge
private void addLarge()Add large sized primes. -
addMersenne
private void addMersenne()Add Mersenne sized primes. -
getLongPrime
Method to compute a prime as 2**n - m.- Parameters:
n
- power for 2.m
- for 2**n - m.- Returns:
- 2**n - m
-
getMersennePrime
Method to compute a Mersenne prime as 2**n - 1.- Parameters:
n
- power for 2.- Returns:
- 2**n - 1
-
checkPrimes
protected boolean checkPrimes()Check if the list contains really prime numbers.- Returns:
- true if all checked numbers are prime
-
checkPrimes
protected boolean checkPrimes(int n) Check if the list contains really prime numbers.- Parameters:
n
- number of primes to check.- Returns:
- true if all checked numbers are prime
-
toString
-
size
public int size()Size of current list.- Returns:
- current size of list.
-
get
Get prime at index i.- Parameters:
i
- index to get element.- Returns:
- prime at index i.
-
iterator
Iterator. Always has next, will generate new primes if required.- Specified by:
iterator
in interfaceIterable<BigInteger>
- Returns:
- iterator over the prime list.
-