Class SingleBlockSieveU
java.lang.Object
de.tilman_neumann.jml.factor.siqs.sieve.SingleBlockSieveU
- All Implemented Interfaces:
Sieve
public class SingleBlockSieveU extends java.lang.Object implements Sieve
Single block sieve implementation, essentially following [Wambach, Wettig 1995].
-
Constructor Summary
Constructors Constructor Description SingleBlockSieveU(int blockSize)
Full constructor. -
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 solutionArrays, 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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
SingleBlockSieveU
public SingleBlockSieveU(int blockSize)Full constructor.- Parameters:
blockSize
- size of a sieve segment
-
-
Method Details
-
getName
public java.lang.String getName() -
initializeForN
Description copied from interface:Sieve
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.- Specified by:
initializeForN
in 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:Sieve
Set (filtered) prime base and smallest x1, x2 solutions for a new a-parameter.- Specified by:
initializeForAParameter
in 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:Sieve
Pass the b-parameter to the sieve.- Specified by:
setBParameter
in interfaceSieve
-
sieve
Description copied from interface:Sieve
Sieve for a new set of x1, x2 solutions. -
getReport
-
cleanUp
public void cleanUp()Description copied from interface:Sieve
Release memory after a factorization.
-