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 void
cleanUp()
Release memory after a factorization.java.lang.String
getName()
SieveReport
getReport()
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.void
initializeForN(SieveParams sieveParams, BaseArrays baseArrays, int mergedBaseSize)
Initialize for a new N.void
setBParameter(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.
-