Class PSIQS

java.lang.Object

public class PSIQS
extends PSIQSBase
Multi-threaded SIQS using the fastest sieve not depending on sun.misc.Unsafe.
  • Constructor Details

    • PSIQS

      public PSIQS​(float Cmult, float Mmult, java.lang.Integer wantedQCount, int numberOfThreads, PowerFinder powerFinder, MatrixSolver matrixSolver)
      Standard constructor.
      Parameters:
      Cmult - multiplier for prime base size
      Mmult - multiplier for sieve array size
      wantedQCount - hypercube dimension (null for automatic selection)
      numberOfThreads -
      powerFinder - algorithm to add powers to the primes used for sieving
      matrixSolver - solver for smooth congruences matrix
  • Method Details

    • getName

      public java.lang.String getName()
      Specified by:
      getName in class PSIQSBase
      Returns:
      The name of the algorithm, possibly including important parameters.
    • createThread

      protected PSIQSThreadBase createThread​(int k, java.math.BigInteger N, java.math.BigInteger kN, int d, SieveParams sieveParams, BaseArrays baseArrays, AParamGenerator apg, CongruenceCollector cc, int threadIndex)
      Specified by:
      createThread in class PSIQSBase
    • main

      public static void main​(java.lang.String[] args)
      Stand-alone test. Should only be called with semiprime arguments. For general arguments use class CombinedFactorAlgorithm.
      Parameters:
      args - ignored