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 47c11069fb3fc55533eb9ceadea24ccafbbc3406 Author: Dana Jacobsen <d...@acm.org> Date: Sun Dec 29 12:57:25 2013 -0800 Add tests for kronecker --- t/19-moebius.t | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/t/19-moebius.t b/t/19-moebius.t index 328846f..64a3ee4 100644 --- a/t/19-moebius.t +++ b/t/19-moebius.t @@ -6,7 +6,7 @@ use Test::More; use Math::Prime::Util qw/moebius mertens euler_phi jordan_totient divisor_sum exp_mangoldt chebyshev_theta chebyshev_psi carmichael_lambda znorder liouville - znprimroot + znprimroot kronecker /; my $extra = defined $ENV{EXTENDED_TESTING} && $ENV{EXTENDED_TESTING}; @@ -206,26 +206,39 @@ my %primroots = ( 7 => 3, 8 => undef, 9 => 2, - 10 => 3, # 3 is the smallest root. Pari gives the other root 7. - 1729 => undef, + 10 => 3, # 3 is the smallest root. Pari gives the other root 7. + 1729 => undef, # Pari goes into an infinite loop. 5109721 => 94, 17551561 => 97, 90441961 => 113, 1407827621 => 2, 1520874431 => 17, 1685283601 => 164, - 100000001 => undef, + 100000001 => undef, # Without an early exit, this will essentially hang. ); if ($use64) { - $primroots{2232881419280027} = 6; - $primroots{14123555781055773271} = 6; - $primroots{89637484042681} = 335; + $primroots{2232881419280027} = 6; # factor divide goes to FP + $primroots{14123555781055773271} = 6; # bmodpow hits RT 71548 + $primroots{89637484042681} = 335; # smallest root is large } -# znprimroot: -# 1729 -# 2232881419280027 factor divide goes to FP -# 14123555781055773271 bmodpow hits RT 71548 +my @kroneckers = ( + [ 109981, 737777, 1], + [ 737779, 121080, -1], + [-737779, 121080, 1], + [ 737779,-121080, -1], + [-737779,-121080, -1], + [12345,331,-1], + [1001,9907,-1], + [19,45,1], + [8,21,-1], + [5,21,1], + [5,1237,-1], + [3,18,0], [3,-18,0], + [-2, 0, 0], [-1, 0, 1], [ 0, 0, 0], [ 1, 0, 1], [ 2, 0, 0], + [-2, 1, 1], [-1, 1, 1], [ 0, 1, 1], [ 1, 1, 1], [ 2, 1, 1], + [-2,-1,-1], [-1,-1,-1], [ 0,-1, 1], [ 1,-1, 1], [ 2,-1, 1], +); # These are slow with XS, and *really* slow with PP. if (!$usexs) { @@ -253,6 +266,7 @@ plan tests => 0 + 1 + 2 # Small Phi + 7 + scalar(keys %totients) + 1 # Small Carmichael Lambda + + scalar(@kroneckers) + scalar(@mult_orders) + scalar(keys %primroots) + 2 + scalar(keys %jordan_totients) @@ -395,6 +409,12 @@ while (my($n, $c2) = each (%chebyshev2)) { my @lambda = map { carmichael_lambda($_) } (0 .. $#A002322); is_deeply( \@lambda, \@A002322, "carmichael_lambda with range: 0, $#A000010" ); } +###### kronecker +foreach my $karg (@kroneckers) { + my($a, $n, $exp) = @$karg; + my $k = kronecker($a, $n); + is( $k, $exp, "kronecker($a, $n) = $exp" ); +} ###### znorder foreach my $moarg (@mult_orders) { my ($a, $n, $exp) = @$moarg; -- 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