Interface Sieve
-
- All Known Implementing Classes:
DoubleBlockHybridSieve,DoubleBlockHybridSieveU,DoubleBlockSieve,Sieve03g,Sieve03gU,SimpleSieve,SingleBlockHybridSieve,SingleBlockHybridSieveU,SingleBlockSieve,SingleBlockSieveU
public interface SieveInterface for sieve algorithms.- Author:
- Tilman Neumann
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcleanUp()Release memory after a factorization.StringgetName()SieveReportgetReport()voidinitializeForAParameter(SolutionArrays primeSolutions, int filteredBaseSize)Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.voidinitializeForN(SieveParams sieveParams, int mergedBaseSize)Initialize for a new N.List<Integer>sieve()Sieve for a new set of x1, x2 solutions.
-
-
-
Method Detail
-
getName
String getName()
- Returns:
- the name of this sieve algorithm
-
initializeForN
void initializeForN(SieveParams sieveParams, int mergedBaseSize)
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 NmergedBaseSize- size of prime/power base after merging, before filtering
-
initializeForAParameter
void initializeForAParameter(SolutionArrays primeSolutions, int filteredBaseSize)
Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.- Parameters:
primeSolutions-filteredBaseSize- number of primes and powers use for sieving
-
sieve
List<Integer> sieve()
Sieve for a new set of x1, x2 solutions.- Returns:
- 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.
-
-