Class PrimesCache

java.lang.Object
org.mariuszgromada.math.mxparser.mathcollection.PrimesCache

public class PrimesCache extends Object
Class for generating prime numbers cache using Eratosthenes Sieve.
Version:
6.1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
    Empty cache status
    (package private) boolean
    Caching process status
    static final boolean
    Cache ready to use
    (package private) double
    Time in seconds showing how long did it take to finalize prime numbers caching.
    static final int
    Default range of integer to store in cache
    (package private) boolean
    Internal flag marking that primes cache initialization was successful;
    static final int
    Indicator if given number is not a prime
    static final int
    Indicator if given number is a prime
    (package private) boolean[]
    Integers table to store number and indicate whether they are prime or not
    (package private) int
    Primes between 0 ...
    static final int
    Indicator that the value is not stored in cache
    (package private) int
    Number of cached prime numbers
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor - setting prime cache for a default range if integers
    PrimesCache(int maxNumInCache)
    Constructor - setting prime cache for a given range if integers
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    Counting found primes
    private void
    Eratosthenes Sieve implementation
    boolean
    Returns cache status
    double
    Returns computing time of Eratosthenes Sieve
    int
    Returns cache range.
    int
    Returns number of found primes.
    (package private) boolean[]
    Gets underlying primes cache boolean table
    boolean
    Returns true in case when primes cache initialization was successful, otherwise returns false.
    int
    primeTest(int n)
    Check whether given number is prime

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_MAX_NUM_IN_CACHE

      public static final int DEFAULT_MAX_NUM_IN_CACHE
      Default range of integer to store in cache
      See Also:
    • CACHE_EMPTY

      public static final boolean CACHE_EMPTY
      Empty cache status
      See Also:
    • CACHING_FINISHED

      public static final boolean CACHING_FINISHED
      Cache ready to use
      See Also:
    • IS_PRIME

      public static final int IS_PRIME
      Indicator if given number is a prime
      See Also:
    • IS_NOT_PRIME

      public static final int IS_NOT_PRIME
      Indicator if given number is not a prime
      See Also:
    • NOT_IN_CACHE

      public static final int NOT_IN_CACHE
      Indicator that the value is not stored in cache
      See Also:
    • maxNumInCache

      int maxNumInCache
      Primes between 0 ... and ... maximumNumberInCache will be cached
    • numberOfPrimes

      int numberOfPrimes
      Number of cached prime numbers
    • computingTime

      double computingTime
      Time in seconds showing how long did it take to finalize prime numbers caching.
    • cacheStatus

      boolean cacheStatus
      Caching process status
    • isPrime

      boolean[] isPrime
      Integers table to store number and indicate whether they are prime or not
    • initSuccessful

      boolean initSuccessful
      Internal flag marking that primes cache initialization was successful;
  • Constructor Details

    • PrimesCache

      public PrimesCache()
      Default constructor - setting prime cache for a default range if integers
    • PrimesCache

      public PrimesCache(int maxNumInCache)
      Constructor - setting prime cache for a given range if integers
      Parameters:
      maxNumInCache - Range of integers to be stored in prime cache
  • Method Details

    • EratosthenesSieve

      private void EratosthenesSieve()
      Eratosthenes Sieve implementation
    • countPrimes

      private void countPrimes()
      Counting found primes
    • getComputingTime

      public double getComputingTime()
      Returns computing time of Eratosthenes Sieve
      Returns:
      Computing time in seconds
    • getCacheStatus

      public boolean getCacheStatus()
      Returns cache status
      Returns:
      PrimesCache.CACHE_EMPTY or PrimesCache.CACHING_FINISHED;
    • getNumberOfPrimes

      public int getNumberOfPrimes()
      Returns number of found primes.
      Returns:
      Number of found primes.
    • getMaxNumInCache

      public int getMaxNumInCache()
      Returns cache range.
      Returns:
      Maximum integera number in cache/
    • primeTest

      public int primeTest(int n)
      Check whether given number is prime
      Parameters:
      n - Given integer number.
      Returns:
      PrimesCache.IS_PRIME or PrimesCache.IS_NOT_PRIME or PrimesCache.NOT_IN_CACHE
    • isInitSuccessful

      public boolean isInitSuccessful()
      Returns true in case when primes cache initialization was successful, otherwise returns false.
      Returns:
      Returns true in case when primes cache initialization was successful, otherwise returns false.
    • getPrimes

      boolean[] getPrimes()
      Gets underlying primes cache boolean table
      Returns:
      Underlying primes cache boolean table