Changes for version 0.49 - 2017-11-27
- ADDED
- Euler([digits]) Euler's constant with this many digits
- li(x[,digits]) Logarithmic Integral of x (x floating point)
- ei(x[,digits]) Exponential Integral of x (x floating point)
- logreal(x[,digits]) Natural logarithm of x
- expreal(x[,digits]) e^x
- powreal(n,x[,digits]) n^x
- agmreal(a,b[,digits]) AGM(a,b) - arithmetic-geometric mean
- prime_count_lower(n) lower bounds for prime count
- prime_count_upper(n) upper bounds for prime count
- FIXES
- When real functions rounded 0.999... to 1.0 and were given too few digits, they could return .0 instead of 1.0.
- OTHER
- moebius handles negative inputs
- Added Jason P's cofactorize-tinyqs, which handles up to 126 bit. This gives us faster and more consistent timing when factoring 20 to 38 digit inputs.
- Rewrite internal log and exp functions. Among other things, this speeds up LambertW and non-integer Zeta by 10x.
- Use Ramanujan/Chudnovsky Pi algorithm. 2x faster with many digits.
- Constants Euler, Pi, and Log2 are cached, just like Pari/GP, MPFR, etc. All three are used quite a bit internally.
- Calling Pi or Euler in void context just calculates (and caches) the value. This saves the expensive string conversion.
Modules
Utilities related to prime numbers and factoring, using GMP