Branch Coverage

blib/lib/Math/Prime/Util/RandomPrimes.pm
Criterion Covered Total %
branch 105 214 49.0


line true false branch
20 0 5 unless (defined $Math::BigInt::VERSION)
43 0 3 if $_big_gcd_use >= 0
44 0 3 if (prime_get_config()->{'gmp'})
48 3 0 unless ('Math::BigInt'->config->{'lib'} =~ /^Math::BigInt::(GMP|Pari)/)
367 0 0 if (defined $cachearef) { }
370 0 0 $low <= 2 ? :
371 0 0 $high < 18446744073709551615 ? :
381 0 2 if $high < 2 or $low > $high
383 2 0 if ($high - $low > 1000000000) { }
385 0 2 if $low < 2
386 0 2 if $low > 2 and $low % 2 == 0
387 0 2 if $high % 2 == 0
390 0 0 $low <= 2 ? :
391 0 0 $high == 18446744073709551615 ? :
392 0 0 if $low == $high and &is_prob_prime($low)
393 0 0 if $low >= $high
403 0 3 unless $digits >= 1
405 0 3 if $digits <= 6 and 1
409 1 2 if ($bigdigits and prime_get_config()->{'nobigint'})
410 0 1 if $digits > 20
413 1 0 unless (defined $_random_ndigit_ranges[$digits])
420 2 1 unless (defined $_random_ndigit_ranges[$digits])
421 2 0 if ($bigdigits) { }
445 0 13 unless $bits >= 2
449 0 13 if ($bits <= 20 and 1)
450 0 0 if ($bits <= 4)
451 0 0 if $bits == 2
452 0 0 if $bits == 3
453 0 0 if $bits == 4
478 6 7 if ($bits > 64)
479 3 3 $bits > 79 ? :
480 0 6 if $l == 63 and 0
481 0 6 if $bits - 2 < $l
484 6 0 unless ref $brand eq 'Math::BigInt'
494 541 257 if $zi >= $pm or defined $premod[$pm]
495 42 215 if ($twopremod * $zi + $bpremod) % $pm == 0
498 1 5 if $_big_gcd_use < 0
505 5 38 if $a % 3 == $premod[3] or $a % 5 == $premod[5] or $a % 7 == $premod[7] or $a % 11 == $premod[11] or $a % 13 == $premod[13] or $a % 17 == $premod[17] or $a % 19 == $premod[19]
515 7 31 unless Math::BigInt::bgcd($p, 1348781387) == 1
516 0 31 if ($_big_gcd_use and $p > $_big_gcd_top)
517 0 0 unless Math::BigInt::bgcd($p, $_big_gcd[0]) == 1
518 0 0 unless Math::BigInt::bgcd($p, $_big_gcd[1]) == 1
519 0 0 unless Math::BigInt::bgcd($p, $_big_gcd[2]) == 1
520 0 0 unless Math::BigInt::bgcd($p, $_big_gcd[3]) == 1
523 25 6 unless Math::Prime::Util::PP::is_bpsw_prime($p)
536 0 7 if ($bits > 64) { }
540 0 0 if &is_prob_prime($n)
546 7 82 if &is_prob_prime($n)
589 0 0 unless $k >= 2
592 0 0 if $k <= 64 and 1
595 0 0 unless verify_prime($cert)
602 0 10 unless $k >= 2
606 0 10 if ref $k eq 'Math::BigInt'
612 5 5 if ($k <= $p0)
615 0 5 if $isp != 2
621 0 5 if $verbose > 2
623 2 3 unless (defined $Math::BigFloat::VERSION)
632 5 0 if ($k > 2 * $m)
643 5 0 unless ref $q eq 'Math::BigInt'
645 0 5 if $verbose and $verbose != 3
646 5 0 $q < 'Math::BigInt'->new('18446744073709551615') ? :
650 1 4 if $_big_gcd_use < 0
663 0 163 if $verbose > 2
669 118 45 unless Math::BigInt::bgcd($n, 111546435)->is_one
670 0 45 if ($_big_gcd_use and $n > $_big_gcd_top)
671 0 0 unless Math::BigInt::bgcd($n, $_big_gcd[0])->is_one
672 0 0 unless Math::BigInt::bgcd($n, $_big_gcd[1])->is_one
673 0 0 unless Math::BigInt::bgcd($n, $_big_gcd[2])->is_one
674 0 0 unless Math::BigInt::bgcd($n, $_big_gcd[3])->is_one
676 0 45 if $verbose > 2
677 39 6 unless &is_strong_pseudoprime($n, 3)
679 0 6 if $verbose > 2
696 0 6 unless ($q->is_odd and $q > 2 and $m > 0 and $m * $q + $ONE == $n and $TWO * $q + $ONE > $n->copy->bsqrt)
705 0 16 unless $a->copy->bmodpow($R, $n) != $nm1
706 11 5 unless $a->copy->bmodpow($R * $q, $n) == $nm1
707 0 5 if $verbose > 2
708 0 5 unless &is_prob_prime($n)
728 0 2 unless $status
729 0 2 unless verify_prime($cert)
738 140 1 unless vec($s, $i, 8) == 0
745 0 6 if $k < 2
748 0 6 unless defined $input_seed and length $input_seed >= 32
751 0 6 unless (defined $Digest::SHA::VERSION)
756 0 0 unless (eval { do { require Digest::SHA; my $version = $Digest::SHA::VERSION; $version =~ s/[^\d.]//g; $version >= 4 } })
761 2 4 if ($k < 33)
777 2 10 if $isp
778 0 10 if $prime_gen_counter > 10000 + 16 * $k
783 0 4 unless $status
784 4 0 $c0 < 'Math::BigInt'->new('18446744073709551615') ? :
796 0 4 if $_big_gcd_use < 0
798 0 112 if (2 * $t * $c0 + 1 > 2 * $k2)
810 0 38 if ($looks_prime and $_big_gcd_use and $c > $_big_gcd_top)
816 34 78 if $looks_prime and not &is_strong_pseudoprime($c, 3)
819 4 108 if ($looks_prime) { }
829 4 0 if (Math::BigInt::bgcd($z - 1, $c)->is_one and $z->copy->bmodpow($c0, $c)->is_one)
830 0 4 unless &is_prob_prime($c)
844 0 108 if $prime_gen_counter > 10000 + 16 * $k + $old_counter
853 0 1 unless $t >= 128
865 0 1 unless ref $qp eq 'Math::BigInt'
866 0 1 unless ref $qpp eq 'Math::BigInt'
868 1 0 if $rem > 0
874 12 1 unless &is_prob_prime($q)
877 1 0 if $rem > 0
883 1 157 if &is_prob_prime($p)
892 0 0 unless verify_prime($cert)
900 0 1 if (prime_get_config()->{'gmp'} and $k <= 450)
903 0 0 if $isp != 2