- updated to 0.73 see /usr/share/doc/packages/perl-Math-Prime-Util/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. 0.71 2018-08-28 [ADDED] - forfactored { ... } a,b loop n=a..b setting $_=n, @_=factor(n) - forsquarefree { ... } a,b as forfactored, but only square-free n - forsemiprimes { ... } a,b as forcomposites, but only semiprimes - random_factored_integer(n) random [1..n] w/ array ref of factors - semiprime_count([lo],hi) counts semiprimes in range [FIXES] - Monolithic sieves beyond 30*2^32 (~ 1.2 * 10^11) overflowed. - is_semiprime was wrong for five small values since 0.69. Fixed. [FUNCTIONALITY AND PERFORMANCE] - is_primitive_root much faster (doesn't need to calulate totient, and faster rejection when n has no primitive root). - znprimroot and znorder use Montgomery, 1.2x to 2x faster. - slightly faster sieve_range for native size inputs (use factor_one). - bin/primes.pl faster for palindromic primes and works for 10^17 [OTHER] - Added ability to use -DBENCH_SEG for benchmarking sieves using prime_count and ntheory::_segment_pi without table optimizations. - Reorg of main factor loop. Should be identical from external view. - Internal change to is_semiprime and is_catalan_pseudoprime. 0.70 2017-12-02 [FIXES] - prime_count(a,b) incorrect for a={3..7} and b < 66000000. First appeared in v0.65 (May 2017). Reported by Trizen. Fixed. - Also impacted were nth_ramanujan_prime and _lower/_upper for small input values. [FUNCTIONALITY AND PERFORMANCE] - Some utility functions used prime counts. Unlink for more isolation. - prime_count_approx uses full precision for bigint or string input. - LogarithmicIntegral and ExponentialIntegral will try to use our GMP backend if possible. - Work around old Math::BigInt::FastCalc (as_int() doesn't work right). - prime_memfree also calls GMP's memfree function. This will clear the cached constants (e.g. Pi, Euler). - Calling srand or csrand will also result in the GMP backend CSPRNG functions being called. This gives more consistent behavior. [OTHER] - Turned off threads testing unless release or extended testing is used. A few smokers seem to have threads lib that die before we event start. - Removed all Math::MPFR code and references. The latest GMP backend has everything we need. - The MPU_NO_XS and MPU_NO_GMP environment variables are documented. 0.69 2017-11-08 [ADDED] - is_totient(n) true if euler_phi(x) == n for some x [FUNCTIONALITY AND PERFORMANCE] - is_square_free uses abs(n), like Pari and moebius. - is_primitive_root could be wrong with even n on some platforms. - euler_phi and moebius with negative range inputs weren't consistent. - factorialmod given a large n and m where m was a composite with large square factors was incorrect. Fixed. - numtoperm will accept negative k values (k is always mod n!) - Split XS mapping of many primality tests. Makes more sense and improves performance for some calls. - Split final test in PP cluster sieve. - Support some new Math::Prime::Util::GMP functions from 0.47. - C spigot Pi is 30-60% faster on x86_64 by using 32-bit types. - Reworked some factoring code. - Remove ISAAC (Perl and C) since we use ChaCha. - Each thread allocs a new const array again instead of sharing. 0.68 2017-10-19 [API Changes] - forcomb with one argument iterates over the power set, so k=0..n instead of k=n. The previous behavior was undocumented. The new behavior matches Pari/GP (forsubset) and Perl6 (combinations). [ADDED] - factorialmod(n,m) n! mod m calculated efficiently - is_fundamental(d) true if d a fundamental discriminant [FUNCTIONALITY AND PERFORMANCE] - Unknown bigint classes no longer return two values after objectify. Thanks to Daniel Șuteu for finding this. - Using lastfor inside a formultiperm works correctly now. - randperm a little faster for k < n cases, and can handle big n values without running out of memory as long as k << n. E.g. 5000 random native ints without dups: @r = randperm(~0,5000); - forpart with primes pulls min/max values in for a small speedup. - forderange 10-20% faster. - hammingweight for bigints 3-8x faster. - Add Math::GMPq and Math::AnyNum as possible bigint classes. Inputs of these types will be relied on to stringify correctly, and if this results in an integer string, to intify correctly. This should give a large speedup for these types. - Factoring native integers is 1.2x - 2x faster. This is due to a number of changes. - Add Lehman factoring core. Since this is not exported or used by default, the API for factor_lehman may change. - All new Montgomery math. Uses mulredc asm from Ben Buhrow. Faster and smaller. Most primality and factoring code 10% faster. - Speedup for factoring by running more Pollard-Rho-Brent, revising SQUFOF, updating HOLF, updating recipe. 0.67 2017-09-23 [ADDED] - lastfor stops forprimes (etc.) iterations - is_square(n) returns 1 if n is a perfect square - is_polygonal(n,k) returns 1 if n is a k-gonal number [FUNCTIONALITY AND PERFORMANCE] - shuffle prototype is @ instead of ;@, so matches List::Util. - On Perl 5.8 and earlier we will call PP instead of trying direct-to-GMP. Works around a bug in XS trying to turn the result into an object where 5.8.7 and earlier gets lost. - We create more const integers, which speeds up common uses of permutations. - CSPRNG now stores context per-thread rather than using a single mutex-protected context. This speeds up anything using random numbers a fair amount, especially with threaded Perls. - With the above two optimizations, randperm(144) is 2.5x faster. - threading test has threaded srand/irand test added back in, showing context is per-thread. Each thread gets its own sequence and calls to srand/csrand and using randomness doesn't impact other threads. OBS-URL: https://build.opensuse.org/request/show/730893 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Math-Prime-Util?expand=0&rev=4
1296 lines
44 KiB
Plaintext
1296 lines
44 KiB
Plaintext
-------------------------------------------------------------------
|
|
Wed Apr 3 07:13:11 UTC 2019 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to 0.73
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/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.
|
|
|
|
|
|
0.71 2018-08-28
|
|
|
|
[ADDED]
|
|
|
|
- forfactored { ... } a,b loop n=a..b setting $_=n, @_=factor(n)
|
|
- forsquarefree { ... } a,b as forfactored, but only square-free n
|
|
- forsemiprimes { ... } a,b as forcomposites, but only semiprimes
|
|
- random_factored_integer(n) random [1..n] w/ array ref of factors
|
|
- semiprime_count([lo],hi) counts semiprimes in range
|
|
|
|
[FIXES]
|
|
|
|
- Monolithic sieves beyond 30*2^32 (~ 1.2 * 10^11) overflowed.
|
|
|
|
- is_semiprime was wrong for five small values since 0.69. Fixed.
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- is_primitive_root much faster (doesn't need to calulate totient,
|
|
and faster rejection when n has no primitive root).
|
|
|
|
- znprimroot and znorder use Montgomery, 1.2x to 2x faster.
|
|
|
|
- slightly faster sieve_range for native size inputs (use factor_one).
|
|
|
|
- bin/primes.pl faster for palindromic primes and works for 10^17
|
|
|
|
[OTHER]
|
|
|
|
- Added ability to use -DBENCH_SEG for benchmarking sieves using
|
|
prime_count and ntheory::_segment_pi without table optimizations.
|
|
|
|
- Reorg of main factor loop. Should be identical from external view.
|
|
|
|
- Internal change to is_semiprime and is_catalan_pseudoprime.
|
|
|
|
|
|
0.70 2017-12-02
|
|
|
|
[FIXES]
|
|
|
|
- prime_count(a,b) incorrect for a={3..7} and b < 66000000.
|
|
First appeared in v0.65 (May 2017).
|
|
Reported by Trizen. Fixed.
|
|
|
|
- Also impacted were nth_ramanujan_prime and _lower/_upper for
|
|
small input values.
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Some utility functions used prime counts. Unlink for more isolation.
|
|
|
|
- prime_count_approx uses full precision for bigint or string input.
|
|
|
|
- LogarithmicIntegral and ExponentialIntegral will try to use
|
|
our GMP backend if possible.
|
|
|
|
- Work around old Math::BigInt::FastCalc (as_int() doesn't work right).
|
|
|
|
- prime_memfree also calls GMP's memfree function. This will clear the
|
|
cached constants (e.g. Pi, Euler).
|
|
|
|
- Calling srand or csrand will also result in the GMP backend CSPRNG
|
|
functions being called. This gives more consistent behavior.
|
|
|
|
[OTHER]
|
|
|
|
- Turned off threads testing unless release or extended testing is used.
|
|
A few smokers seem to have threads lib that die before we event start.
|
|
|
|
- Removed all Math::MPFR code and references. The latest GMP backend
|
|
has everything we need.
|
|
|
|
- The MPU_NO_XS and MPU_NO_GMP environment variables are documented.
|
|
|
|
|
|
0.69 2017-11-08
|
|
|
|
[ADDED]
|
|
|
|
- is_totient(n) true if euler_phi(x) == n for some x
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- is_square_free uses abs(n), like Pari and moebius.
|
|
|
|
- is_primitive_root could be wrong with even n on some platforms.
|
|
|
|
- euler_phi and moebius with negative range inputs weren't consistent.
|
|
|
|
- factorialmod given a large n and m where m was a composite with
|
|
large square factors was incorrect. Fixed.
|
|
|
|
- numtoperm will accept negative k values (k is always mod n!)
|
|
|
|
- Split XS mapping of many primality tests. Makes more sense and
|
|
improves performance for some calls.
|
|
|
|
- Split final test in PP cluster sieve.
|
|
|
|
- Support some new Math::Prime::Util::GMP functions from 0.47.
|
|
|
|
- C spigot Pi is 30-60% faster on x86_64 by using 32-bit types.
|
|
|
|
- Reworked some factoring code.
|
|
|
|
- Remove ISAAC (Perl and C) since we use ChaCha.
|
|
|
|
- Each thread allocs a new const array again instead of sharing.
|
|
|
|
|
|
0.68 2017-10-19
|
|
|
|
[API Changes]
|
|
|
|
- forcomb with one argument iterates over the power set, so k=0..n
|
|
instead of k=n. The previous behavior was undocumented. The new
|
|
behavior matches Pari/GP (forsubset) and Perl6 (combinations).
|
|
|
|
[ADDED]
|
|
|
|
- factorialmod(n,m) n! mod m calculated efficiently
|
|
- is_fundamental(d) true if d a fundamental discriminant
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Unknown bigint classes no longer return two values after objectify.
|
|
Thanks to Daniel Șuteu for finding this.
|
|
|
|
- Using lastfor inside a formultiperm works correctly now.
|
|
|
|
- randperm a little faster for k < n cases, and can handle big n
|
|
values without running out of memory as long as k << n.
|
|
E.g. 5000 random native ints without dups: @r = randperm(~0,5000);
|
|
|
|
- forpart with primes pulls min/max values in for a small speedup.
|
|
|
|
- forderange 10-20% faster.
|
|
|
|
- hammingweight for bigints 3-8x faster.
|
|
|
|
- Add Math::GMPq and Math::AnyNum as possible bigint classes. Inputs
|
|
of these types will be relied on to stringify correctly, and if this
|
|
results in an integer string, to intify correctly. This should give
|
|
a large speedup for these types.
|
|
|
|
- Factoring native integers is 1.2x - 2x faster. This is due to a
|
|
number of changes.
|
|
|
|
- Add Lehman factoring core. Since this is not exported or used by
|
|
default, the API for factor_lehman may change.
|
|
|
|
- All new Montgomery math. Uses mulredc asm from Ben Buhrow.
|
|
Faster and smaller. Most primality and factoring code 10% faster.
|
|
|
|
- Speedup for factoring by running more Pollard-Rho-Brent, revising
|
|
SQUFOF, updating HOLF, updating recipe.
|
|
|
|
|
|
0.67 2017-09-23
|
|
|
|
[ADDED]
|
|
|
|
- lastfor stops forprimes (etc.) iterations
|
|
- is_square(n) returns 1 if n is a perfect square
|
|
- is_polygonal(n,k) returns 1 if n is a k-gonal number
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- shuffle prototype is @ instead of ;@, so matches List::Util.
|
|
|
|
- On Perl 5.8 and earlier we will call PP instead of trying
|
|
direct-to-GMP. Works around a bug in XS trying to turn the
|
|
result into an object where 5.8.7 and earlier gets lost.
|
|
|
|
- We create more const integers, which speeds up common uses of
|
|
permutations.
|
|
|
|
- CSPRNG now stores context per-thread rather than using a single
|
|
mutex-protected context. This speeds up anything using random
|
|
numbers a fair amount, especially with threaded Perls.
|
|
|
|
- With the above two optimizations, randperm(144) is 2.5x faster.
|
|
|
|
- threading test has threaded srand/irand test added back in, showing
|
|
context is per-thread. Each thread gets its own sequence and calls
|
|
to srand/csrand and using randomness doesn't impact other threads.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 13 05:46:06 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.66
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
0.66 2017-09-12
|
|
|
|
[ADDED]
|
|
|
|
- random_semiprime random n-bit semiprime (even split)
|
|
- random_unrestricted_semiprime random n-bit semiprime
|
|
- forderange { ... } n derangements iterator
|
|
- numtoperm(n,k) returns kth permutation of n elems
|
|
- permtonum([...]) returns rank of permutation array ref
|
|
- randperm(n[,k]) random permutation of n elements
|
|
- shuffle(...) random permutation of an array
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Rewrite sieve marking based on Kim Walisch's new simple mod-30 sieve.
|
|
Similar in many ways to my old code, but this is simpler and faster.
|
|
|
|
- is_pseudoprime, is_euler_pseudoprime, is_strong_pseudoprime changed to
|
|
better handle the unusual case of base >= n.
|
|
|
|
- Speedup for is_carmichael.
|
|
|
|
- is_frobenius_underwood_pseudoprime checks for jacobi == 0. Faster.
|
|
|
|
- Updated Montgomery inverse from Robert Gerbicz.
|
|
|
|
- Tighter nth prime bounds for large inputs from Axler 2017-06.
|
|
Redo Ramanujan bounds since they're based on nth prime bounds.
|
|
|
|
- chinese objectifies result (i.e. big results are bigints).
|
|
|
|
- Internal support for Baillie-Wagstaff (pg 1402) extra Lucas tests.
|
|
|
|
- More standardized Lucas parameter selection. Like other tests and the
|
|
1980 paper, checks jacobi(D) in the loop, not gcd(D).
|
|
|
|
- entropy_bytes, srand, and csrand moved to XS.
|
|
|
|
- Add -secure import to disallow all manual seeding.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 12 05:46:29 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 11 05:49:10 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Sep 10 05:48:46 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Sep 9 05:53:38 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 8 05:45:09 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Sep 7 05:47:49 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 6 05:52:22 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 5 05:47:30 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 4 05:44:41 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Sep 3 05:53:27 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Sep 2 05:52:34 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 1 05:52:33 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 31 05:50:32 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 30 05:53:40 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 29 05:51:03 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 28 07:05:17 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 27 05:52:04 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 26 05:50:35 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 25 05:50:23 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 24 05:57:00 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 23 05:48:47 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 22 05:52:18 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 21 05:48:35 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 20 05:49:02 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 19 05:48:09 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 18 05:46:17 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 16 05:48:10 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 15 05:47:30 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 14 05:52:38 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 13 05:52:39 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 12 05:51:42 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 11 05:53:47 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 10 06:01:07 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 9 05:55:59 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 8 05:51:28 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 7 05:54:27 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 6 05:50:31 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 5 05:52:39 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 4 05:53:38 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 3 05:48:05 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 2 05:54:20 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 1 05:53:57 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 31 05:53:05 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 29 05:52:03 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 28 05:51:12 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 27 05:49:15 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 26 05:51:26 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 25 05:49:22 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 24 05:50:57 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 23 05:50:54 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 22 05:55:03 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 21 05:47:19 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 19 05:52:22 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 17 05:47:34 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 16 05:45:21 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 15 05:46:44 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 14 05:45:52 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 13 05:44:59 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 12 05:45:06 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 11 05:53:48 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 10 05:55:21 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 9 05:50:43 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 8 05:50:07 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 7 05:50:13 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 6 05:51:25 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 5 05:48:55 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 4 05:51:12 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 3 05:49:53 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 2 05:47:17 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 1 05:50:00 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 30 05:48:33 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 29 05:53:39 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 28 05:50:11 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 27 05:47:28 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 26 05:45:09 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jun 25 05:55:06 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jun 24 05:54:39 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 23 05:52:28 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 22 05:51:22 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 21 05:58:29 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 20 05:58:32 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 19 05:51:36 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jun 18 05:52:33 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jun 17 05:52:27 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 16 05:52:52 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 15 05:51:09 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 14 05:52:02 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 9 05:59:24 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 2 06:08:16 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 1 06:04:03 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed May 31 06:05:29 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Tue May 30 06:08:20 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Mon May 29 06:03:35 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sun May 28 06:05:02 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Sat May 27 06:04:52 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 26 06:04:51 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 25 08:33:09 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 0.65
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
0.65 2017-05-03
|
|
|
|
[API Changes]
|
|
|
|
- Config options irand and primeinc are deprecated. They will carp if set.
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Add Math::BigInt::Lite to list of known bigint objects.
|
|
|
|
- sum_primes fix for certain ranges with results near 2^64.
|
|
|
|
- is_prime, next_prime, prev_prime do a lock-free check for a find-in-cache
|
|
optimization. This is a big help on on some platforms with many threads.
|
|
|
|
- C versions of LogarithmicIntegral and inverse_li rewritten.
|
|
inverse_li honors the documentation promise within FP representation.
|
|
Thanks to Kim Walisch for motivation and discussion.
|
|
|
|
- Slightly faster XS nth_prime_approx.
|
|
|
|
- PP nth_prime_approx uses inverse_li past 1e12, which should run
|
|
at a reasonable speed now.
|
|
|
|
- Adjusted crossover points for segment vs. LMO interval prime_count.
|
|
|
|
- Slightly tighter prime_count_lower, nth_prime_upper, and Ramanujan bounds.
|
|
|
|
|
|
0.64 2017-04-17
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- inverse_li switched to Halley instead of binary search. Faster.
|
|
|
|
- Don't call pre-0.46 GMP backend directly for miller_rabin_random.
|
|
|
|
|
|
0.63 2017-04-16
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Moved miller_rabin_random to separate interface.
|
|
Make catching of negative bases more explicit.
|
|
|
|
|
|
0.62 2017-04-16
|
|
|
|
[API Changes]
|
|
|
|
- The 'irand' config option is removed, as we now use our own CSPRNG.
|
|
It can be seeded with csrand() or srand(). The latter is not exported.
|
|
|
|
- The 'primeinc' config option is deprecated and will go away soon.
|
|
|
|
[ADDED]
|
|
|
|
- irand() Returns uniform random 32-bit integer
|
|
- irand64() Returns uniform random 64-bit integer
|
|
- drand([fmax]) Returns uniform random NV (floating point)
|
|
- urandomb(n) Returns uniform random integer less than 2^n
|
|
- urandomm(n) Returns uniform random integer in [0, n-1]
|
|
- random_bytes(nbytes) Return a string of CSPRNG bytes
|
|
- csrand(data) Seed the CSPRNG
|
|
- srand([UV]) Insecure seed for the CSPRNG (not exported)
|
|
- entropy_bytes(nbytes) Returns data from our entropy source
|
|
|
|
- :rand Exports srand, rand, irand, irand64
|
|
|
|
- nth_ramanujan_prime_upper(n) Upper limit of nth Ramanujan prime
|
|
- nth_ramanujan_prime_lower(n) Lower limit of nth Ramanujan prime
|
|
- nth_ramanujan_prime_approx(n) Approximate nth Ramanujan prime
|
|
- ramanujan_prime_count_upper(n) Upper limit of Ramanujan prime count
|
|
- ramanujan_prime_count_lower(n) Lower limit of Ramanujan prime count
|
|
- ramanujan_prime_count_approx(n) Approximate Ramanujan prime count
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- vecsum is faster when returning a bigint from native inputs (we
|
|
construct the 128-bit string in C, then call _to_bigint).
|
|
|
|
- Add a simple Legendre prime sum using uint128_t, which means only for
|
|
modern 64-bit compilers. It allows reasonably fast prime sums for
|
|
larger inputs, e.g. 10^12 in 10 seconds. Kim Walisch's primesum is
|
|
much more sophisticated and over 100x faster.
|
|
|
|
- is_pillai about 10x faster for composites.
|
|
|
|
- Much faster Ramanujan prime count and nth prime. These also now use
|
|
vastly less memory even with large inputs.
|
|
|
|
- small speed ups for cluster sieve.
|
|
|
|
- faster PP is_semiprime.
|
|
|
|
- Add prime option to forpart restrictions for all prime / non-prime.
|
|
|
|
- is_primitive_root needs two args, as documented.
|
|
|
|
- We do random seeding ourselves now, so remove dependency.
|
|
|
|
- Random primes functions moved to XS / GMP, 3-10x faster.
|
|
|
|
|
|
0.61 2017-03-12
|
|
|
|
[ADDED]
|
|
|
|
- is_semiprime(n) Returns 1 if n has exactly 2 prime factors
|
|
- is_pillai(p) Returns 0 or v wherev v! % n == n-1 and n % v != 1
|
|
- inverse_li(n) Integer inverse of Logarithmic Integral
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- is_power(-1,k) now returns true for odd k.
|
|
|
|
- RiemannZeta with GMP was not subtracting 1 from results > 9.
|
|
|
|
- PP Bernoulli algorithm changed to Seidel from Brent-Harvey. 2x speedup.
|
|
Math::BigNum is 10x faster, and our GMP code is 2000x faster.
|
|
|
|
- LambertW changes in C and PP. Much better initial approximation, and
|
|
switch iteration from Halley to Fritsch. 2 to 10x faster.
|
|
|
|
- Try to use GMP LambertW for bignums if it is available.
|
|
|
|
- Use Montgomery math in more places:
|
|
= sqrtmod. 1.2-1.7x faster.
|
|
= is_primitive_root. Up to 2x faster for some inputs.
|
|
= p-1 factoring stage 1.
|
|
|
|
- Tune AKS r/s selection above 32-bit.
|
|
|
|
- primes.pl uses twin_primes function for ~3x speedup.
|
|
|
|
- native chinese can handle some cases that used to overflow. Use Shell
|
|
sort on moduli to prevent pathological-but-reasonable test case.
|
|
|
|
- chinese directly to GMP
|
|
|
|
- Switch to Bytes::Random::Secure::Tiny -- fewer dependencies.
|
|
|
|
- PP nth_prime_approx has better MSE and uses inverse_li above 10^12.
|
|
|
|
- All random prime functions will use GMP versions if possible and
|
|
if a custom irand has not been configured.
|
|
They are much faster than the PP versions at smaller bit sizes.
|
|
|
|
- is_carmichael and is_pillai small speedups.
|
|
|
|
|
|
0.60 2016-10-09
|
|
|
|
[ADDED]
|
|
|
|
- vecfirstidx { expr } @n returns first index with expr true
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Expanded and modified prime count sparse tables. Prime counts from 30k
|
|
to 90M are 1.2x to 2.5x faster. It has no appreciable effect on the
|
|
speed of prime counts larger than this size.
|
|
|
|
- fromdigits works with bigint first arg, no need to stringify.
|
|
Slightly faster for bigints, but slower than desired.
|
|
|
|
- Various speedups and changes for fromdigits, todigits, todigitstring.
|
|
|
|
- vecprod in PP for negative high-bit would return double not bigint.
|
|
|
|
- Lah numbers added as Stirling numbers of the third kind. They've been
|
|
in the GMP code for almost 2 years now. Also for big results, directly
|
|
call the GMP code and objectify the result.
|
|
|
|
- Small performance change to AKS (r,s) selection tuning.
|
|
|
|
- On x86_64, use Montgomery math for Pollard/Brent Rho. This speeds up
|
|
factoring significantly for large native inputs (e.g. 10-20 digits).
|
|
|
|
- Use new GMP zeta and riemannr functions if possible, making some of
|
|
our operations much faster without Math::MPFR.
|
|
|
|
- print_primes with large args will try GMP sieve for big speedup. E.g.
|
|
use bigint; print_primes(2e19,2e19+1e7);
|
|
goes from 37 minutes to 7 seconds. This also removes a mistaken blank
|
|
line at the end for certain ranges.
|
|
|
|
- PP primes tries to use GMP. Only for calls from other PP code.
|
|
|
|
- Slightly more accuracy in native ExponentialIntegral.
|
|
|
|
- Slightly more accuracy in twin_prime_count_approx.
|
|
|
|
- nth_twin_prime_approx was incorrect over 1e10 and over 2e16 would
|
|
infinite loop due to Perl double conversion.
|
|
|
|
- nth_twin_prime_approx a little faster and more accurate.
|
|
|
|
|
|
0.59 2016-08-03
|
|
|
|
[ADDED]
|
|
|
|
- is_prime_power Returns k if n=p^k for p a prime.
|
|
- logint(n,b) Integer logarithm. Largest e s.t. b^e <= n.
|
|
- rootint(n,k) Integer k-th root.
|
|
- ramanujan_sum(k,n) Ramanujan's sum
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Fixes for quadmath:
|
|
+ Fix "infinity" in t/11-primes.t.
|
|
+ Fix native Pi to use quads.
|
|
+ Trim some threading tests.
|
|
|
|
- Fix fromdigits memory error with large string.
|
|
|
|
- Remove 3 threading tests that were causing issues with Perl -DDEBUGGING.
|
|
|
|
- foroddcomposites with some odd start values could index incorrectly.
|
|
|
|
- is_primitive_root(1,0) returns 0 instead of fp exception.
|
|
|
|
- mertens() uses a little less memory.
|
|
|
|
- 2x speedup for znlog with bigint values.
|
|
|
|
- is_pseudoprime() and is_euler_pseudoprime() use Montgomery math so are
|
|
much faster. They seem to be ~5% faster than Miller-Rabin now.
|
|
|
|
- is_catalan_pseudoprime 1.1x to 1.4x faster.
|
|
|
|
- is_perrin_pseudoprime over 10x faster.
|
|
Uses Adams/Shanks doubling and Montgomery math.
|
|
Single core, odd composites: ~8M range/s.
|
|
|
|
- Add restricted Perrin pseudoprimes using an optional argument.
|
|
|
|
- Add bloom filters to reject non-perfect cubes, fifths, and sevenths.
|
|
is_power about 2-3x faster for native inputs.
|
|
|
|
- forcomposites / foroddcomposites about 1.2x faster past 64-bit.
|
|
|
|
- exp_mangoldt rewritten to use is_prime_power.
|
|
|
|
- Integer root code rewritten and now exported.
|
|
|
|
- We've been hacking around the problem of older Perls autovivifying
|
|
functions at compile time. This makes functions that don't exist
|
|
return true when asked if they're defined, which causes us distress.
|
|
|
|
Store the available GMP functions before loading the PP code.
|
|
|
|
XS code knows MPU::GMP version and calls as appropriate. This works
|
|
around the auto-vivication, and lets us choose to call the GMP
|
|
function based on version instead of just existence.
|
|
E.g. GMP's is_power was added in 0.19, but didn't support negative
|
|
powers until 0.28.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 13 07:19:00 UTC 2016 - coolo@suse.com
|
|
|
|
- updated to 0.58
|
|
see /usr/share/doc/packages/perl-Math-Prime-Util/Changes
|
|
|
|
0.58 2016-05-21
|
|
|
|
[API Changes]
|
|
|
|
- prev_prime($n) where $n <= 2 now returns undef instead of 0. This
|
|
may enable catching range errors, and is technically more correct.
|
|
|
|
- nth_prime(0) now returns undef instead of 0. This should help catch
|
|
cases where the base wasn't understood. The change is similar for
|
|
all the nth_* functions (e.g. nth_twin_prime).
|
|
|
|
- sumdigits(n,base) will interpret n as a number in the given base,
|
|
rather than the Pari/GP method of converting decimal n to that base
|
|
then summing. This allows sumdigits to easily sum hex strings.
|
|
The old behavior is easily done with vecsum(todigits(n, base)).
|
|
|
|
- binary() was not intended to be released (todigits and todigitstring
|
|
are supersets), but the documentation got left in. Remove docs.
|
|
|
|
[ADDED]
|
|
|
|
- addmod(a, b, n) a + b mod n
|
|
- mulmod(a, b, n) a * b mod n
|
|
- divmod(a, b, n) a / b mod n
|
|
- powmod(a, b, n) a ^ b mod n
|
|
- sqrtmod(a, n) modular square root
|
|
- is_euler_pseudoprime(n,a[...]) Euler test to given bases
|
|
- is_primitive_root(r, n) is r a primitive root mod n
|
|
- is_quasi_carmichael(n) is n a Quasi-Carmichael number
|
|
- hclassno(n) Hurwitz class number H(n) * 12
|
|
- sieve_range(n, width, depth) sieve to given depth, return offsets
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Fixed incorrect table entries for 2^16th Ramanujan prime count and
|
|
nth_ramanujan_prime(23744).
|
|
|
|
- foroddcomposites with certain arguments would start with 10 instead of 9.
|
|
|
|
- lucasu and lucasv should return bigint types.
|
|
|
|
- vecsum will handle 128-bit sums internally (performance increase).
|
|
|
|
- Speedup is_carmichael.
|
|
|
|
- Speedup znprimroot, 10% for small inputs, 10x for large composites.
|
|
|
|
- Speedup znlog ~2x. It is now Rho racing an interleaved BSGS.
|
|
|
|
- Change AKS to Bernstein 2003 theorem 4.1.
|
|
5-20x faster than Bornemann, 20000+x faster than V6.
|
|
|
|
- sum_primes now uses tables for native sizes (performance increase).
|
|
|
|
- ramanujan_tau uses Cohen's hclassno method instead of the sigma
|
|
calculation. This is 3-4x faster than the GMP code for inputs > 300k,
|
|
and much faster than the older PP code.
|
|
|
|
- fromdigits much faster for large base-10 arrays. Timing is better than
|
|
split plus join when output is a bigint.
|
|
|
|
|
|
0.57 2016-01-03
|
|
|
|
[ADDED]
|
|
|
|
- formultiperm { ... } \@n loop over multiset permutations
|
|
- todigits(n[,base[,len]]) convert n to digit array
|
|
- todigitstring(n[,base[,len]]) convert n to string
|
|
- fromdigits(\@d[,base]) convert digit array ref to number
|
|
- fromdigits(str[,base]) convert string to number
|
|
- ramanujan_prime_count counts Ramanujan primes in range
|
|
- vecany { expr } @n true if any expr is true
|
|
- vecall { expr } @n true if all expr are true
|
|
- vecnone { expr } @n true if no expr are true
|
|
- vecnotall { expr } @n true if not all expr are true
|
|
- vecfirst { expr } @n returns first element with expr true
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- nth_ramanujan_prime(997) was wrong. Fixed.
|
|
|
|
- Tighten Ramanujan prime bounds. Big speedups for large nth Rp.
|
|
|
|
|
|
0.56 2015-12-13
|
|
|
|
[ADDED]
|
|
|
|
- is_carmichael(n) Returns 1 if n is a Carmichael number
|
|
- forcomp { ... } n[,{...}] loop over compositions
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Faster, nonrecursive divisors_from_factors routine.
|
|
|
|
- gcdext(0,0) returns (0,0,0) to match GMP and Pari/GP.
|
|
|
|
- Use better prime count lower/upper bounds from Büthe 2015.
|
|
|
|
- forpart and forcomp both use lexicographic order (was anti-lexico).
|
|
|
|
|
|
0.55 2015-10-19
|
|
|
|
- Fixed test that was using a 64-bit number on 32-bit machines.
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Speed up PP versions of sieve_prime_cluster, twin_primes,
|
|
twin_prime_count, nth_twin_prime, primes.
|
|
|
|
|
|
0.54 2015-10-14
|
|
|
|
[ADDED]
|
|
|
|
- sieve_prime_cluster(low,high[,...]) find prime clusters
|
|
|
|
[Misc]
|
|
|
|
- Certain small primes used to return false with Frobenius and AES Lucas
|
|
tests when given extra arguments. Both are unusual cases never used
|
|
by the main system. Fixed.
|
|
|
|
|
|
0.53 2015-09-05
|
|
|
|
[ADDED]
|
|
|
|
- ramanujan_tau(n) Ramanujan's Tau function
|
|
- sumdigits(n[,base]) sum digits of n
|
|
|
|
[FUNCTIONALITY AND PERFORMANCE]
|
|
|
|
- Don't use Math::MPFR unless underlying MPFR library is at least 3.x.
|
|
|
|
- Use new Math::Prime::Util::GMP::sigma function for divisor_sum.
|
|
|
|
- Use new Math::Prime::Util::GMP::sieve_twin_primes(a,b).
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Sep 20 17:01:37 UTC 2015 - coolo@suse.com
|
|
|
|
- initial package 0.52
|
|
* created by cpanspec 1.78.08
|
|
|