Interface Sieve
-
- All Known Implementing Classes:
DoubleBlockHybridSieve
,DoubleBlockHybridSieveU
,DoubleBlockSieve
,Sieve03g
,Sieve03gU
,SimpleSieve
,SingleBlockHybridSieve
,SingleBlockHybridSieveU
,SingleBlockSieve
,SingleBlockSieveU
public interface Sieve
Interface for sieve algorithms.- Author:
- Tilman Neumann
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
cleanUp()
Release memory after a factorization.String
getName()
SieveReport
getReport()
void
initializeForAParameter(SolutionArrays primeSolutions, int filteredBaseSize)
Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.void
initializeForN(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.
-
-