[libmath-prime-util-perl] 13/29: Increase coverage
Partha P. Mukherjee
ppm-guest at moszumanska.debian.org
Thu May 21 18:48:16 UTC 2015
This is an automated email from the git hooks/post-receive script.
ppm-guest pushed a commit to annotated tag v0.27
in repository libmath-prime-util-perl.
commit 90153563766c2e43658f26c50ab7b286ecdfb2af
Author: Dana Jacobsen <dana at acm.org>
Date: Tue May 14 16:12:46 2013 -0700
Increase coverage
---
t/50-factoring.t | 6 ++++--
t/80-pp.t | 12 ++++++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/t/50-factoring.t b/t/50-factoring.t
index 2d367a7..86fded8 100644
--- a/t/50-factoring.t
+++ b/t/50-factoring.t
@@ -74,7 +74,7 @@ my %all_factors = (
0 => [],
);
-plan tests => (2 * scalar @testn) + scalar(keys %all_factors) + 10*8;
+plan tests => (2 * scalar @testn) + scalar(keys %all_factors) + 10*8 + 1;
foreach my $n (@testn) {
my @f = factor($n);
@@ -107,6 +107,9 @@ extra_factor_test("pbrent_factor", sub {Math::Prime::Util::pbrent_factor(shift)}
extra_factor_test("prho_factor", sub {Math::Prime::Util::prho_factor(shift)});
extra_factor_test("pminus1_factor",sub {Math::Prime::Util::pminus1_factor(shift)});
+# To hit some extra coverage
+is_deeply( [Math::Prime::Util::trial_factor(5514109)], [2203,2503], "trial factor 2203*2503" );
+
sub extra_factor_test {
my $fname = shift;
my $fsub = shift;
@@ -122,4 +125,3 @@ sub extra_factor_test {
is_deeply( [ sort {$a<=>$b} $fsub->(403) ], [13, 31], "$fname(403)" );
is_deeply( [ sort {$a<=>$b} $fsub->(549900) ], [2,2,3,3,5,5,13,47], "$fname(549900)" );
}
-
diff --git a/t/80-pp.t b/t/80-pp.t
index 06f7c92..fe4e85e 100644
--- a/t/80-pp.t
+++ b/t/80-pp.t
@@ -54,6 +54,7 @@ my %pseudoprimes = (
37 => [ qw/9 451 469 589 685 817 1333 3781 8905 9271 18631 19517 20591 25327 34237 45551 46981 47587 48133 59563 61337 68101 68251 73633 79381 79501 83333 84151 96727/ ],
61 => [ qw/217 341 1261 2701 3661 6541 6697 7613 13213 16213 22177 23653 23959 31417 50117 61777 63139 67721 76301 77421 79381 80041/ ],
73 => [ qw/205 259 533 1441 1921 2665 3439 5257 15457 23281 24617 26797 27787 28939 34219 39481 44671 45629 64681 67069 76429 79501 93521/ ],
+ lucas => [ qw/5459 5777 10877 16109 18971 22499 24569 25199 40309 58519 75077 97439/ ],
);
# Test a pseudoprime larger than 2^32.
push @{$pseudoprimes{2}}, 75792980677 if $use64;
@@ -216,7 +217,7 @@ my %rvals = (
plan tests => 1 +
- 2 +
+ 3 +
3 + scalar(keys %small_single) + scalar(keys %small_range) +
2*scalar(keys %primegaps) + 8 + 1 + 1 + 1 +
scalar(keys %pivals_small) + scalar(keys %pi_intervals) +
@@ -242,6 +243,7 @@ require_ok 'Math::Prime::Util::PP';
*next_prime = \&Math::Prime::Util::PP::next_prime;
*prev_prime = \&Math::Prime::Util::PP::prev_prime;
+ *is_strong_lucas_pseudoprime = \&Math::Prime::Util::PP::is_strong_lucas_pseudoprime;
*miller_rabin = \&Math::Prime::Util::PP::miller_rabin;
*is_aks_prime = \&Math::Prime::Util::PP::is_aks_prime;
@@ -269,6 +271,10 @@ $_ = 'this should not change';
is_deeply( \@isprime, \@exprime, "is_prime for selected numbers" );
}
+is_deeply( Math::Prime::Util::PP::trial_primes(80),
+ [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79],
+ "Trial primes 2-80" );
+
###############################################################################
is_deeply( primes(1069), \@small_primes, "Primes between 0 and 1069" );
@@ -352,7 +358,9 @@ is( miller_rabin(3, 2), 1, "MR with 3 shortcut prime");
while (my($base, $ppref) = each (%pseudoprimes)) {
my $npseudos = scalar @$ppref;
my @expmr = map { 1 } @$ppref;
- my @gotmr = map { miller_rabin($_, $base) } @$ppref;
+ my @gotmr;
+ if ($base eq 'lucas') { @gotmr = map { is_strong_lucas_pseudoprime($_) } @$ppref; }
+ else { @gotmr = map { miller_rabin($_, $base) } @$ppref; }
is_deeply(\@gotmr, \@expmr, "$npseudos pseudoprimes (base $base)");
}
--
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