Changes for version 0.25 - 2018-05-25
- ADDITIONS
- sum(a,b,c,...) sum of a list of numbers.
- prod(a,b,c,...) product of a list of numbers (using binary splitting).
- as_rat(n,b) rational string-representation of n in base b
- bell(n) n-th Bell number (OEIS: A000110)
- catalan(n) n-th Catalan number (OEIS: A000108)
- euler(n) n-th Euler number (OEIS: A122045).
- euler_polynomial(n, x) Euler polynomial (also available as `euler(n, x)`)
- bernoulli_polynomial(n, x) Bernoulli polynomial (also available as `bernoulli(n, x)`).
- geometric_sum(n,r) geometric sum: r^0 + r^1 + ... + r^n
- superfactorial(n) product of first n factorials
- lnsuperfactorial(n) natural logarithm of superfactorial(n)
- hyperfactorial(n) product of k^k for k=1..n
- lnhyperfactorial(n) natural logarithm of hyperfactorial(n)
- bsearch(n,\&f) binary search from 0 to n (exact match)
- bsearch(a,b,\&f) binary search from a to b (exact match)
- bsearch_le(n,\&f) binary search from 0 to n (less than or equal to)
- bsearch_le(a,b,\&f) binary search from a to b (less than or equal to)
- bsearch_ge(n,\&f) binary search from 0 to n (greater than or equal to)
- bsearch_ge(a,b,\&f) binary search from a to b (greater than or equal to)
- IMPROVEMENTS
- Extended the `gcd()` and `lcm()` functions to accept an arbitrary number of arguments.
- Extended the optimizations in `digits(n, b)` and `sumdigits(n, b)` for all values of b <= 62.
- Extended the allowed value of `b` in `base(n, b)`, `as_int(n, b)`, `as_frac(n, b)` and `new(n, b`) to be between 2 and 62.
- Extended the `float(x)` function to convert `x` to any floating-point number, either real or complex (in this order).
- Documentation improvements: added a brief description for each function at the top of the POD file.
- INCOMPATIBLE CHANGES
- Renamed the Euler-Mascheroni constant from `euler` to `EulerGamma`.
- Renamed the Catalan constant from `catalan` to `CatalanG`.
- OTHER
- Increased the minimum required version of Perl from 5.14 to 5.16 (for `__SUB__`).
- Merged all the `AnyNum/*.pm` files into the main `AnyNum.pm` file.
Modules
Arbitrary size precision for integers, rationals, floating-points and complex numbers.
Examples
- examples/agm_pi.pl
- examples/arithmetic_coding.pl
- examples/bernoulli_numbers_from_primes.pl
- examples/bernoulli_numbers_recursive.pl
- examples/bernoulli_seidel.pl
- examples/binary_arithmetic_coding.pl
- examples/binradix_arithmetic_coding.pl
- examples/computing_pi.pl
- examples/faulhaber_s_formula.pl
- examples/fibonacci.pl
- examples/fibonacci_validation.pl
- examples/halley_s_method.pl
- examples/inverse_of_factorial.pl
- examples/is_power.pl
- examples/krzysztof_reformulated_zeta_function.pl
- examples/lambert_W.pl
- examples/mandelbrot_set.pl
- examples/miller_rabin_primality_test.pl
- examples/newton_s_method.pl
- examples/pi_machin.pl
- examples/rsa_algorithm.pl
- examples/solve_pell_equation.pl
- examples/tac-compressor.pl
- examples/tribonacci.pl
- examples/zeta_2n.pl
- examples/zeta_2n_fast.pl