Class Sieve03gU
java.lang.Object
de.tilman_neumann.jml.factor.siqs.sieve.Sieve03gU
- All Implemented Interfaces:
Sieve
public class Sieve03gU extends java.lang.Object implements Sieve
Derivative of Sieve03g holding the sieve array in native memory.
Both the sieve core and the collect phase are notably faster than in Sieve03g !
-
Constructor Summary
Constructors Constructor Description Sieve03gU() -
Method Summary
Modifier and Type Method Description voidcleanUp()Release memory after a factorization.java.lang.StringgetName()SieveReportgetReport()voidinitializeForAParameter(int d, java.math.BigInteger daParam, SolutionArrays solutionArrays, int filteredBaseSize, int[] qArray)Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.voidinitializeForN(SieveParams sieveParams, BaseArrays baseArrays, int mergedBaseSize)Initialize for a new N.voidsetBParameter(java.math.BigInteger b)Pass the b-parameter to the sieve.java.lang.Iterable<SmoothCandidate>sieve()Sieve for a new set of x1, x2 solutions.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Sieve03gU
public Sieve03gU()
-
-
Method Details
-
getName
public java.lang.String getName() -
initializeForN
Description copied from interface:SieveInitialize for a new N. In PSIQS, this method is called for each thread, so things that can be computed before should be computed before.- Specified by:
initializeForNin interfaceSieve- Parameters:
sieveParams- basic sieve parameters for a new NbaseArrays- the prime base, modular sqrt's, logP-values etc. before filtering out the q-parametersmergedBaseSize- size of the prime base (after eventually merging primes and powers), before filtering q-parameters
-
initializeForAParameter
public void initializeForAParameter(int d, java.math.BigInteger daParam, SolutionArrays solutionArrays, int filteredBaseSize, int[] qArray)Description copied from interface:SieveSet (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.- Specified by:
initializeForAParameterin interfaceSieve- Parameters:
d- 2 if (kN == 1) (mod 8), 1 otherwisedaParam- d*a, where 'a' is the a-parameter and d=2 if kN==1 (mod 8), d=1 elsefilteredBaseSize- number of primes and powers use for sievingqArray- the q-parameters whose product is the a-parameter
-
setBParameter
public void setBParameter(java.math.BigInteger b)Description copied from interface:SievePass the b-parameter to the sieve.- Specified by:
setBParameterin interfaceSieve
-
sieve
Description copied from interface:SieveSieve for a new set of x1, x2 solutions. -
getReport
-
cleanUp
public void cleanUp()Description copied from interface:SieveRelease memory after a factorization.
-