The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.10

  • Add: prime_get_config to get configuration options is_strong_pseudoprime better name for miller_rabin is_strong_lucas_pseudoprime strong lucas-selfridge psp test random_nbit_prime for n-bit primes random_maurer_prime provable n-bit primes moebius Mo:bius function euler_phi Euler's phi aka totient
  • full bigint support for everything. Use '-nobigint' as an import to shortcut straight to XS for better speed on some of the very fast functions. This involved moving a lot of functions into Util.pm.
  • added BPSW primality test for large (>2^64) is_prob_prime and is_prime.
  • Add tests for pp and bignum, cleanup of many tests.
  • New bounds for prime_count and nth_prime. Dusart 2010 for larger values, tuned nth_prime_upper for small values. Much tighter.
  • Minor changes:
    • Make miller_rabin return 0 if given even number.
    • The XS miller_rabin code now works with large base > n.
    • factor always returns sorted results
    • miller_rabin() deprecated. Use is_strong_pseudoprime instead.
  • We now should support most of the functionality of: Math::Prime::XS (MPU: more functions, a bit faster) Math::Prime::FastSieve (MPU: more functions, a bit faster) Math::Prime::TiedArray (MPU: a *lot* faster) Math::Factor::XS (MPU: bignums, faster, missing multiplicity) Math::Big::Factors (MPU: orders of magnitude faster) Math::Primality (MPU: more portable, fast native, slow bigint) (MPU+MPU::GMP: faster) Crypt::Primes (MPU: more portable, slower & no fancy options)
    • as well as a tiny bit of: Math::Big (MPU's primes is *much* faster) Bit::Vector (MPU's primes is ~10x faster)

Modules

Utilities related to prime numbers, including fast sieves and factoring
An auto-free object for Math::Prime::Util
Pure Perl version of Math::Prime::Util
A tied array for primes