Class BaseArrays

  • Direct Known Subclasses:
    SolutionArrays

    public class BaseArrays
    extends Object
    Passive data structure bundling primes/powers, modular sqrts and logP-values. Having a structure with several arrays of the same size is faster than having an array of a structure, because the former permits to exploit AVX/SSE mechanisms in Java 8.
    Author:
    Tilman Neumann
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int[] exponents
      exponents of primes
      byte[] logPArray
      log-values of the primes or powers
      int[] pArray
      powers, e.g.
      double[] pinvArrayD
      1/p for all primes/powers
      long[] pinvArrayL
      2^32 / p for all primes/powers
      int[] primes
      The prime base
      int[] tArray
      the modular sqrt's t with t^2==kN (mod p) for primes p, or t^2==kN (mod power) for powers
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseArrays​(int solutionsCount)
      Constructor allocating all arrays.
      BaseArrays​(int[] primes, int[] exponents, int[] powers, int[] tArray, byte[] logPArray, double[] pinvArrayD, long[] pinvArrayL)
      Constructor setting all arrays.
    • Field Detail

      • primes

        public int[] primes
        The prime base
      • exponents

        public int[] exponents
        exponents of primes
      • pArray

        public int[] pArray
        powers, e.g. powers[i] = primes[i]^exponents[i]
      • tArray

        public int[] tArray
        the modular sqrt's t with t^2==kN (mod p) for primes p, or t^2==kN (mod power) for powers
      • logPArray

        public byte[] logPArray
        log-values of the primes or powers
      • pinvArrayD

        public double[] pinvArrayD
        1/p for all primes/powers
      • pinvArrayL

        public long[] pinvArrayL
        2^32 / p for all primes/powers
    • Constructor Detail

      • BaseArrays

        public BaseArrays​(int solutionsCount)
        Constructor allocating all arrays.
        Parameters:
        solutionsCount -
      • BaseArrays

        public BaseArrays​(int[] primes,
                          int[] exponents,
                          int[] powers,
                          int[] tArray,
                          byte[] logPArray,
                          double[] pinvArrayD,
                          long[] pinvArrayL)
        Constructor setting all arrays.
        Parameters:
        primes -
        exponents -
        powers -
        tArray -
        logPArray -
        pinvArrayD - array of 1/p values
        pinvArrayL - array of 2^32/p values