Interface Sieve
- All Known Implementing Classes:
Sieve03g,Sieve03gU,Sieve03h,Sieve03hU,SimpleSieve,SingleBlockSieve,SingleBlockSieveU
public interface Sieve
Interface for sieve algorithms.
-
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 primeSolutions, 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.
-
Method Details
-
getName
java.lang.String getName()- Returns:
- the name of this sieve algorithm
-
initializeForN
Initialize for a new N. In PSIQS, this method is called for each thread, so things that can be computed before should be computed before.- 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
void initializeForAParameter(int d, java.math.BigInteger daParam, SolutionArrays primeSolutions, int filteredBaseSize, int[] qArray)Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.- 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 elseprimeSolutions-filteredBaseSize- number of primes and powers use for sievingqArray- the q-parameters whose product is the a-parameter
-
setBParameter
void setBParameter(java.math.BigInteger b)Pass the b-parameter to the sieve.- Parameters:
b-
-
sieve
java.lang.Iterable<SmoothCandidate> sieve()Sieve for a new set of x1, x2 solutions.- Returns:
- (something like a) list of sieve locations x where Q(x) is smooth enough to be passed to trial division
-
getReport
SieveReport getReport()- Returns:
- description of the durations of the individual sub-phases
-
cleanUp
void cleanUp()Release memory after a factorization.
-