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_QS auxFactorizer  
    protected SIQSPolyGenerator polyGenerator  
    protected Sieve sieve  

    Fields 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
    void cleanUp()  
    PolyReport getPolyReport()  
    SieveReport getSieveReport()  
    TDivReport getTDivReport()  
    void run()  
    void setFinishNow()  

    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, yield

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • 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 - multiplier
      N - factor argument
      kN - k*N
      d - the d-parameter of quadratic polynomials Q(x) = (d*a*x + b)^2 - kN
      sieveParams - basic sieve parameters
      baseArrays - primes, power arrays after adding powers
      apg - a-parameter generator
      polyGenerator - the SIQS polynomial generator
      sieve - the sieve engine
      tdiv - the trial division engine
      cc - congruence collector, also runs the matrix solver
      threadIndex -
  • Method Details

    • run

      public void run()
      Specified by:
      run in interface java.lang.Runnable
      Overrides:
      run in class java.lang.Thread
    • setFinishNow

      public void setFinishNow()
    • cleanUp

      public void cleanUp()
    • getPolyReport

      public PolyReport getPolyReport()
    • getSieveReport

      public SieveReport getSieveReport()
    • getTDivReport

      public TDivReport getTDivReport()