This is an automated email from the git hooks/post-receive script. ppm-guest pushed a commit to annotated tag v0.33 in repository libmath-prime-util-perl.
commit 126995b7335475361dc3cde621a6ed67e32cc211 Author: Dana Jacobsen <d...@acm.org> Date: Thu Nov 7 14:58:15 2013 -0800 Use Lehmer for small prime counts (below 8000 million), LMO for large --- Changes | 3 +++ XS.xs | 3 +++ lib/Math/Prime/Util.pm | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 8c2726c..9cbb680 100644 --- a/Changes +++ b/Changes @@ -23,6 +23,9 @@ Revision history for Perl module Math::Prime::Util - Fixed Pure Perl 33- to 64-bit is_pseudoprime. + - prime_count uses Lehmer below a threshold (8000M), LMO above. + This keeps good performance while still using low memory. + - Perl RiemannZeta changes: - Borwein Zeta calculations done in BigInt instead of BigFloat (speed). diff --git a/XS.xs b/XS.xs index f5b5f16..de47b4e 100644 --- a/XS.xs +++ b/XS.xs @@ -222,6 +222,9 @@ _XS_nth_prime(IN UV n) UV _XS_divisor_sum(IN UV n, IN UV k) +UV +_XS_legendre_phi(IN UV x, IN UV a) + UV _get_prime_cache_size() diff --git a/lib/Math/Prime/Util.pm b/lib/Math/Prime/Util.pm index fc1603d..544af84 100644 --- a/lib/Math/Prime/Util.pm +++ b/lib/Math/Prime/Util.pm @@ -1910,8 +1910,10 @@ sub prime_count { #if ($est_lehmer < $est_segment) { if ( ($high / ($high-$low+1)) < 100 ) { my $count; - $count = _XS_LMO_pi($high); - $count -= _XS_LMO_pi($low-1) if $low > 2; + $count = ($high > 8_000_000_000) ? _XS_LMO_pi($high) : _XS_lehmer_pi($high); + if ($low > 2) { + $count -= ($low > 8_000_000_000) ? _XS_LMO_pi($low-1) : _XS_lehmer_pi($low-1); + } return $count; } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmath-prime-util-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits