public Gnfs(BigInteger number, IPolynomialGenerator generator, long rfb, long afb, long sieveSize, ISievingAlgorithm sieve) { _number = number; _generator = generator; _sieveAlgorithm = sieve; _rationalPrimeBound = rfb; _algebraicPrimeBound = afb; _kerDim = 10; _sieveSize = sieveSize; _quadraticCharFbSize = Convert.ToInt64(3 * BigInteger.Log10(number)); }
public Snfs(SpecialNumber number, IPolynomialGenerator generator, long rfb, long afb, long sieveSize) { _number = number; _generator = generator; _rationalPrimeBound = rfb; _algebraicPrimeBound = afb; _kerDim = 10; _sieveSize = sieveSize; _quadraticCharFbSize = Convert.ToInt64(3 * BigInteger.Log10(number.Value())); }
public Gnfs(BigInteger number, IPolynomialGenerator generator) { _number = number; _generator = generator; var exp = Math.Pow(8 / 9.0, 1 / 3.0) * Math.Pow(BigInteger.Log(number), 1 / 3.0) * Math.Pow(Math.Log(BigInteger.Log(number)), 2 / 3.0); _sieveAlgorithm = new LogSieve(); _rationalPrimeBound = Convert.ToInt64(Math.Exp(exp) / 2); _algebraicPrimeBound = _rationalPrimeBound; _kerDim = 10; _sieveSize = 5000000; _quadraticCharFbSize = Convert.ToInt64(3 * BigInteger.Log10(number)); }