Class CongruenceCollectorParallel
- java.lang.Object
-
- de.tilman_neumann.jml.factor.base.congruence.CongruenceCollector
-
- de.tilman_neumann.jml.factor.base.congruence.CongruenceCollectorParallel
-
public class CongruenceCollectorParallel extends CongruenceCollector
Collects smooth and partial congruences, and assembles partials to smooth congruences on-the-fly. Partials may have any number of large factors. This implementation is appropriate for multi-threaded congruence generation.- Author:
- Tilman Neumann
-
-
Field Summary
Fields Modifier and Type Field Description BigIntegerfactor-
Fields inherited from class de.tilman_neumann.jml.factor.base.congruence.CongruenceCollector
COUNT_CYCLES
-
-
Constructor Summary
Constructors Constructor Description CongruenceCollectorParallel(int extraCongruences)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcollectAndProcessAQPairs(List<AQPair> aqPairs)Collect AQ pairs and run the matrix solver if appropriate.longgetCollectDuration()longgetSolverDuration()intgetSolverRunCount()voidinitialize(BigInteger N, int requiredSmoothCongruenceCount, MatrixSolver matrixSolver, FactorTest factorTest)Initialize congruence collector for a new N.-
Methods inherited from class de.tilman_neumann.jml.factor.base.congruence.CongruenceCollector
add, addSmooth, cleanUp, getCycleCountResult, getPartialCongruenceCount, getReport, getSmoothCongruenceCount, getSmoothCongruences, initialize
-
-
-
-
Field Detail
-
factor
public BigInteger factor
-
-
Method Detail
-
initialize
public void initialize(BigInteger N, int requiredSmoothCongruenceCount, MatrixSolver matrixSolver, FactorTest factorTest)
Initialize congruence collector for a new N.- Parameters:
N-requiredSmoothCongruenceCount-matrixSolver-factorTest-
-
collectAndProcessAQPairs
public void collectAndProcessAQPairs(List<AQPair> aqPairs)
Collect AQ pairs and run the matrix solver if appropriate. This method should be run in a block synchronized on this.- Parameters:
aqPairs-
-
getCollectDuration
public long getCollectDuration()
-
getSolverDuration
public long getSolverDuration()
-
getSolverRunCount
public int getSolverRunCount()
-
-