Changes for version 0.67 - 2017-09-23

    • lastfor stops forprimes (etc.) iterations
    • is_square(n) returns 1 if n is a perfect square
    • is_polygonal(n,k) returns 1 if n is a k-gonal number
    • shuffle prototype is @ instead of ;@, so matches List::Util.
    • On Perl 5.8 and earlier we will call PP instead of trying direct-to-GMP. Works around a bug in XS trying to turn the result into an object where 5.8.7 and earlier gets lost.
    • We create more const integers, which speeds up common uses of permutations.
    • CSPRNG now stores context per-thread rather than using a single mutex-protected context. This speeds up anything using random numbers a fair amount, especially with threaded Perls.
    • With the above two optimizations, randperm(144) is 2.5x faster.
    • threading test has threaded srand/irand test added back in, showing context is per-thread. Each thread gets its own sequence and calls to srand/csrand and using randomness doesn't impact other threads.


Utilities related to prime numbers, including fast sieves and factoring
Pure Perl ChaCha20 CSPRNG
Elliptic curve operations for affine points
Elliptic curve operations for projective points
Get a good random seed
An auto-free object for Math::Prime::Util
Pure Perl version of Math::Prime::Util
PP front end for Math::Prime::Util
Primality proofs and certificates
A tied array for primes
An object iterator for primes
Generate random primes
Perl Big Float versions of Riemann Zeta and R functions
Number theory utilities