Changelog for
perl-Math-Prime-Util-0.58-1.1.x86_64.rpm :
Mon Jun 13 14:00:00 2016 cooloAATTsuse.com
- updated to 0.58
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
0.58 2016-05-21
[API Changes]
- prev_prime($n) where $n <= 2 now returns undef instead of 0. This
may enable catching range errors, and is technically more correct.
- nth_prime(0) now returns undef instead of 0. This should help catch
cases where the base wasn\'t understood. The change is similar for
all the nth_
* functions (e.g. nth_twin_prime).
- sumdigits(n,base) will interpret n as a number in the given base,
rather than the Pari/GP method of converting decimal n to that base
then summing. This allows sumdigits to easily sum hex strings.
The old behavior is easily done with vecsum(todigits(n, base)).
- binary() was not intended to be released (todigits and todigitstring
are supersets), but the documentation got left in. Remove docs.
[ADDED]
- addmod(a, b, n) a + b mod n
- mulmod(a, b, n) a
* b mod n
- divmod(a, b, n) a / b mod n
- powmod(a, b, n) a ^ b mod n
- sqrtmod(a, n) modular square root
- is_euler_pseudoprime(n,a[...]) Euler test to given bases
- is_primitive_root(r, n) is r a primitive root mod n
- is_quasi_carmichael(n) is n a Quasi-Carmichael number
- hclassno(n) Hurwitz class number H(n)
* 12
- sieve_range(n, width, depth) sieve to given depth, return offsets
[FUNCTIONALITY AND PERFORMANCE]
- Fixed incorrect table entries for 2^16th Ramanujan prime count and
nth_ramanujan_prime(23744).
- foroddcomposites with certain arguments would start with 10 instead of 9.
- lucasu and lucasv should return bigint types.
- vecsum will handle 128-bit sums internally (performance increase).
- Speedup is_carmichael.
- Speedup znprimroot, 10% for small inputs, 10x for large composites.
- Speedup znlog ~2x. It is now Rho racing an interleaved BSGS.
- Change AKS to Bernstein 2003 theorem 4.1.
5-20x faster than Bornemann, 20000+x faster than V6.
- sum_primes now uses tables for native sizes (performance increase).
- ramanujan_tau uses Cohen\'s hclassno method instead of the sigma
calculation. This is 3-4x faster than the GMP code for inputs > 300k,
and much faster than the older PP code.
- fromdigits much faster for large base-10 arrays. Timing is better than
split plus join when output is a bigint.
0.57 2016-01-03
[ADDED]
- formultiperm { ... } \\AATTn loop over multiset permutations
- todigits(n[,base[,len]]) convert n to digit array
- todigitstring(n[,base[,len]]) convert n to string
- fromdigits(\\AATTd[,base]) convert digit array ref to number
- fromdigits(str[,base]) convert string to number
- ramanujan_prime_count counts Ramanujan primes in range
- vecany { expr } AATTn true if any expr is true
- vecall { expr } AATTn true if all expr are true
- vecnone { expr } AATTn true if no expr are true
- vecnotall { expr } AATTn true if not all expr are true
- vecfirst { expr } AATTn returns first element with expr true
[FUNCTIONALITY AND PERFORMANCE]
- nth_ramanujan_prime(997) was wrong. Fixed.
- Tighten Ramanujan prime bounds. Big speedups for large nth Rp.
0.56 2015-12-13
[ADDED]
- is_carmichael(n) Returns 1 if n is a Carmichael number
- forcomp { ... } n[,{...}] loop over compositions
[FUNCTIONALITY AND PERFORMANCE]
- Faster, nonrecursive divisors_from_factors routine.
- gcdext(0,0) returns (0,0,0) to match GMP and Pari/GP.
- Use better prime count lower/upper bounds from Büthe 2015.
- forpart and forcomp both use lexicographic order (was anti-lexico).
0.55 2015-10-19
- Fixed test that was using a 64-bit number on 32-bit machines.
[FUNCTIONALITY AND PERFORMANCE]
- Speed up PP versions of sieve_prime_cluster, twin_primes,
twin_prime_count, nth_twin_prime, primes.
0.54 2015-10-14
[ADDED]
- sieve_prime_cluster(low,high[,...]) find prime clusters
[Misc]
- Certain small primes used to return false with Frobenius and AES Lucas
tests when given extra arguments. Both are unusual cases never used
by the main system. Fixed.
0.53 2015-09-05
[ADDED]
- ramanujan_tau(n) Ramanujan\'s Tau function
- sumdigits(n[,base]) sum digits of n
[FUNCTIONALITY AND PERFORMANCE]
- Don\'t use Math::MPFR unless underlying MPFR library is at least 3.x.
- Use new Math::Prime::Util::GMP::sigma function for divisor_sum.
- Use new Math::Prime::Util::GMP::sieve_twin_primes(a,b).
Sun Sep 20 14:00:00 2015 cooloAATTsuse.com
- initial package 0.52
* created by cpanspec 1.78.08