--- - branch: MAIN date: Sun Jul 14 06:11:50 UTC 2013 files: - new: '1.5' old: '1.4' path: pkgsrc/math/p5-Math-Prime-Util/Makefile pathrev: pkgsrc/math/p5-Math-Prime-Util/Makefile@1.5 type: modified - new: '1.4' old: '1.3' path: pkgsrc/math/p5-Math-Prime-Util/distinfo pathrev: pkgsrc/math/p5-Math-Prime-Util/distinfo@1.4 type: modified id: 20130714T061150Z.9cf75c8c0117c3dbf34173e50480ae830cd06a58 log: "Update to 0.29\nAdd missing DEPENDS\n\nUpstream changes:\n0.29 30 May 2013\n\n \ - Fix a signed vs. unsigned char issue in ranged moebius. Thanks to the\n \ Debian testers for finding this.\n\n - XS is_prob_prime / is_prime now use a BPSW-style test (SPRP2 plus\n extra strong Lucas test) for values over 2^32. This results in up\n to 2.5x faster performance for large 64-bit values on most machines.\n All PSP2s have been verified with Jan Feitsma's database.\n\n \ - forprimes now uses a segmented sieve. This (1) allows arbitrary 64-bit\n \ ranges with good memory use, and (2) allows nesting on threaded perls.\n\n \ - prime_count_approx for very large values (> 10^36) was very slow without\n \ Math::MPFR. Switch to Li+correction for large values if Math::MPFR is\n \ not available.\n\n - Workaround for MSVC compiler.\n\n - Added:\n \ is_pseudoprime (Fermat probable prime test)\n is_lucas_pseudoprime (standard Lucas-Selfridge test)\n is_extra_strong_lucas_pseudoprime (Mo/Jones/Grantham E.S. Lucas test)\n\n0.28 23 May 2013\n\n - An optimization to nth_prime caused occasional threaded Win32 faults.\n Adjust so this is avoided.\n\n - Yet another XS micro-speedup (PERL_NO_GET_CONTEXT)\n\n - forprimes { block } [begin,]end. \ e.g.\n forprimes { say } 100;\n $sum = 0; forprimes { $sum += $_ } 1000,50000; say $sum;\n forprimes { say if is_prime($_+2) } 10000; \ # print twin primes\n\n - my $it = prime_iterator(10000); say $it->();\n \ This is experimental (that is, the interface may change).\n\n0.27 20 May 2013\n\n - is_prime, is_prob_prime, next_prime, and prev_prime now all go straight\n \ to XS if possible. This makes them much faster for small inputs without\n \ having to use the -nobigint flag.\n\n - XS simple number validation to lower function call overhead. Still a\n lot more overhead compared to directly calling the XS functions, but\n it shaves a little bit of time off every call.\n\n - Speedup pure Perl factoring of small numbers.\n\n - is_prob_prime / is_prime about 10% faster for composites.\n\n - Allow '+N' as the second parameter to primes.pl. This allows:\n primes.pl 100 +30\n to return the primes between 100 and 130. Or:\n primes.pl 'nth_prime(1000000000)' +2**8\n\n - Use EXTENDED_TESTING to turn on extra tests.\n\n0.26 21 April 2013\n\n \ - Pure Perl factoring:\n - real p-1 -- much faster and more effective\n \ - Fermat (no better than HOLF)\n - speedup for pbrent\n - simple ECM\n - redo factoring mix\n\n - New functions:\n prime_certificate \ produces a certificate of primality.\n verify_prime checks a primality certificate.\n\n - Pure perl primality proof now uses BLS75 instead of Lucas, so some\n numbers will be much faster [n-1 only needs factoring to (n/2)^1/3].\n\n \ - Math::Prime::Util::ECAffinePoint and ECProjectivePoint modules for\n dealing with elliptic curves.\n\n0.25 19 March 2013\n\n - Speed up p-1 stage 2 factoring. \ Combined with some minor changes to the\n general factoring combination, ~20% faster for 19 digit semiprimes.\n\n - New internal macro to loop over primary sieve starting at 2. Simplifies\n code in quite a few places.\n\n \ - Forgot to skip one of the tests with broken 5.6.2.\n\n0.24 10 March 2013\n\n \ - Fix compilation with old pre-C99 strict compilers (decl after statement).\n\n \ - euler_phi on a range wasn't working right with some ranges.\n\n - More XS prime count improvements to speed and space. Add some tables\n to the sieve count so it runs a bit faster. Transition from sieve later.\n\n - PP prime count for 10^9 and larger is ~2x faster and uses much less\n memory. \ Similar impact for nth_prime 10^8 or larger.\n\n - Let factor.pl accept expressions just like primes.pl.\n\n0.23 5 March 2013\n\n - Replace XS Zeta for x > 5 with series from Cephes. It is 1 eps more\n accurate for a small fraction of inputs. More importantly, it is much\n faster in range 5 < x < 10. This only affects non-integer inputs.\n\n - PP Zeta code replaced (for no-MPFR, non-bignums) with new series. The\n new code is much more accurate for small values, and *much* faster.\n\n - Add consecutive_integer_lcm function, just like MPU::GMP's (though we\n define ci_lcm(0) = 0, which should get propogated).\n\n \ - Implement binary search on RiemannR for XS nth_prime when n > 2e11.\n Runs ~2x faster for 1e12, 3x faster for 1e13. Thanks to Programming\n Praxis for the idea and motivation.\n\n - Add the first and second Chebyshev functions (theta and psi).\n\n - put isqrt(n) in util.h, use it everywhere.\n put icbrt(n) in lehmer.h, use it there.\n\n - Start on Lagarias-Miller-Odlyzko prime count.\n\n - A new data structure for the phi(x,a) function used by all the fast\n prime count routines. Quite a bit faster and most importantly, uses\n half the memory of the old structure.\n\n - Performance:\n - Divisor sum with no sub is ~10x faster.\n - Speed up PP version of exp_mangoldt, create XS version.\n - Zeta much faster as mentioned above.\n - faster nth_prime as mentioned above.\n - AKS about 10% faster.\n - Unroll a little more in sieve inner loop. A couple percent faster.\n - Faster prime_count and nth_prime due to new phi(x,a) (about 1.25x).\n\n0.22 26 February 2013\n\n - Move main factor loop out of xs and into factor.c.\n\n - Totient and Moebius now have complete XS implementations.\n\n - Ranged totient uses less memory when segmented.\n\n - Switch thread locking to pthreads condition variables.\n\n0.21 22 February 2013\n\n - Switch to using Bytes::Random::Secure for random primes. This is a\n big change in that it is the first non-CORE module used. However, it\n gets rid of lots of possible stupidness from system rand.\n\n - Spelling fixes in documentation.\n\n - primes.pl: Add circular and Panaitopol primes.\n\n - euler_phi and moebius now will compute over a range.\n\n - Add mertens function: 1000+ times faster than summing moebius($_).\n\n \ - Add exp_mangoldt function: exponential of von Mangoldt's function.\n\n - divisor_sum defaults to sigma if no sub is given (i.e. it sums).\n\n - Performance:\n \ - Speedup factoring small numbers. With -nobigint factoring from\n 1 to 10M, it's 1.2x faster. 1.5x faster than Math::Factor::XS.\n - Totient and Mè­«å\x96\x98ius over a range are much faster than separate calls.\n - divisor_sum is 2x faster.\n - primes.pl is much faster with Pillai primes.\n \ - Reduce overhead in euler_phi -- about 2x faster for individual calls.\n\n0.20 \ 3 February 2013\n\n - Speedup for PP AKS, and turn off test on 32-bit machines.\n\n \ - Replaced fast sqrt detection in PP.pm with a slightly slower version.\n \ The bloom filter doesn't work right in 32-bit Perl. Having a non-working\n \ detector led to really bad performance. Hence this and the AKS change\n \ should speed up testing on some 32-bit machines by a huge amount.\n\n - Fix is_perfect_power in XS AKS.\n\n0.19 1 February 2013\n\n - Update MR bases with newest from http://miller-rabin.appspot.com/.\n\n - Fixed some issues when using bignum and Calc BigInt backend, and bignum\n and Perl 5.6.\n\n \ - Added tests for bigint is_provable_prime.\n\n - Added a few tests to give better coverage.\n\n - Adjust some validation subroutines to cut down on overhead.\n\n0.18 14 January 2013\n\n - Add random_strong_prime.\n\n - Fix builds with Solaris 9 and older.\n\n - Add some debug info to perhaps find out why old ActiveState Perls are\n dying in Math::BigInt::Calc, as if they were using really old versions\n that run out of memory trying to calculate '2 ** 66'.\n http://code.activestate.com/ppm/Math-Prime-Util/\n\n0.17 20 December 2012\n\n - Perl 5.8.1 - 5.8.7 miscalculates 12345 ** 4, which I used in a test.\n\n - Fix (hopefully) for MSC compilation.\n\n - Unroll sieve loop for another 20% or so speedup. It won't have much\n practical application now that we use Lehmer's method for counts, but\n there are some cases that can still show speedups.\n\n - Changed the rand functionality yet again. Sorry. \ This should give\n better support for plugging in crypto RNG's when used from other\n modules.\n\n0.16 11 December 2012\n\n - randbits >= 32 on some 32-bit systems was messing us up. Restrict our\n internal randbits to wordsize-1.\n" module: pkgsrc subject: 'CVS commit: pkgsrc/math/p5-Math-Prime-Util' unixtime: '1373782310' user: wen