This is an automated email from the git hooks/post-receive script.

ppm-guest pushed a commit to annotated tag v0.36
in repository libmath-prime-util-perl.

commit 6b69260bc122f86e67323177407f2357c9a8bde7
Author: Dana Jacobsen <d...@acm.org>
Date:   Sat Jan 4 03:05:55 2014 -0800

    use constant with hash.  Saves a tiny bit of startup time
---
 lib/Math/Prime/Util.pm    | 19 ++++++++++---------
 lib/Math/Prime/Util/PP.pm | 20 ++++++++++++--------
 xt/test-bpsw.pl           |  4 ++--
 3 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/lib/Math/Prime/Util.pm b/lib/Math/Prime/Util.pm
index 26453f7..c8b410c 100644
--- a/lib/Math/Prime/Util.pm
+++ b/lib/Math/Prime/Util.pm
@@ -65,15 +65,16 @@ sub _import_nobigint {
 BEGIN {
 
   use Config;
-  use constant OLD_PERL_VERSION =>  ($] < 5.008);
-  use constant MPU_MAXBITS      =>  8 * $Config{uvsize};
-  use constant MPU_64BIT        =>  ($Config{uvsize} == 8);
-  use constant MPU_32BIT        =>  ($Config{uvsize} == 4);
-  use constant MPU_MAXPARAM     =>  ($Config{uvsize} == 4) ? 4294967295 : 
18446744073709551615;
-  use constant MPU_MAXDIGITS    =>  ($Config{uvsize} == 4) ? 10 : 20;
-  use constant MPU_MAXPRIME     =>  ($Config{uvsize} == 4) ? 4294967291 : 
18446744073709551557;
-  use constant MPU_MAXPRIMEIDX  =>  ($Config{uvsize} == 4) ?  203280221 :   
425656284035217743;
-  use constant UVPACKLET        =>  ($Config{uvsize} == 8 ? 'Q' : 'L');
+  use constant { OLD_PERL_VERSION =>  ($] < 5.008),
+                 MPU_MAXBITS      =>  8 * $Config{uvsize},
+                 MPU_64BIT        =>  ($Config{uvsize} == 8),
+                 MPU_32BIT        =>  ($Config{uvsize} == 4),
+                 MPU_MAXPARAM     =>  ($Config{uvsize} == 4) ? 4294967295 : 
18446744073709551615,
+                 MPU_MAXDIGITS    =>  ($Config{uvsize} == 4) ? 10 : 20,
+                 MPU_MAXPRIME     =>  ($Config{uvsize} == 4) ? 4294967291 : 
18446744073709551557,
+                 MPU_MAXPRIMEIDX  =>  ($Config{uvsize} == 4) ?  203280221 :   
425656284035217743,
+                 UVPACKLET        =>  ($Config{uvsize} == 8 ? 'Q' : 'L'),
+               };
   no Config;
 
   # Load PP code.  Nothing exported.
diff --git a/lib/Math/Prime/Util/PP.pm b/lib/Math/Prime/Util/PP.pm
index 98ea9bd..8265f9d 100644
--- a/lib/Math/Prime/Util/PP.pm
+++ b/lib/Math/Prime/Util/PP.pm
@@ -19,12 +19,17 @@ BEGIN {
 
 BEGIN {
   use Config;
-  use constant OLD_PERL_VERSION =>  ($] < 5.008);
-  use constant MPU_MAXBITS      =>  8 * $Config{uvsize};
-  use constant MPU_64BIT        =>  ($Config{uvsize} == 8);
-  use constant MPU_32BIT        =>  ($Config{uvsize} == 4);
-  use constant MPU_HALFWORD     =>  ($Config{uvsize} == 4) ? 65536 : ($] < 
5.008) ? 33554432 : 4294967296;
-  use constant UVPACKLET        =>  ($Config{uvsize} == 8 ? 'Q' : 'L');
+  use constant { OLD_PERL_VERSION =>  ($] < 5.008),
+                 MPU_MAXBITS      =>  8 * $Config{uvsize},
+                 MPU_64BIT        =>  ($Config{uvsize} == 8),
+                 MPU_32BIT        =>  ($Config{uvsize} == 4),
+                 #MPU_MAXPARAM     =>  ($Config{uvsize} == 4) ? 4294967295 : 
18446744073709551615,
+                 #MPU_MAXDIGITS    =>  ($Config{uvsize} == 4) ? 10 : 20,
+                 #MPU_MAXPRIME     =>  ($Config{uvsize} == 4) ? 4294967291 : 
18446744073709551557,
+                 MPU_MAXPRIMEIDX  =>  ($Config{uvsize} == 4) ?  203280221 :   
425656284035217743,
+                 MPU_HALFWORD     =>  ($Config{uvsize} == 4) ? 65536 : ($] < 
5.008) ? 33554432 : 4294967296,
+                 UVPACKLET        =>  ($Config{uvsize} == 8 ? 'Q' : 'L'),
+               };
   no Config;
 }
 
@@ -795,8 +800,7 @@ sub nth_prime {
 
   return $_primes_small[$n] if $n <= $#_primes_small;
 
-  my $max = (MPU_32BIT) ? 203280221 : 425656284035217743;
-  if ($n > $max && ref($n) ne 'Math::BigFloat') {
+  if ($n > MPU_MAXPRIMEIDX && ref($n) ne 'Math::BigFloat') {
     do { require Math::BigFloat; Math::BigFloat->import(); }
       if !defined $Math::BigFloat::VERSION;
     $n = Math::BigFloat->new("$n")
diff --git a/xt/test-bpsw.pl b/xt/test-bpsw.pl
index 9f11a0c..e14ae35 100755
--- a/xt/test-bpsw.pl
+++ b/xt/test-bpsw.pl
@@ -121,7 +121,7 @@ print "Starting benchmarks, $num_rns $len_rns-digit random 
numbers...\n";
 if (1) {
   print "\nMiller-Rabin, one base:\n";
   cmpthese($count, {
-    "MPU:PP"  => sub { Math::Prime::Util::PP::miller_rabin($_,2) for @rns; },
+    "MPU:PP"  => sub { Math::Prime::Util::PP::is_strong_pseudoprime($_,2) for 
@rns; },
     "MPU:GMP" => sub { Math::Prime::Util::GMP::is_strong_pseudoprime($_,2) for 
@rns; },
     "MPU"     => sub { Math::Prime::Util::is_strong_pseudoprime($_,2) for 
@rns; },
     "MP"      => sub { Math::Primality::is_strong_pseudoprime("$_","2") for 
@rns; },
@@ -142,7 +142,7 @@ if (1) {
   print "\nBPSW test:\n";
   cmpthese($count, {
     "MPU:PP"  => sub { my $sum = 0;
-               do { $sum += ( Math::Prime::Util::PP::miller_rabin($_, 2) &&
+               do { $sum += ( Math::Prime::Util::PP::is_strong_pseudoprime($_, 
2) &&
                       Math::Prime::Util::PP::is_strong_lucas_pseudoprime($_) )
                       ? 1 : 0 } for @rns; },
     "MPU:GMP" => sub { Math::Prime::Util::GMP::is_prob_prime($_) for @rns; },

-- 
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

Reply via email to