[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