Condition Coverage

blib/lib/Math/BigInt.pm
Criterion Covered Total %
condition 632 1044 60.5


and 3 conditions

line !l l&&!r l&&r condition
114 0 0 0 defined $cmp && $_[2]
435 26 230 2 @_ == 1 and ref $_[0] eq "HASH"
486 52 2 230 @_ == 1 and ref $_[0] ne "HASH"
570 39 19873 4 not ref $wanted and $wanted eq ""
583 19873 34 5 defined &blessed($wanted) and $wanted->isa("Math::BigInt")
590 4 0 1 @r >= 2 and not defined $r[0]
4 0 1 @r >= 2 and not defined $r[0] and not defined $r[1]
643 3841 4 1087 $wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted)
3845 0 0 $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted)
3642 23 180 $wanted =~ /^\s*[+-]?0?[Bb]/ and @parts = $class->_bin_str_to_flt_lib_parts($wanted)
639 0 0 $wanted =~ /^\s*[+-]?0_*\d/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted)
690 3126 2 1124 @r >= 2 and not defined $r[0]
3128 0 1124 @r >= 2 and not defined $r[0] and not defined $r[1]
717 0 0 0 $selfref and $self->modify("from_dec")
753 2 0 0 $selfref and $self->modify("from_hex")
789 2 0 0 $selfref and $self->modify("from_oct")
825 53 0 0 $selfref and $self->modify("from_bin")
861 0 0 0 $selfref and $self->modify("from_bytes")
884 0 0 0 $selfref and $self->modify("from_base")
928 0 0 0 $selfref and $self->modify("from_base_num")
937 0 0 0 defined &blessed($nums->[$i]) and $nums->[$i]->isa("Math::BigInt")
946 0 0 0 defined &blessed($base) and $base->isa("Math::BigInt")
969 0 0 2343 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
985 1903 440 0 $selfref and $self->modify("bzero")
1003 3 6 3 @r >= 2 and defined $r[0]
9 3 0 @r >= 2 and defined $r[0] and defined $r[1]
1019 0 27 449 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1035 272 204 0 $selfref and $self->modify("bone")
1041 367 5 104 defined $_[0] and $_[0] =~ /^\s*([+-])\s*$/
1060 3 9 6 @r >= 2 and defined $r[0]
12 6 0 @r >= 2 and defined $r[0] and defined $r[1]
1076 0 13 2075 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1099 1798 285 0 $selfref and $self->modify("binf")
1104 51 0 2032 defined $_[0] and $_[0] =~ /^\s*([+-])(inf|$)/i
1125 0 575 0 @r >= 2 and defined $r[0]
575 0 0 @r >= 2 and defined $r[0] and defined $r[1]
1141 0 49 2197 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1164 1230 1012 0 $selfref and $self->modify("bnan")
1180 2 539 0 @r >= 2 and defined $r[0]
541 0 0 @r >= 2 and defined $r[0] and defined $r[1]
1195 0 0 9 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1386 60 15 364 $x->{'sign'} eq '+' && !$x->is_zero
1446 0 400 2001 ref $_[0] && ref $_[0] eq ref $_[1]
1452 0 1 150 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
2250 150 1 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1455 280 40 2080 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1458 229 0 27 $x->{'sign'} eq $y->{'sign'} and $x->{'sign'} =~ /^[+-]inf$/
1466 284 1534 262 $x->{'sign'} eq "+" and $y->{'sign'} eq "-"
1467 1534 90 194 $x->{'sign'} eq "-" and $y->{'sign'} eq "+"
1489 0 0 238 ref $_[0] && ref $_[0] eq ref $_[1]
1495 0 0 26 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
212 26 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1498 56 16 166 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1501 12 16 16 $x->{'sign'} =~ /^[+-]inf$/ and $y->{'sign'} =~ /^[+-]inf$/
1502 12 0 16 $x->{'sign'} =~ /^[+-]inf$/ and not $y->{'sign'} =~ /^[+-]inf$/
1509 0 270 157 ref $_[0] && ref $_[0] eq ref $_[1]
1516 18 277 132 defined $cmp && !$cmp
1520 0 0 18 ref $_[0] && ref $_[0] eq ref $_[1]
1527 18 0 0 defined $cmp && !$cmp
1531 0 614 5 ref $_[0] && ref $_[0] eq ref $_[1]
1538 4 532 83 defined $cmp && $cmp < 0
1542 0 271 1207 ref $_[0] && ref $_[0] eq ref $_[1]
1549 13 1205 260 defined $cmp && $cmp <= 0
1553 0 313 1072 ref $_[0] && ref $_[0] eq ref $_[1]
1560 0 583 802 defined $cmp && $cmp > 0
1564 0 167 150 ref $_[0] && ref $_[0] eq ref $_[1]
1571 13 63 241 defined $cmp && $cmp >= 0
1585 458 28 0 defined $upgrade and not $x->isa("Math::BigInt")
1591 98 380 8 $x->{'sign'} eq "+" and $LIB->_is_zero($x->{'value'})
1603 296 25 0 defined $upgrade and not $x->isa("Math::BigInt")
1617 18 0 0 defined $upgrade and not $x->isa("Math::BigInt")
1648 166 9 0 defined $upgrade and not $x->isa("Math::BigInt")
1669 15 4 0 defined $upgrade and not $x->isa("Math::BigInt")
1781 15 98 1705 ref $_[0] && ref $_[0] eq ref $_[1]
1789 0 2 90 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1726 90 2 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1793 138 59 1619 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1797 35 20 54 $x->{'sign'} =~ /^[+-]inf$/ and $y->{'sign'} =~ /^[+-]inf$/
1820 12 42 1062 ref $_[0] && ref $_[0] eq ref $_[1]
1826 0 0 44 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1072 44 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1853 12 24 1608 ref $_[0] && ref $_[0] eq ref $_[1]
1867 20 10 10 $x->{'sign'} =~ /^\+/ and $y->{'sign'} =~ /^\+/
1868 10 10 10 $x->{'sign'} =~ /^-/ and $y->{'sign'} =~ /^-/
1872 0 8 50 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1482 50 8 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
1890 0 0 177 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2]
1899 30 3 144 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
33 3 141 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/ and $z->{'sign'} =~ /^[+-]$/
1903 0 0 0 $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $z->isa('Math::BigInt')
141 0 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $z->isa('Math::BigInt')
2036 6 15 1446 ref $_[0] && ref $_[0] eq ref $_[1]
2209 0 0 366 ref $_[0] && ref $_[0] eq ref $_[1]
2349 12 9 679 ref $_[0] && ref $_[0] eq ref $_[1]
2385 0 0 49 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
502 49 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
2407 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
2437 0 0 0 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
0 0 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
2465 0 0 243 ref $_[0] && ref $_[0] eq ref $_[1]
2474 12 9 222 $y->{'sign'} =~ /^[+-]$/ and $x->{'sign'} =~ /^[+-]$/
2486 0 0 0 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
159 0 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
2538 0 0 501 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2]
2569 0 0 0 $num->isa('Math::BigInt') && $exp->isa('Math::BigInt') && &$mod($class)
432 0 0 defined $upgrade and not $num->isa('Math::BigInt') && $exp->isa('Math::BigInt') && &$mod($class)
2589 162 30 21 $num->{'sign'} eq "-" and $exp->is_odd
2646 12 59 504 ref $_[0] && ref $_[0] eq ref $_[1]
2705 196 18 21 $x->is_negative && $y->is_odd
2720 199 0 0 not ref $_[0] and $_[0] =~ /^[a-z]\w*(?:::\w+)*$/i
2738 0 0 160 defined &blessed($base) and $base->isa("Math::BigInt")
2831 0 0 93 ref $_[0] && ref $_[0] eq ref $_[1]
2868 0 0 0 $n->isa('Math::BigInt') && $k->isa('Math::BigInt')
77 0 0 defined $upgrade and not $n->isa('Math::BigInt') && $k->isa('Math::BigInt')
3091 0 0 84 ref $_[0] && ref $_[0] eq ref $_[1]
3159 0 8 166 ref $_[0] && ref $_[0] eq ref $_[1]
3188 69 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3204 33 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3222 51 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3241 0 0 270 ref $_[0] && ref $_[0] eq ref $_[1]
3247 198 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3269 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3313 0 0 0 $x->is_neg && $x->is_even
3328 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3372 0 0 0 $x->is_neg && $x->is_even
3387 50 0 12 not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/
3402 0 0 8 $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $b->isa('Math::BigInt')
54 8 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $b->isa('Math::BigInt')
3428 0 0 0 $x->is_zero and $y->is_inf("+")
3459 122 0 12 not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/
3474 0 0 14 $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $b->isa('Math::BigInt')
120 14 0 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt') && $b->isa('Math::BigInt')
3490 111 0 11 defined $upgrade and $y->is_pos
3494 54 0 57 $x->is_neg and $b->bcmp(2) == 0
3546 0 27 0 ref $y and not $y->isa("Math::BigInt")
27 0 0 ref $y and not $y->isa("Math::BigInt") and $y->can("as_int")
3556 0 0 16 ref $_ and not $_->isa("Math::BigInt")
0 0 16 ref $_ and not $_->isa("Math::BigInt") and $_->can("as_int")
3599 0 27 0 ref $y and not $y->isa("Math::BigInt")
27 0 0 ref $y and not $y->isa("Math::BigInt") and $y->can("as_int")
3609 0 0 16 ref $_ and not $_->isa("Math::BigInt")
0 0 16 ref $_ and not $_->isa("Math::BigInt") and $_->can("as_int")
3655 0 1 174 ref $_[0] && ref $_[0] eq ref $_[1]
3660 0 1 33 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
141 33 1 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
3666 8 4 162 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3668 24 9 129 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3681 0 1 235 ref $_[0] && ref $_[0] eq ref $_[1]
3686 0 1 46 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
189 46 1 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
3692 8 4 223 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3694 23 12 188 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3707 0 1 245 ref $_[0] && ref $_[0] eq ref $_[1]
3712 0 1 47 $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
198 47 1 defined $upgrade and not $x->isa('Math::BigInt') && $y->isa('Math::BigInt')
3718 8 4 233 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3720 27 13 193 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3736 32 7 0 defined $upgrade and not $x->isa("Math::BigInt")
3754 27844 40258 3702 @args >= 2 and @args <= 3
68102 47 3655 @args >= 2 and @args <= 3 and not defined $args[0]
40305 56 3599 @args >= 2 and @args <= 3 and not defined $args[0] and not defined $args[1]
3782 73765 34270 86 defined $_->{'_a'} and !defined($a) || $_->{'_a'} < $a
3791 108242 114 0 defined $_->{'_p'} and !defined($p) || $_->{'_p'} > $p
3804 47001 21198 6 defined $a and $a == 0
3810 165 21140 58 defined $a and defined $p
3856 25792 134 0 $scale < 0 and $scale < -$len - 1
3893 9809 2221 762 $digit_after eq 5 and $x->_scan_for_nonzero($pad, $xs, $len) == 0
12030 703 59 $digit_after eq 5 and $x->_scan_for_nonzero($pad, $xs, $len) == 0 and $mode eq 'even' && $digit_round =~ /[24680]/ || $mode eq 'odd' && $digit_round =~ /[13579]/ || $mode eq '+inf' && $x->{'sign'} eq '-' || $mode eq '-inf' && $x->{'sign'} eq '+' || $mode eq 'zero'
3898 0 122 25610 $pad > 0 and $pad <= $len
3963 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
3973 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
3983 30 8 0 defined $upgrade and not $x->isa("Math::BigInt")
3999 0 96 1 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4023 0 0 97 defined &blessed($x) && $x->isa('Math::BigInt')
4030 0 0 84 defined &blessed($y) and $y->isa("Math::BigInt")
4046 0 34 1 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4070 0 0 35 defined &blessed($x) && $x->isa('Math::BigInt')
4076 0 0 30 defined &blessed($y) and $y->isa("Math::BigInt")
4153 54 18 0 defined $upgrade and not $x->isa("Math::BigInt")
4175 51 17 0 defined $upgrade and not $x->isa("Math::BigInt")
4200 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
4235 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4267 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4305 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4364 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4402 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4418 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4429 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4446 8196 1137 2703 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4453 8658 675 0 defined $upgrade and not $x->isa("Math::BigInt")
4472 34 14 18 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4479 45 3 0 defined $upgrade and not $x->isa("Math::BigInt")
4500 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4507 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4534 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4541 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4573 15 1 8 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4580 0 16 0 defined $upgrade and not $x->isa("Math::BigInt")
4598 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4605 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4622 20 4 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4629 18 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4647 24 4 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4654 21 7 0 defined $upgrade and not $x->isa("Math::BigInt")
4672 23 58 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4679 75 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4698 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4711 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
4735 0 0 0 $x->isa('Math::BigInt') && $base->isa('Math::BigInt')
0 0 0 defined $upgrade and not $x->isa('Math::BigInt') && $base->isa('Math::BigInt')
4748 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
4762 0 0 0 $x->isa('Math::BigInt') && $base->isa('Math::BigInt')
0 0 0 defined $upgrade and not $x->isa('Math::BigInt') && $base->isa('Math::BigInt')
4789 18 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4805 21 7 0 defined $upgrade and not $x->isa("Math::BigInt")
4821 21 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4852 438 57 0 defined $upgrade and not $x->isa("Math::BigInt")
4885 5000 1 150 @_ == 2 and ($_[0] || 0) == 1
5001 0 150 @_ == 2 and ($_[0] || 0) == 1 and ref $_[1]
5257 994 8899 309 defined $a and ref $a
5258 10150 52 0 defined $p and ref $p
5265 1536 32 0 defined $_->{'_a'} and !defined($a) || $_->{'_a'} < $a
5274 18971 10 0 defined $_->{'_p'} and !defined($p) || $_->{'_p'} > $p
5283 959 9227 16 defined $a and $a == 0
5289 64 9218 9 defined $a and defined $p

