Class PSIQSThreadBase
java.lang.Object
java.lang.Thread
de.tilman_neumann.jml.factor.psiqs.PSIQSThreadBase
- All Implemented Interfaces:
java.lang.Runnable
- Direct Known Subclasses:
PSIQSThread,PSIQSThread_SB,PSIQSThread_SB_U,PSIQSThread_U,PSIQSThread_U_3LP,PSIQSThread_U_nLP
public abstract class PSIQSThreadBase
extends java.lang.Thread
Base class for polynomial generation/sieve/trial division threads for the parallel SIQS implementation (PSIQS).
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler -
Field Summary
Fields Modifier and Type Field Description protected TDiv_QSauxFactorizerprotected SIQSPolyGeneratorpolyGeneratorprotected SievesieveFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors Constructor Description PSIQSThreadBase(int k, java.math.BigInteger N, java.math.BigInteger kN, int d, SieveParams sieveParams, BaseArrays baseArrays, AParamGenerator apg, SIQSPolyGenerator polyGenerator, Sieve sieve, TDiv_QS tdiv, CongruenceCollector cc, int threadIndex)Standard constructor. -
Method Summary
Modifier and Type Method Description voidcleanUp()PolyReportgetPolyReport()SieveReportgetSieveReport()TDivReportgetTDivReport()voidrun()voidsetFinishNow()Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yieldMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
polyGenerator
-
sieve
-
auxFactorizer
-
-
Constructor Details
-
PSIQSThreadBase
public PSIQSThreadBase(int k, java.math.BigInteger N, java.math.BigInteger kN, int d, SieveParams sieveParams, BaseArrays baseArrays, AParamGenerator apg, SIQSPolyGenerator polyGenerator, Sieve sieve, TDiv_QS tdiv, CongruenceCollector cc, int threadIndex)Standard constructor.- Parameters:
k- multiplierN- factor argumentkN- k*Nd- the d-parameter of quadratic polynomials Q(x) = (d*a*x + b)^2 - kNsieveParams- basic sieve parametersbaseArrays- primes, power arrays after adding powersapg- a-parameter generatorpolyGenerator- the SIQS polynomial generatorsieve- the sieve enginetdiv- the trial division enginecc- congruence collector, also runs the matrix solverthreadIndex-
-
-
Method Details
-
run
public void run()- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
setFinishNow
public void setFinishNow() -
cleanUp
public void cleanUp() -
getPolyReport
-
getSieveReport
-
getTDivReport
-