Class Hart_Squarefree
- java.lang.Object
-
- de.tilman_neumann.jml.factor.FactorAlgorithm
-
- de.tilman_neumann.jml.factor.hart.Hart_Squarefree
-
public class Hart_Squarefree extends FactorAlgorithm
A variant of Hart's one line factorizer using k = 315 * s, where s is squarefree (1,2,3,5,6,7,10,11,13,...). For semiprimes having smaller factor >= cbrt(N) this seems to be the fastest algorithm for N from 23 to 35 bits.
-
-
Field Summary
-
Fields inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
DEFAULT, NUM_PRIMES_FOR_31_BIT_TDIV, tdivLimit
-
-
Constructor Summary
Constructors Constructor Description Hart_Squarefree(boolean doTDivFirst)
Full constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
findSingleFactor(long N)
Find a factor of long N.BigInteger
findSingleFactor(BigInteger N)
Find a single factor of the given N, which is composite and odd.String
getName()
static void
main(String[] args)
Test.-
Methods inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
factor, factor, searchFactors
-
-
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getName
in classFactorAlgorithm
- Returns:
- The name of the algorithm, possibly including important parameters.
-
findSingleFactor
public BigInteger findSingleFactor(BigInteger N)
Description copied from class:FactorAlgorithm
Find a single factor of the given N, which is composite and odd.- Specified by:
findSingleFactor
in classFactorAlgorithm
- Returns:
- factor
-
findSingleFactor
public long findSingleFactor(long N)
Find a factor of long N.- Parameters:
N
-- Returns:
- factor of N
-
main
public static void main(String[] args)
Test.- Parameters:
args
- ignored
-
-