[libmath-prime-util-perl] 22/25: Back off expensive PP prime count testing unless extended testing
Partha P. Mukherjee
ppm-guest at moszumanska.debian.org
Thu May 21 18:50:39 UTC 2015
This is an automated email from the git hooks/post-receive script.
ppm-guest pushed a commit to annotated tag v0.35
in repository libmath-prime-util-perl.
commit 95e028018df5763769ab58bfd9700659ea8d2a5b
Author: Dana Jacobsen <dana at acm.org>
Date: Sun Dec 8 02:43:52 2013 -0800
Back off expensive PP prime count testing unless extended testing
---
TODO | 8 +++++++-
t/13-primecount.t | 15 ++++++++++-----
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/TODO b/TODO
index bc17e82..5f5f455 100644
--- a/TODO
+++ b/TODO
@@ -34,7 +34,6 @@
not completely convinced we can't do better.
- Big features:
- - LMO prime count
- QS factoring
- segment sieve should itself use a segment for its primes.
@@ -60,3 +59,10 @@
extra primality checks, which aren't cheap in PP.
- Consider using Test::Number::Delta for many tests
+
+- More tweaking of LMO prime count.
+ - Consider using UV size for sieve
+ - is there any way to see if we could safely use asm popcnt?
+ - OpenMP. The step 7 inner loop is available.
+
+- Add Inverse Li and Legendre Phi to API?
diff --git a/t/13-primecount.t b/t/13-primecount.t
index e2c0975..f61925d 100644
--- a/t/13-primecount.t
+++ b/t/13-primecount.t
@@ -87,7 +87,7 @@ plan tests => 0 + 1
+ $use64 * 3 * scalar(keys %pivals64)
+ scalar(keys %intervals)
+ 1
- + 7; # prime count specific methods
+ + 8 + 2*$extra; # prime count specific methods
ok( eval { prime_count(13); 1; }, "prime_count in void context");
@@ -157,12 +157,17 @@ sub parse_range {
# Make sure each specific algorithm isn't broken.
SKIP: {
skip "Not XS -- skipping direct primecount tests", 5 unless $isxs;
- # This has to be above lehmer.c's SIEVE_LIMIT or nothing happens.
+ # This has to be above SIEVE_LIMIT in lehmer.c and lmo.c or nothing happens.
is(Math::Prime::Util::_XS_lehmer_pi (66123456), 3903023, "XS Lehmer count");
is(Math::Prime::Util::_XS_meissel_pi (66123456), 3903023, "XS Meissel count");
- is(Math::Prime::Util::_XS_legendre_pi(66123456), 3903023, "XS Legendre count");
+ is(Math::Prime::Util::_XS_legendre_pi(66123456), 3903023,"XS Legendre count");
+ is(Math::Prime::Util::_XS_LMOS_pi (66123456), 3903023, "XS LMOS count");
is(Math::Prime::Util::_XS_LMO_pi (66123456), 3903023, "XS LMO count");
is(Math::Prime::Util::_XS_prime_count(66123456), 3903023, "XS sieve count");
}
-is(Math::Prime::Util::PP::_lehmer_pi (3456789), 247352, "PP Lehmer count");
-is(Math::Prime::Util::PP::_sieve_prime_count(3456789), 247352, "PP sieve count");
+is(Math::Prime::Util::PP::_lehmer_pi (1456789), 111119, "PP Lehmer count");
+is(Math::Prime::Util::PP::_sieve_prime_count(1456789), 111119, "PP sieve count");
+if ($extra) {
+ is(Math::Prime::Util::PP::_lehmer_pi (3456789), 247352, "PP Lehmer count");
+ is(Math::Prime::Util::PP::_sieve_prime_count(3456789), 247352, "PP sieve count");
+}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmath-prime-util-perl.git
More information about the Pkg-perl-cvs-commits
mailing list