Changes for version 0.22 - 2014-08-16

  • ADDED
    • moebius(n[,nhi]) Moebius function (single or ranged)
    • liouville(n) Liouville function
    • totient(n) Euler's Totient function (single)
    • jordan_totient(k, n) Jordan totient
    • carmichael_lambda(n) Carmichael Lambda (reduced totient)
    • znorder(a, n) multiplicative order of a mod n
    • znprimroot(n) least primitive root of n
  • OTHER
    • Moved factoring loop out of XS file.
    • factor does much better power splitting, similar to MPU 0.38's code: time mpu 'use bigint; my $n = next_prime(10**20)**200; say join(" ", map {"[@$_]"} factor_exp($n));' time mpu 'use bigint; my $n = next_prime(10**21)**200 * next_prime(10**20)**200; say join(" ", map {"[@$_]"} factor_exp($n));'
    • Fix spelling of Paul Zimmermann's name (thanks to Mathew @ mersenneforum)
    • Standalone ECPP now does expression parsing using the GMP 6.0.0a demo code. Version bumped to 1.04.

Modules

Utilities related to prime numbers and factoring, using GMP