or 2 conditions

line l !l condition
277 410 0 ref $self || $self || 'Math::BigInt'
300 3332 0 ref $self || $self || 'Math::BigInt'
313 3140 0 ref $self || $self || 'Math::BigInt'
323 946 0 ref $self || $self || 'Math::BigInt'
348 8021 0 ref $x || $x || 'Math::BigInt'
394 7795 0 ref $x || $x || 'Math::BigInt'
432 286 0 shift() || 'Math::BigInt'
608 4161 8668 $sgn || '+'
624 1173 582 $1 || '+'
4105 67 20 $n || 0
4885 150 1 $_[0] || 0
5326 2480 7584 shift() || '+'
5327 5466 4598 shift() || '0'
5328 413 9651 shift() || '+'
5329 585 9479 shift() || '0'

or 3 conditions

line l !l&&r !l&&!r condition
435 28 4 254 @_ > 1 or @_ == 1 and ref $_[0] eq "HASH"
551 0 19924 0 $selfref || $self
643 1087 0 3845 $wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted)
0 180 3665 $wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Bb]/ and @parts = $class->_bin_str_to_flt_lib_parts($wanted)
180 3026 639 $wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Bb]/ and @parts = $class->_bin_str_to_flt_lib_parts($wanted) or @parts = $class->_dec_str_to_flt_lib_parts($wanted)
3206 0 639 $wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Bb]/ and @parts = $class->_bin_str_to_flt_lib_parts($wanted) or @parts = $class->_dec_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0_*\d/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted)
713 0 0 0 $selfref || $self
749 0 2 0 $selfref || $self
785 0 2 0 $selfref || $self
821 0 53 0 $selfref || $self
857 0 0 0 $selfref || $self
880 0 0 0 $selfref || $self
890 0 0 0 $base < 2 or not $base->is_int
924 0 0 0 $selfref || $self
941 0 0 0 $nums->[$i]->is_neg or not $nums->[$i]->is_int
969 440 1903 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
979 440 1903 0 $selfref || $self
1019 204 272 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1029 204 272 0 $selfref || $self
1076 288 1800 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1086 288 1800 0 $selfref || $self
1141 1014 1232 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1151 1014 1232 0 $selfref || $self
1195 0 9 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1223 0 9 0 $selfref || $self
1349 507 620 604 not defined $sign or $sign ne "-"
1357 352 4 8 $x->{'sign'} eq '+' || $x->{'sign'} eq '-'
1457 35 29 256 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1500 16 12 44 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1646 8 8 175 $x->is_inf or $x->is_nan
1667 8 4 19 $x->is_inf or $x->is_nan
1795 48 40 109 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1859 28 24 1592 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1862 36 16 1540 $x->{'sign'} =~ /^[+-]inf$/ or $y->{'sign'} =~ /^[+-]inf$/
1863 8 4 40 $x->is_zero or $y->is_zero
1928 12 9 15 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
21 3 12 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan or $z->{'sign'} eq $nan
2047 26 25 1416 $x->is_nan or $y->is_nan
2123 32 24 24 $x->is_zero or $x->bcmp(0) == $y->bcmp(0)
2164 449 20 53 $xsign eq $ysign or $LIB->_is_zero($x->{'value'})
2220 0 0 366 $x->is_nan or $y->is_nan
2359 14 13 673 $x->is_nan or $y->is_nan
2378 16 12 12 $x->is_zero or $x->bcmp(0) == $y->bcmp(0)
2415 0 0 0 $x->is_nan or $y->is_nan
2483 63 0 159 $y->is_one("+") or $y->is_one("-")
2557 54 9 438 $num->{'sign'} =~ /NaN|inf/ or $exp->{'sign'} =~ /NaN|inf/
63 3 435 $num->{'sign'} =~ /NaN|inf/ or $exp->{'sign'} =~ /NaN|inf/ or $mod->{'sign'} =~ /NaN|inf/
2653 34 31 510 $x->is_nan or $y->is_nan
2698 36 0 235 $y->{'sign'} eq "-" or not $y->isa("Math::BigInt")
2740 3 9 148 $base->is_nan or $base->is_one
27 9 112 $base->is_inf or $base->is_zero
2743 12 9 15 $x->is_inf or $x->is_zero
2841 6 3 84 $n->{'sign'} eq "NaN" or $k->{'sign'} eq "NaN"
2875 7 14 56 $k < 0 or $k > $n
3096 6 3 75 $y->{'sign'} eq $nan or $x->{'sign'} eq $nan
3102 24 6 45 $x->is_inf or $y->is_inf
3168 48 9 117 not $x->{'sign'} =~ /^\+/ or $y->is_zero
57 18 99 not $x->{'sign'} =~ /^\+/ or $y->is_zero or not $y->{'sign'} =~ /^\+$/
3170 3 3 93 $x->is_zero or $x->is_one
6 3 90 $x->is_zero or $x->is_one or $x->is_inf
6 3 87 $x->is_zero or $x->is_one or $x->is_inf or $y->is_one
3184 0 3 78 $x->modify("bfac") or $x->{'sign'} eq "+inf"
3199 0 3 51 $x->modify("bdfac") or $x->{'sign'} eq "+inf"
3201 3 6 42 $x->is_nan or $x <= -2
3218 0 3 54 $x->modify("btfac") or $x->{'sign'} eq "+inf"
3244 0 15 255 $x->modify("bmfac") or $x->{'sign'} eq "+inf"
3245 15 3 237 $x->is_nan or $k->is_nan
18 9 228 $x->is_nan or $k->is_nan or $k < 1
12 30 198 $x->is_nan or $k->is_nan or $k < 1 or $x <= -$k
3310 0 0 0 $x->modify("bdfac") or $x->is_inf("+")
3311 0 0 0 $x->is_nan or $x->is_inf("-")
3370 0 0 0 $x->is_nan or $x->is_inf("-")
3407 0 0 62 $x->is_nan or $y->is_nan
0 0 62 $x->is_nan or $y->is_nan or $b->is_nan
3417 0 0 0 $b->is_one("+") or $y->is_zero
3479 0 0 134 $x->is_nan or $y->is_nan
0 0 134 $x->is_nan or $y->is_nan or $b->is_nan
3520 0 0 54 $x->bcmp($uintmax) > 0 or $x->is_neg
3564 4 0 31 $x->is_nan or $y->is_nan
3580 0 0 27 $x->is_zero or $x->is_inf
0 0 27 $x->is_zero or $x->is_inf or $y->is_zero
3617 4 0 31 $x->is_nan or $y->is_nan
3633 0 0 27 $x->is_zero or $x->is_inf
0 0 27 $x->is_zero or $x->is_inf or $y->is_zero
3782 20869 17 13470 !defined($a) || $_->{'_a'} < $a
3791 111 0 3 !defined($p) || $_->{'_p'} > $p
3798 21173 152 46880 defined $a or defined $p
3807 21198 165 46842 defined $a or defined $p
3820 418 20716 6 not defined $self->{'_a'} or $self->{'_a'} >= $a
3823 123 42 0 not defined $self->{'_p'} or $self->{'_p'} <= $p
3840 2 0 26039 not defined $scale or $x->modify("bround")
3842 82 19 25938 $x->is_zero or $scale == 0
3843 89 0 12 not defined $x->{'_a'} or $x->{'_a'} > $scale
3856 0 194 25732 $scale < 0 and $scale < -$len - 1 or $scale >= $len
3857 164 0 30 not defined $x->{'_a'} or $x->{'_a'} > $scale
3893 148 12792 12792 $mode eq "trunc" or $digit_after =~ /[01234]/
28 51 351 $mode eq 'even' && $digit_round =~ /[24680]/ || $mode eq 'odd' && $digit_round =~ /[13579]/ || $mode eq '+inf' && $x->{'sign'} eq '-' || $mode eq '-inf' && $x->{'sign'} eq '+' || $mode eq 'zero'
12940 773 12019 $mode eq "trunc" or $digit_after =~ /[01234]/ or $digit_after eq 5 and $x->_scan_for_nonzero($pad, $xs, $len) == 0 and $mode eq 'even' && $digit_round =~ /[24680]/ || $mode eq 'odd' && $digit_round =~ /[13579]/ || $mode eq '+inf' && $x->{'sign'} eq '-' || $mode eq '-inf' && $x->{'sign'} eq '+' || $mode eq 'zero'
3941 0 0 212 not defined $scale or $x->modify("bfround")
3999 95 1 1 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4046 33 1 1 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4263 0 0 0 $x->is_nan or $x->is_inf
4301 0 0 0 $x->is_nan or $x->is_inf
4695 0 0 0 $x->is_neg or not $x->is_int
4716 0 0 0 $x->is_neg or not $x->is_int
4719 0 0 0 $base < 2 or not $base->is_int
4753 0 0 0 $x->is_neg or not $x->is_int
4756 0 0 0 $base < 2 or not $base->is_int
4914 4698 303 0 $count ||= @a
5228 0 653 2307 $follow > $len or $follow < 1
5265 32 0 0 !defined($a) || $_->{'_a'} < $a
5274 10 0 0 !defined($p) || $_->{'_p'} > $p
5286 9227 64 911 defined $a or defined $p