Package edu.jas.arith

Class PrimeList

  • All Implemented Interfaces:
    java.lang.Iterable<java.math.BigInteger>

    public final class PrimeList
    extends java.lang.Object
    implements java.lang.Iterable<java.math.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
    Author:
    Heinz Kredel
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PrimeList.Range
      Range of probable primes.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean checkPrimes()
      Check if the list contains really prime numbers.
      protected boolean checkPrimes​(int n)
      Check if the list contains really prime numbers.
      java.math.BigInteger get​(int i)
      Get prime at index i.
      static java.math.BigInteger getLongPrime​(int n, int m)
      Method to compute a prime as 2**n - m.
      static java.math.BigInteger getMersennePrime​(int n)
      Method to compute a Mersenne prime as 2**n - 1.
      java.util.Iterator<java.math.BigInteger> iterator()
      Iterator.
      int size()
      Size of current list.
      java.lang.String 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
    • Constructor Detail

      • PrimeList

        public PrimeList()
        Constructor for PrimeList.
    • Method Detail

      • getLongPrime

        public static java.math.BigInteger getLongPrime​(int n,
                                                        int m)
        Method to compute a prime as 2**n - m.
        Parameters:
        n - power for 2.
        m - for 2**n - m.
        Returns:
        2**n - m
      • getMersennePrime

        public static java.math.BigInteger getMersennePrime​(int n)
        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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • size

        public int size()
        Size of current list.
        Returns:
        current size of list.
      • get

        public java.math.BigInteger get​(int i)
        Get prime at index i.
        Parameters:
        i - index to get element.
        Returns:
        prime at index i.
      • iterator

        public java.util.Iterator<java.math.BigInteger> iterator()
        Iterator. Always has next, will generate new primes if required.
        Specified by:
        iterator in interface java.lang.Iterable<java.math.BigInteger>
        Returns:
        iterator over the prime list.