Class PSIQSThreadBase

  • All Implemented Interfaces:
    Runnable
    Direct Known Subclasses:
    PSIQSThread, PSIQSThread_SBH_U, PSIQSThread_U

    public abstract class PSIQSThreadBase
    extends Thread
    Base class for polynomial generation/sieve/trial division threads for the parallel SIQS implementation (PSIQS).
    Author:
    Tilman Neumann
    • Constructor Detail

      • PSIQSThreadBase

        public PSIQSThreadBase​(int k,
                               BigInteger N,
                               BigInteger kN,
                               int d,
                               SieveParams sieveParams,
                               BaseArrays baseArrays,
                               AParamGenerator apg,
                               SIQSPolyGenerator polyGenerator,
                               Sieve sieve,
                               TDiv_QS tdiv,
                               CongruenceCollectorParallel 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 Detail

      • run

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

        public void setFinishNow()
      • cleanUp

        public void cleanUp()
      • getPolyReport

        public PolyReport getPolyReport()
      • getTDivReport

        public TDivReport getTDivReport()