summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorwen <wen@pkgsrc.org>2016-02-14 11:44:19 +0000
committerwen <wen@pkgsrc.org>2016-02-14 11:44:19 +0000
commit6dc58fc1846f32db4ed4a18249d4a55fc4dcbb86 (patch)
treee657fa2a39ea611ef04b5b0f86e82e403fc31ed7 /math
parentfc7c602e913b3b522d6f9c88a0c26376a853a95a (diff)
downloadpkgsrc-6dc58fc1846f32db4ed4a18249d4a55fc4dcbb86.tar.gz
Update to 0.57
Upstream changes: 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). 0.52 2015-08-09 [ADDED] - is_square_free(n) Check for repeated factors [FUNCTIONALITY AND PERFORMANCE] - print_primes with 2 args was sending to wrong fileno. - Double speed of sum_primes. - Rewrote some internal sieve-walking code, speeds up next_prime, forprimes, print_primes, and more. - Small speedup for forcomposites / foroddcomposites. - Small speedup for is_prime with composite 32+ bit inputs. - is_frobenius_khashin_pseudoprime now uses Montgomery math for speed. - PrimeArray now treats skipping forward by relatively small amounts as forward iteration. This makes it much more efficient for many cases, but does open up some pathological cases. - PrimeArray now allows exporting @primes (and a few others), which saves some typing. - PrimeArray now works for indices up to 2^32-1, after which it silently rolls over. Previously it worked to 2^31-1 then croaked. - PrimeIterator now uses small segments instead of always next_prime. A little more memory, but 2-4x faster. - factor, divisor, fordivisors and some others should better keep bigint types (e.g. Math::GMPz input yields Math::GMPz output). - Faster GCD on some platforms. - Peter Dettman supplied a patch for Shawe-Taylor prime generation to make it deterministically match reference implementations. Thanks! [Misc] - Check for old MPFR now using C library version, not module version. - prime_count_{lower,upper} now uses MPFR to give full precision. - Montgomery math and uint128_t enabled on Darwin/clang. 0.51 2015-06-21 [ADDED] - sum_primes(lo,hi) Summation of primes in range - print_primes(lo,hi[,fd]) Print primes to stdout or fd - is_catalan_pseudoprime(n) Catalan primality test - is_frobenius_khashin_pseudoprime(n) Khashin's 2013 Frobenius test [FUNCTIONALITY AND PERFORMANCE] - Slightly faster PP sieving using better code from Perlmonks. - Lucas sequence works with even valued n. - Used idea from Colin Wright to speed up is_perrin_pseudoprime 5x. We can check smaller congruent sequences for composites as a prefilter. - is_frobenius_pseudoprime no longer checks for perfect squares, and doesn't bail to BPSW if P,Q,D exceed n. This makes it produce some pseudoprimes it did not before (but ought to have). [Misc] - Work with old MPFR (some test failures in older Win32 systems). - Don't assert in global destructor if a MemFree object is destroyed. 0.50 2015-05-03 [ADDED] - harmfrac(n) (num,den) of Harmonic number - harmreal(n) Harmonic number as BigFloat - sqrtint(n) Integer square root of n - vecextract(\@arr, mask) Return elements from arr selected by mask - ramanujan_primes(lo,hi) Ramanujan primes R_n in [lo,hi] - nth_ramanujan_prime(n) the nth Ramanujan prime R_n - is_ramanujan_prime(n) 1 if n is a Ramanujan prime, 0 otherwise [FUNCTIONALITY AND PERFORMANCE] - Implement single-base hashed M-R for 32-bit inputs, inspired by Fori禳ek and Jan�ina 2015 as well as last year's tests with 2-base (2^49) and 3-base (2^64) hashed solutions for MPU. Primality testing is 20-40% faster for this size. - Small speedups for znlog. - PP nth_prime on 32-bit fixed for values over 2^32. [Misc] - Changes to nth_prime_{lower,upper}. They use the Axler (2013) bounds, and the XS code will also use inverse prime count bounds for small values. This gives 2-10x tighter bounds. - Tighten prime count bounds using Axler, Kotnik, B羹the. Thanks to Charles R Greathouse IV for pointing me to these. 0.49 2014-11-30 - Make versions the same in all packages. 0.48 2014-11-28 [ADDED] - lucasu(P, Q, k) U_k for Lucas(P,Q) - lucasv(P, Q, k) V_k for Lucas(P,Q) [Misc] - Use Axler (2014) bounds for prime count where they improve on Dusart. 0.47 2014-11-18 [ADDED] - is_mersenne_prime(p) returns 1 iff 2^p-1 is prime [FUNCTIONALITY AND PERFORMANCE] - Standalone compilation (e.g. factoring without Perl installed) is easier. - For next_prime and prev_prime with bigints, stay in XS as long as possible to cut overhead. Up to 1.5x faster. - Factoring on 64-bit platforms is faster for 32-bit inputs. - AKS is faster for larger than half-word inputs, especially on 64-bit machines with gcc's 128-bit types. - is_provable_prime goes through XS first, so can run *much* faster for small inputs. [OTHER] - NetBSD improperly exports symbols in string.h, including popcount. Rename our internal function to work around it. - is_power now takes an optional scalar reference third argument which will be set to the root if found. It also works for negative n. - Changes to trim a little memory use. lucas_sequence goes from PP->[XS,GMP,PP] to XS[->PP[->GMP]]. ecm_factor is moved out of root. Moved some primality proving logic out of root. - primes.pl when given one argument will show primes up to that number. 0.46 2014-10-21 [API Changes] - is_pseudoprime has the same signature as is_strong_pseudoprime now. This means it requires one or more bases and has no default base. The documentation had never mentioned the default, so this should have little impact, and the common signature makes more sense. [ADDED] - hammingweight(n) Population count (count binary 1s) - vecreduce {...} @v Reduce/fold, exactly like List::Util::reduce [Misc] - Syntax fix from Salvatore. - vecmin / vecmax in XS, if overflows UV do via strings to avoid PP. - Add example for verifying prime gaps, similar to Nicely's cglp4. - divisor_sum wasn't running XS code for k=0. Refactor PP code, includes speedup when input is a non-Math::BigInt (e.g. Math::GMP). - Improve test coverage. [PP Updates] - Large speedup for divisors with bigints in 64-100 bit range. - Revamp RiemannZeta. Fixes some bignum output, but requires RT fixes. - Optimization for PP comparison to ~0. - PP factoring is faster, especially for small inputs. 0.45 2014-09-26 [ADDED] - forcomb { ... } n, k combinations iterator - forperm { ... } n permutations iterator - factorial(n) n! - is_bpsw_prime(n) primality test with no pretests, just ES BPSW - is_frobenius_pseudoprime Frobenius quadratic primality test - is_perrin_pseudoprime Perrin primality test (unrestricted) - vecmin(@list) minimum of list of integers - vecmax(@list) maximum of list of integers - vecprod(@list) product of list of integers - bernfrac(n) (num,den) of Bernoulli number - bernreal(n) Bernoulli number as BigFloat - stirling(n,m,[type]) Stirling numbers of first or second kind - LambertW(k) Solves for W in k = W*exp(W) - Pi([digits]) Pi as NV or with requested digits [FUNCTIONALITY AND PERFORMANCE] - znorder algorithm changed from Das to Cohen for ~1% speedup. - factoring sped up a bit for 15-19 digits. - speedup for divisor_sum with very large exponents. [OTHER] - Alias added for the module name "ntheory". The module has grown enough that it seems more appropriate. - Big build change: Try a GMP compilation and add Math::Prime::Util::GMP to dependency list if it succeeds. - Fixed a memory leak in segment_primes / segment_twin_primes introduced in previous release. Thanks Valgrind!
Diffstat (limited to 'math')
-rw-r--r--math/p5-Math-Prime-Util/Makefile5
-rw-r--r--math/p5-Math-Prime-Util/distinfo10
2 files changed, 7 insertions, 8 deletions
diff --git a/math/p5-Math-Prime-Util/Makefile b/math/p5-Math-Prime-Util/Makefile
index 6d37e135e92..5d7bf8beba2 100644
--- a/math/p5-Math-Prime-Util/Makefile
+++ b/math/p5-Math-Prime-Util/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2015/06/12 10:50:29 wiz Exp $
+# $NetBSD: Makefile,v 1.10 2016/02/14 11:44:19 wen Exp $
-DISTNAME= Math-Prime-Util-0.43
+DISTNAME= Math-Prime-Util-0.57
PKGNAME= p5-${DISTNAME}
-PKGREVISION= 1
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 e0dbe746271..2f876dd624a 100644
--- a/math/p5-Math-Prime-Util/distinfo
+++ b/math/p5-Math-Prime-Util/distinfo
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.7 2015/11/03 23:33:39 agc Exp $
+$NetBSD: distinfo,v 1.8 2016/02/14 11:44:19 wen Exp $
-SHA1 (Math-Prime-Util-0.43.tar.gz) = 74b93fbced62cb71ed92be0d3993271863e14ede
-RMD160 (Math-Prime-Util-0.43.tar.gz) = e5804faf9a2e04261f4ecf2e71fa0d721fd23dc4
-SHA512 (Math-Prime-Util-0.43.tar.gz) = 63afeb345f6211c32ed2d8632be03d4cf0afc6fe913baf3a7e41b0608e2678a4191f07d76ee77c797ca9d5a80756e92286a96ef1cbb58d95deca9add0f04d494
-Size (Math-Prime-Util-0.43.tar.gz) = 415752 bytes
+SHA1 (Math-Prime-Util-0.57.tar.gz) = 712da12ef07c63f1790bcd2d4b4c9ef221af0e01
+RMD160 (Math-Prime-Util-0.57.tar.gz) = f1cfc60046a8e1a2f38d4870085d479e070ed889
+SHA512 (Math-Prime-Util-0.57.tar.gz) = 5909d2cae82187783c56b07c22a90c44f0feb8f5c12cffdf4ec3a1cb4996dbaaae8f917790cdaa4b970cc2302242b941f2ef34097578c7e994275d2c0edaac88
+Size (Math-Prime-Util-0.57.tar.gz) = 501214 bytes