[libmath-prime-util-perl] 170/181: Minor changes to examples
Partha P. Mukherjee
ppm-guest at moszumanska.debian.org
Thu May 21 18:51:18 UTC 2015
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 a1bd930c649d4becb42be7205c3f8cdeee865477
Author: Dana Jacobsen <dana at acm.org>
Date: Sun Jan 12 16:05:37 2014 -0800
Minor changes to examples
---
examples/abundant.pl | 0
examples/bench-nthprime.pl | 4 ++--
examples/bench-primecount.pl | 20 +++++++++++---------
examples/test-factor-gnufactor.pl | 6 +++---
lib/Math/Prime/Util/PP.pm | 8 +++-----
5 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/examples/abundant.pl b/examples/abundant.pl
old mode 100644
new mode 100755
diff --git a/examples/bench-nthprime.pl b/examples/bench-nthprime.pl
index 7656b95..5ecee6c 100755
--- a/examples/bench-nthprime.pl
+++ b/examples/bench-nthprime.pl
@@ -11,10 +11,10 @@ my $count = shift || -5;
srand(29);
my @darray;
-push @darray, [gendigits($_,int(5400/($_*$_*$_)))] for (2 .. 10);
+push @darray, [gendigits($_,int(5400/($_*$_*$_)))] for 2 .. 13;
my $sum;
-foreach my $digits (3 .. 10) {
+foreach my $digits (3 .. 12) {
my @digarray = @{$darray[$digits-2]};
my $numitems = scalar @digarray;
my $timing = cmpthese(
diff --git a/examples/bench-primecount.pl b/examples/bench-primecount.pl
index 7298816..b03d1ac 100755
--- a/examples/bench-primecount.pl
+++ b/examples/bench-primecount.pl
@@ -15,16 +15,17 @@ my $sum;
print "Direct sieving:\n";
cmpthese($count,{
- ' 2' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[2-2]} },
- ' 3' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[3-2]} },
- ' 4' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[4-2]} },
- ' 5' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[5-2]} },
- ' 6' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[6-2]} },
- ' 7' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[7-2]} },
- ' 8' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[8-2]} },
- #' 9' => sub { $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[9-2]} },
- #'10' => sub { $sum += Math::Prime::Util::_XS_prime_count($_) for @{$darray[10-2]} },
+ ' 2' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[2-2]} },
+ ' 3' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[3-2]} },
+ ' 4' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[4-2]} },
+ ' 5' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[5-2]} },
+ ' 6' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[6-2]} },
+ ' 7' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[7-2]} },
+ ' 8' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[8-2]} },
+ #' 9' => sub { $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[9-2]} },
+ #'10' => sub { $sum += Math::Prime::Util::_XS_segment_pi($_) for @{$darray[10-2]} },
});
+if (0) {
print "\n";
print "Direct Lehmer:\n";
cmpthese($count,{
@@ -38,6 +39,7 @@ cmpthese($count,{
' 9' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_lehmer_pi($_) for @{$darray[9-2]} },
'10' => sub { prime_memfree(); $sum += Math::Prime::Util::_XS_lehmer_pi($_) for @{$darray[10-2]} },
});
+}
print "\n";
print "Direct LMO:\n";
cmpthese($count,{
diff --git a/examples/test-factor-gnufactor.pl b/examples/test-factor-gnufactor.pl
index d92eb8e..229461e 100755
--- a/examples/test-factor-gnufactor.pl
+++ b/examples/test-factor-gnufactor.pl
@@ -117,9 +117,9 @@ sub test_array {
# We should ignore the small digits, since we're comparing direct
# Perl functions with multiple command line invocations. It really
# doesn't make sense until we're over 1ms per number.
- printf " MPU:%8.3f ms", (($mpusec*1000) / scalar @narray);
- printf(" GNU:%8.3f ms", (($gnusec*1000) / scalar @narray)) if $do_gnu;
- printf(" Pari:%8.3f ms", (($parisec*1000) / scalar @narray)) if $do_pari;
+ printf " MPU:%8.4f ms", (($mpusec*1000) / scalar @narray);
+ printf(" GNU:%8.4f ms", (($gnusec*1000) / scalar @narray)) if $do_gnu;
+ printf(" Pari:%8.4f ms", (($parisec*1000) / scalar @narray)) if $do_pari;
print "\n";
}
diff --git a/lib/Math/Prime/Util/PP.pm b/lib/Math/Prime/Util/PP.pm
index b1bdead..ca8fbbb 100644
--- a/lib/Math/Prime/Util/PP.pm
+++ b/lib/Math/Prime/Util/PP.pm
@@ -1249,12 +1249,10 @@ sub znorder {
return $k;
}
+# This is just a stupid brute force search.
sub znlog {
- my($a,$g,$p) = @_;
- # This is just a stupid brute force search.
- $a = Math::BigInt->new("$a") unless ref($a) eq 'Math::BigInt';
- $g = Math::BigInt->new("$g") unless ref($g) eq 'Math::BigInt';
- $p = Math::BigInt->new("$p") unless ref($p) eq 'Math::BigInt';
+ my ($a,$g,$p) =
+ map { ref($_) eq 'Math::BigInt' ? $_ : Math::BigInt->new("$_") } @_;
for (my $n = BONE->copy; $n < $p; $n->binc) {
my $t = $g->copy->bmodpow($n, $p);
if ($t == $a) {
--
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