Class TDiv_QS_2LP_Full
java.lang.Object
de.tilman_neumann.jml.factor.siqs.tdiv.TDiv_QS_2LP_Full
- All Implemented Interfaces:
TDiv_QS
public class TDiv_QS_2LP_Full extends java.lang.Object implements TDiv_QS
A trial division engine where partials can have up to 2 large factors.
This is an older version that divides by all factors of the prime base.
-
Constructor Summary
Constructors Constructor Description TDiv_QS_2LP_Full(boolean permitUnsafeUsage)
Full constructor. -
Method Summary
Modifier and Type Method Description void
cleanUp()
Release memory after a factorization.java.lang.String
getName()
TDivReport
getReport()
void
initializeForAParameter(java.math.BigInteger da, int d, java.math.BigInteger b, SolutionArrays solutionArrays, int filteredBaseSize, int[] unsievedBaseElements)
Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.void
initializeForN(double N_dbl, SieveParams sieveParams)
Initialize this trial division engine for a new N.java.util.List<AQPair>
testList(java.lang.Iterable<SmoothCandidate> smoothCandidates)
Test if Q(x) is smooth (factors completely over the prime base) or "sufficiently smooth" (factors almost over the prime base) for all x in the given list.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
TDiv_QS_2LP_Full
public TDiv_QS_2LP_Full(boolean permitUnsafeUsage)Full constructor.- Parameters:
permitUnsafeUsage
- if true then SIQS_Small (which is used for N > 310 bit to factor Q-rests) uses a sieve exploiting sun.misc.Unsafe features.
-
-
Method Details
-
getName
public java.lang.String getName() -
initializeForN
Description copied from interface:TDiv_QS
Initialize this trial division engine for a new N.- Specified by:
initializeForN
in interfaceTDiv_QS
sieveParams
- the biggest QRest admitted for a smooth relation
-
initializeForAParameter
public void initializeForAParameter(java.math.BigInteger da, int d, java.math.BigInteger b, SolutionArrays solutionArrays, int filteredBaseSize, int[] unsievedBaseElements)Description copied from interface:TDiv_QS
Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.- Specified by:
initializeForAParameter
in interfaceTDiv_QS
- Parameters:
da
- d*a, with d = 1 or 2 depending on kN % 8d
- the d-valueb
- the (first) b-parameterfilteredBaseSize
- number of primes and powers use for sievingunsievedBaseElements
- Prime base elements that were excluded from sieving, like the q's that give the a-parameter in SIQS
-
testList
Description copied from interface:TDiv_QS
Test if Q(x) is smooth (factors completely over the prime base) or "sufficiently smooth" (factors almost over the prime base) for all x in the given list. -
getReport
-
cleanUp
public void cleanUp()Description copied from interface:TDiv_QS
Release memory after a factorization.
-