Path to this page:
Subject: CVS commit: pkgsrc/math/p5-Math-Prime-Util
From: Wen Heping
Date: 2019-01-12 13:50:10
Message id: 20190112125011.05F6CFB16@cvs.NetBSD.org
Log Message:
Update to 0.73
Upstream changes:
0.73 2018-11-15
[ADDED]
- inverse_totient(n) the image of euler_phi(n)
[FIXES]
- Try to work around 32-bit platforms in semiprime approximations.
Cannot reproduce on any of my 32-bit test platforms.
- Fix RT 127605, memory use in for... iterators.
0.72 2018-11-08
[ADDED]
- nth_semiprime(n) the nth semiprime
- nth_semiprime_approx(n) fast approximate nth semiprime
- semiprime_count_approx(n) fast approximate semiprime count
- semi_primes as primes but for semiprimes
- forsetproduct {...} \@a,\@b,... Cartesian product of list refs
[FIXES]
- Some platforms are extremely slow for is_pillai. Speed up tests.
- Ensure random_factored_integer factor list is sorted min->max.
- forcomposites didn't check lastfor on every callback.
- Sun's compilers, in a valid interpretation of the code, generated
divide by zero code for pillai testing.
[FUNCTIONALITY AND PERFORMANCE]
- chebyshev_theta and chebyshev_psi redone and uses a table.
Large inputs are significantly faster.
- Convert some FP functions to use quadmath if possible. Without
quadmath there should be no change. With quadmath functions like
LogarithmicIntegral and LambertW will be slower but more accurate.
- semiprime_count for non-trivial inputs uses a segmented sieve and
precalculates primes for larger values so can run 2-3x faster.
- forsemiprimes uses a sieve so large ranges are much faster.
- ranged moebius more efficient for small intervals.
- Thanks to GRAY for his module Set::Product which has clean and
clever XS code, which I used to improve my code.
- forfactored uses multicall. Up to 2x faster.
- forperm, forcomb, forderange uses multicall. 2-3x faster.
- Frobenius-Khashin algorithm changed from 2013 version to 2016/2018.
Files: