Changes for version 0.41 - 2016-10-09
- API CHANGES
- bernreal and harmreal will use the second argument to mean the digits of precision to use, rather than the number of digits past the decimal place.
- is_pseudoprime and is_strong_pseudoprime act like Math::Prime::Util.
- ADDED
- todigits(n[,base[,len]]) Convert number to digit array
- zeta(s[,digits]) Riemann Zeta of integer or FP s
- riemannr(s[,digits]) Riemann R function of integer or FP s
- divisors(n) Returns list of divisors
- is_euler_pseudoprime(n,@a) Euler-Jacobi primality test
- OTHER
- With verbose >= 3, prints factors found in partial sieve.
- factor(1) returns empty list, just like non-GMP code.
- factor() went through a Perl layer for obsolete reasons. Removed.
- bernreal and bernfrac will use the Zeta/Pi method for large values, making it orders of magnitude faster for large sizes.
- Added internal FP log, exp, pow functions, which are not in GMP.
- is_prime will do one extra M-R test for probable primes, down from 1-5. Also, if is_provable_prime adds two Frobenius tests if returning a 1.
- Removed Perl layer from is_strong_pseudoprime.
- is_pseudoprime and is_strong_pseudoprime take a list of bases, and there is no default base.
- sieve_primes with small n and large range (e.g. 10^20 to 10^20+8e9) is much faster. This tunes the full vs. partial sieve crossover.
Modules
Utilities related to prime numbers and factoring, using GMP