diff options
author | wen <wen@pkgsrc.org> | 2017-05-13 01:29:02 +0000 |
---|---|---|
committer | wen <wen@pkgsrc.org> | 2017-05-13 01:29:02 +0000 |
commit | 2c38200423bb19907f71a75b76846daa5f3e18fe (patch) | |
tree | 2393e182ba0b75670695d5471433bf2d693d0d79 /math/p5-Math-Prime-Util | |
parent | b97b3f3da1241492b91b869328eaa859722d2bfb (diff) | |
download | pkgsrc-2c38200423bb19907f71a75b76846daa5f3e18fe.tar.gz |
Update to 0.65
Upstream 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.
Diffstat (limited to 'math/p5-Math-Prime-Util')
-rw-r--r-- | math/p5-Math-Prime-Util/Makefile | 4 | ||||
-rw-r--r-- | math/p5-Math-Prime-Util/distinfo | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/math/p5-Math-Prime-Util/Makefile b/math/p5-Math-Prime-Util/Makefile index 4e7724275a6..4802d26258c 100644 --- a/math/p5-Math-Prime-Util/Makefile +++ b/math/p5-Math-Prime-Util/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.14 2016/11/28 12:36:05 wen Exp $ +# $NetBSD: Makefile,v 1.15 2017/05/13 01:29:02 wen Exp $ -DISTNAME= Math-Prime-Util-0.60 +DISTNAME= Math-Prime-Util-0.65 PKGNAME= p5-${DISTNAME} CATEGORIES= math perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Math/} diff --git a/math/p5-Math-Prime-Util/distinfo b/math/p5-Math-Prime-Util/distinfo index 9236fd164ca..376b9a89a45 100644 --- a/math/p5-Math-Prime-Util/distinfo +++ b/math/p5-Math-Prime-Util/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.11 2016/11/28 12:36:05 wen Exp $ +$NetBSD: distinfo,v 1.12 2017/05/13 01:29:02 wen Exp $ -SHA1 (Math-Prime-Util-0.60.tar.gz) = 8567f0193d4ffc96df28e66af435fdfe6f0ab7c5 -RMD160 (Math-Prime-Util-0.60.tar.gz) = ddbf0b8cac76cb919dc83fb05f8c8c270f2fedc0 -SHA512 (Math-Prime-Util-0.60.tar.gz) = 390121193b045fac5cb14225a785e06969e7851d86ab253cfab5cd77b50b172a5cde7747243830e5f513912a1b3519116716b668844d112af7237e7ab2c230c9 -Size (Math-Prime-Util-0.60.tar.gz) = 535032 bytes +SHA1 (Math-Prime-Util-0.65.tar.gz) = 1b3acd8d45dbe1a82b7137bc17f8fecb7dced847 +RMD160 (Math-Prime-Util-0.65.tar.gz) = a273945fdd85c84f4dc55a36a8d0c11679a5b33c +SHA512 (Math-Prime-Util-0.65.tar.gz) = 7d6db326291f3b09491ecb9e4280dc2cc97d65cec9fbcb70f1e521111170e51c0d2a57f0723d2866a8c492779fc57d01b3a2a7f7d38fa5d106422e4500c5de20 +Size (Math-Prime-Util-0.65.tar.gz) = 575615 bytes |