Changes for version 0.28 - 2018-09-29
- ADDITIONS
- lucasU(p, q, n) Lucas U sequence
- lucasV(p, q, n) Lucas V sequence
- lucasUmod(p, q, n, m) Lucas U sequence mod m
- lucasVmod(p, q, n, m) Lucas V sequence mod m
- bit_scan0(n, k) index of the first 0-bit of n with index >= k
- bit_scan1(n, k) index of the first 1-bit of n with index >= k
- hamdist(n, k) Hamming distance (number of bit-positions where the bits differ)
- gcdext(n, k) return (u,v,d) where `u*n + v*k = d`
- is_congruent(n, k, m)` true if `n` is congruent to `k` mod `m`
- IMPROVEMENTS
- More efficient algorithms in `fibmod(n, m)` and `lucasmod(n, m)`.
- Optimized the `div(Scalar, AnyNum)` case. It no longer converts the Scalar to a temporary object.
- Extended the `catalan()` function to accept an optional argument, computing the entries of Catalan's triangle `C(n,k)`.
Modules
Arbitrary size precision for integers, rationals, floating-points and complex numbers.
Examples
- examples/BPSW_primality_test.pl
- examples/PSW_primality_test.pl
- 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