Changes for version 0.29

  • Fix a signed vs. unsigned char issue in ranged moebius. Thanks to the Debian testers for finding this.
  • XS is_prob_prime / is_prime now use a BPSW-style test (SPRP2 plus extra strong Lucas test) for values over 2^32. This results in up to 2.5x faster performance for large 64-bit values on most machines. All PSP2s have been verified with Jan Feitsma's database.
  • forprimes now uses a segmented sieve. This (1) allows arbitrary 64-bit ranges with good memory use, and (2) allows nesting on threaded perls.
  • prime_count_approx for very large values (> 10^36) was very slow without Math::MPFR. Switch to Li+correction for large values if Math::MPFR is not available.
  • Workaround for MSVC compiler.
  • Added: is_pseudoprime (Fermat probable prime test) is_lucas_pseudoprime (standard Lucas-Selfridge test) is_extra_strong_lucas_pseudoprime (Mo/Jones/Grantham E.S. Lucas test)

Modules

Utilities related to prime numbers, including fast sieves and factoring
Elliptic curve operations for affine points
Elliptic curve operations for projective points
An auto-free object for Math::Prime::Util
Pure Perl version of Math::Prime::Util
A tied array for primes
Perl Big Float versions of Riemann Zeta and R functions