Class BaseArrays
- java.lang.Object
-
- de.tilman_neumann.jml.factor.siqs.data.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 primesbyte[]
logPArray
log-values of the primes or powersint[]
pArray
powers, e.g.double[]
pinvArrayD
1/p for all primes/powerslong[]
pinvArrayL
2^32 / p for all primes/powersint[]
primes
The prime baseint[]
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 valuespinvArrayL
- array of 2^32/p values
-
-