Condition Coverage

blib/lib/Math/BigInt.pm
Criterion Covered Total %
condition 634 1050 60.3


and 3 conditions

line !l l&&!r l&&r condition
114 0 0 0 defined $cmp && $_[2]
437 26 230 2 @_ == 1 and ref $_[0] eq "HASH"
488 52 2 230 @_ == 1 and ref $_[0] ne "HASH"
572 39 19873 4 not ref $wanted and $wanted eq ""
585 19873 34 5 defined &blessed($wanted) and $wanted->isa("Math::BigInt")
592 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]
645 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)
692 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]
719 0 0 0 $selfref and $self->modify("from_dec")
755 2 0 0 $selfref and $self->modify("from_hex")
791 2 0 0 $selfref and $self->modify("from_oct")
827 53 0 0 $selfref and $self->modify("from_bin")
863 0 0 0 $selfref and $self->modify("from_bytes")
886 0 0 0 $selfref and $self->modify("from_base")
930 0 0 0 $selfref and $self->modify("from_base_num")
939 0 0 0 defined &blessed($nums->[$i]) and $nums->[$i]->isa("Math::BigInt")
948 0 0 0 defined &blessed($base) and $base->isa("Math::BigInt")
971 0 0 2343 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
987 1903 440 0 $selfref and $self->modify("bzero")
1005 3 6 3 @r >= 2 and defined $r[0]
9 3 0 @r >= 2 and defined $r[0] and defined $r[1]
1021 0 27 449 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1037 272 204 0 $selfref and $self->modify("bone")
1043 367 5 104 defined $_[0] and $_[0] =~ /^\s*([+-])\s*$/
1062 3 9 6 @r >= 2 and defined $r[0]
12 6 0 @r >= 2 and defined $r[0] and defined $r[1]
1078 0 13 2075 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1101 1798 285 0 $selfref and $self->modify("binf")
1106 51 0 2032 defined $_[0] and $_[0] =~ /^\s*([+-])(inf|$)/i
1127 0 575 0 @r >= 2 and defined $r[0]
575 0 0 @r >= 2 and defined $r[0] and defined $r[1]
1143 0 49 2197 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1166 1230 1012 0 $selfref and $self->modify("bnan")
1182 2 539 0 @r >= 2 and defined $r[0]
541 0 0 @r >= 2 and defined $r[0] and defined $r[1]
1197 0 0 9 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1388 60 15 364 $x->{'sign'} eq '+' && !$x->is_zero
1448 0 400 2001 ref $_[0] && ref $_[0] eq ref $_[1]
1454 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')
1457 280 40 2080 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1460 229 0 27 $x->{'sign'} eq $y->{'sign'} and $x->{'sign'} =~ /^[+-]inf$/
1468 284 1534 262 $x->{'sign'} eq "+" and $y->{'sign'} eq "-"
1469 1534 90 194 $x->{'sign'} eq "-" and $y->{'sign'} eq "+"
1491 0 0 238 ref $_[0] && ref $_[0] eq ref $_[1]
1497 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')
1500 56 16 166 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1503 12 16 16 $x->{'sign'} =~ /^[+-]inf$/ and $y->{'sign'} =~ /^[+-]inf$/
1504 12 0 16 $x->{'sign'} =~ /^[+-]inf$/ and not $y->{'sign'} =~ /^[+-]inf$/
1511 0 270 157 ref $_[0] && ref $_[0] eq ref $_[1]
1518 18 277 132 defined $cmp && !$cmp
1522 0 0 18 ref $_[0] && ref $_[0] eq ref $_[1]
1529 18 0 0 defined $cmp && !$cmp
1533 0 614 5 ref $_[0] && ref $_[0] eq ref $_[1]
1540 4 532 83 defined $cmp && $cmp < 0
1544 0 271 1207 ref $_[0] && ref $_[0] eq ref $_[1]
1551 13 1205 260 defined $cmp && $cmp <= 0
1555 0 313 1072 ref $_[0] && ref $_[0] eq ref $_[1]
1562 0 583 802 defined $cmp && $cmp > 0
1566 0 167 150 ref $_[0] && ref $_[0] eq ref $_[1]
1573 13 63 241 defined $cmp && $cmp >= 0
1587 458 28 0 defined $upgrade and not $x->isa("Math::BigInt")
1593 98 380 8 $x->{'sign'} eq "+" and $LIB->_is_zero($x->{'value'})
1605 296 25 0 defined $upgrade and not $x->isa("Math::BigInt")
321 0 0 defined $upgrade and not $x->isa("Math::BigInt") and not $x->isa($upgrade)
1619 18 0 0 defined $upgrade and not $x->isa("Math::BigInt")
18 0 0 defined $upgrade and not $x->isa("Math::BigInt") and not $x->isa($upgrade)
1650 166 9 0 defined $upgrade and not $x->isa("Math::BigInt")
1671 15 4 0 defined $upgrade and not $x->isa("Math::BigInt")
1783 15 98 1705 ref $_[0] && ref $_[0] eq ref $_[1]
1791 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')
1795 138 59 1619 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
1799 35 20 54 $x->{'sign'} =~ /^[+-]inf$/ and $y->{'sign'} =~ /^[+-]inf$/
1822 12 42 1062 ref $_[0] && ref $_[0] eq ref $_[1]
1828 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')
1855 12 24 1608 ref $_[0] && ref $_[0] eq ref $_[1]
1869 20 10 10 $x->{'sign'} =~ /^\+/ and $y->{'sign'} =~ /^\+/
1870 10 10 10 $x->{'sign'} =~ /^-/ and $y->{'sign'} =~ /^-/
1874 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')
1892 0 0 177 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2]
1901 30 3 144 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
33 3 141 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/ and $z->{'sign'} =~ /^[+-]$/
1905 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')
2038 6 15 1446 ref $_[0] && ref $_[0] eq ref $_[1]
2211 0 0 366 ref $_[0] && ref $_[0] eq ref $_[1]
2351 12 9 679 ref $_[0] && ref $_[0] eq ref $_[1]
2387 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')
2409 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
2439 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')
2467 0 0 243 ref $_[0] && ref $_[0] eq ref $_[1]
2476 12 9 222 $y->{'sign'} =~ /^[+-]$/ and $x->{'sign'} =~ /^[+-]$/
2488 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')
2540 0 0 501 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2]
2571 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)
2591 162 30 21 $num->{'sign'} eq "-" and $exp->is_odd
2648 12 59 504 ref $_[0] && ref $_[0] eq ref $_[1]
2707 196 18 21 $x->is_negative && $y->is_odd
2722 199 0 0 not ref $_[0] and $_[0] =~ /^[a-z]\w*(?:::\w+)*$/i
2740 0 0 160 defined &blessed($base) and $base->isa("Math::BigInt")
2833 0 0 93 ref $_[0] && ref $_[0] eq ref $_[1]
2870 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')
3093 0 0 84 ref $_[0] && ref $_[0] eq ref $_[1]
3161 0 8 166 ref $_[0] && ref $_[0] eq ref $_[1]
3190 69 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3206 33 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3224 51 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3243 0 0 270 ref $_[0] && ref $_[0] eq ref $_[1]
3249 198 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3271 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3315 0 0 0 $x->is_neg && $x->is_even
3330 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
3374 0 0 0 $x->is_neg && $x->is_even
3389 50 0 12 not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/
3404 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')
3430 0 0 0 $x->is_zero and $y->is_inf("+")
3461 122 0 12 not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/
3476 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')
3492 111 0 11 defined $upgrade and $y->is_pos
3496 54 0 57 $x->is_neg and $b->bcmp(2) == 0
3548 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")
3558 0 0 16 ref $_ and not $_->isa("Math::BigInt")
0 0 16 ref $_ and not $_->isa("Math::BigInt") and $_->can("as_int")
3601 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")
3611 0 0 16 ref $_ and not $_->isa("Math::BigInt")
0 0 16 ref $_ and not $_->isa("Math::BigInt") and $_->can("as_int")
3657 0 1 174 ref $_[0] && ref $_[0] eq ref $_[1]
3662 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')
3668 8 4 162 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3670 24 9 129 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3683 0 1 235 ref $_[0] && ref $_[0] eq ref $_[1]
3688 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')
3694 8 4 223 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3696 23 12 188 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3709 0 1 245 ref $_[0] && ref $_[0] eq ref $_[1]
3714 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')
3720 8 4 233 $x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/
3722 27 13 193 $x->{'sign'} eq "+" and $y->{'sign'} eq "+"
3738 32 7 0 defined $upgrade and not $x->isa("Math::BigInt")
3756 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]
3784 73765 34270 86 defined $_->{'_a'} and !defined($a) || $_->{'_a'} < $a
3793 108242 114 0 defined $_->{'_p'} and !defined($p) || $_->{'_p'} > $p
3806 47001 21198 6 defined $a and $a == 0
3812 165 21140 58 defined $a and defined $p
3858 25792 134 0 $scale < 0 and $scale < -$len - 1
3895 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'
3900 0 122 25610 $pad > 0 and $pad <= $len
3965 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
3975 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
3985 30 8 0 defined $upgrade and not $x->isa("Math::BigInt")
4001 0 96 1 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4025 0 0 97 defined &blessed($x) && $x->isa('Math::BigInt')
4032 0 0 84 defined &blessed($y) and $y->isa("Math::BigInt")
4048 0 34 1 @_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4072 0 0 35 defined &blessed($x) && $x->isa('Math::BigInt')
4078 0 0 30 defined &blessed($y) and $y->isa("Math::BigInt")
4155 54 18 0 defined $upgrade and not $x->isa("Math::BigInt")
4177 51 17 0 defined $upgrade and not $x->isa("Math::BigInt")
4202 27 9 0 defined $upgrade and not $x->isa("Math::BigInt")
4237 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4269 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4307 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4366 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4404 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4420 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4431 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4448 8196 1137 2703 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4455 8658 675 0 defined $upgrade and not $x->isa("Math::BigInt")
4474 34 14 18 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4481 45 3 0 defined $upgrade and not $x->isa("Math::BigInt")
4502 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4509 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4536 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4543 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4575 15 1 8 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4582 0 16 0 defined $upgrade and not $x->isa("Math::BigInt")
4600 0 0 0 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4607 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4624 20 4 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4631 18 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4649 24 4 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4656 21 7 0 defined $upgrade and not $x->isa("Math::BigInt")
4674 23 58 12 $x->{'sign'} ne "+" and $x->{'sign'} ne "-"
4681 75 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4700 0 0 0 defined $upgrade and not $x->isa("Math::BigInt")
4713 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
4737 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')
4750 0 0 0 ref $_[0] && ref $_[0] eq ref $_[1]
4764 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')
4791 18 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4807 21 7 0 defined $upgrade and not $x->isa("Math::BigInt")
4823 21 6 0 defined $upgrade and not $x->isa("Math::BigInt")
4854 438 57 0 defined $upgrade and not $x->isa("Math::BigInt")
4887 5000 1 150 @_ == 2 and ($_[0] || 0) == 1
5001 0 150 @_ == 2 and ($_[0] || 0) == 1 and ref $_[1]
5259 994 8899 309 defined $a and ref $a
5260 10150 52 0 defined $p and ref $p
5267 1536 32 0 defined $_->{'_a'} and !defined($a) || $_->{'_a'} < $a
5276 18971 10 0 defined $_->{'_p'} and !defined($p) || $_->{'_p'} > $p
5285 959 9227 16 defined $a and $a == 0
5291 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'
350 8021 0 ref $x || $x || 'Math::BigInt'
396 7795 0 ref $x || $x || 'Math::BigInt'
434 286 0 shift() || 'Math::BigInt'
610 4161 8668 $sgn || '+'
626 1173 582 $1 || '+'
4107 67 20 $n || 0
4887 150 1 $_[0] || 0
5328 2480 7584 shift() || '+'
5329 5466 4598 shift() || '0'
5330 413 9651 shift() || '+'
5331 585 9479 shift() || '0'

or 3 conditions

line l !l&&r !l&&!r condition
437 28 4 254 @_ > 1 or @_ == 1 and ref $_[0] eq "HASH"
553 0 19924 0 $selfref || $self
645 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)
715 0 0 0 $selfref || $self
751 0 2 0 $selfref || $self
787 0 2 0 $selfref || $self
823 0 53 0 $selfref || $self
859 0 0 0 $selfref || $self
882 0 0 0 $selfref || $self
892 0 0 0 $base < 2 or not $base->is_int
926 0 0 0 $selfref || $self
943 0 0 0 $nums->[$i]->is_neg or not $nums->[$i]->is_int
971 440 1903 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
981 440 1903 0 $selfref || $self
1021 204 272 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1031 204 272 0 $selfref || $self
1078 288 1800 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1088 288 1800 0 $selfref || $self
1143 1014 1232 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1153 1014 1232 0 $selfref || $self
1197 0 9 0 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
1225 0 9 0 $selfref || $self
1351 507 620 604 not defined $sign or $sign ne "-"
1359 352 4 8 $x->{'sign'} eq '+' || $x->{'sign'} eq '-'
1459 35 29 256 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1502 16 12 44 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1648 8 8 175 $x->is_inf or $x->is_nan
1669 8 4 19 $x->is_inf or $x->is_nan
1797 48 40 109 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1861 28 24 1592 $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1864 36 16 1540 $x->{'sign'} =~ /^[+-]inf$/ or $y->{'sign'} =~ /^[+-]inf$/
1865 8 4 40 $x->is_zero or $y->is_zero
1930 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
2049 26 25 1416 $x->is_nan or $y->is_nan
2125 32 24 24 $x->is_zero or $x->bcmp(0) == $y->bcmp(0)
2166 449 20 53 $xsign eq $ysign or $LIB->_is_zero($x->{'value'})
2222 0 0 366 $x->is_nan or $y->is_nan
2361 14 13 673 $x->is_nan or $y->is_nan
2380 16 12 12 $x->is_zero or $x->bcmp(0) == $y->bcmp(0)
2417 0 0 0 $x->is_nan or $y->is_nan
2485 63 0 159 $y->is_one("+") or $y->is_one("-")
2559 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/
2655 34 31 510 $x->is_nan or $y->is_nan
2700 36 0 235 $y->{'sign'} eq "-" or not $y->isa("Math::BigInt")
2742 3 9 148 $base->is_nan or $base->is_one
27 9 112 $base->is_inf or $base->is_zero
2745 12 9 15 $x->is_inf or $x->is_zero
2843 6 3 84 $n->{'sign'} eq "NaN" or $k->{'sign'} eq "NaN"
2877 7 14 56 $k < 0 or $k > $n
3098 6 3 75 $y->{'sign'} eq $nan or $x->{'sign'} eq $nan
3104 24 6 45 $x->is_inf or $y->is_inf
3170 48 9 117 not $x->{'sign'} =~ /^\+/ or $y->is_zero
57 18 99 not $x->{'sign'} =~ /^\+/ or $y->is_zero or not $y->{'sign'} =~ /^\+$/
3172 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
3186 0 3 78 $x->modify("bfac") or $x->{'sign'} eq "+inf"
3201 0 3 51 $x->modify("bdfac") or $x->{'sign'} eq "+inf"
3203 3 6 42 $x->is_nan or $x <= -2
3220 0 3 54 $x->modify("btfac") or $x->{'sign'} eq "+inf"
3246 0 15 255 $x->modify("bmfac") or $x->{'sign'} eq "+inf"
3247 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
3312 0 0 0 $x->modify("bdfac") or $x->is_inf("+")
3313 0 0 0 $x->is_nan or $x->is_inf("-")
3372 0 0 0 $x->is_nan or $x->is_inf("-")
3409 0 0 62 $x->is_nan or $y->is_nan
0 0 62 $x->is_nan or $y->is_nan or $b->is_nan
3419 0 0 0 $b->is_one("+") or $y->is_zero
3481 0 0 134 $x->is_nan or $y->is_nan
0 0 134 $x->is_nan or $y->is_nan or $b->is_nan
3522 0 0 54 $x->bcmp($uintmax) > 0 or $x->is_neg
3566 4 0 31 $x->is_nan or $y->is_nan
3582 0 0 27 $x->is_zero or $x->is_inf
0 0 27 $x->is_zero or $x->is_inf or $y->is_zero
3619 4 0 31 $x->is_nan or $y->is_nan
3635 0 0 27 $x->is_zero or $x->is_inf
0 0 27 $x->is_zero or $x->is_inf or $y->is_zero
3784 20869 17 13470 !defined($a) || $_->{'_a'} < $a
3793 111 0 3 !defined($p) || $_->{'_p'} > $p
3800 21173 152 46880 defined $a or defined $p
3809 21198 165 46842 defined $a or defined $p
3822 418 20716 6 not defined $self->{'_a'} or $self->{'_a'} >= $a
3825 123 42 0 not defined $self->{'_p'} or $self->{'_p'} <= $p
3842 2 0 26039 not defined $scale or $x->modify("bround")
3844 82 19 25938 $x->is_zero or $scale == 0
3845 89 0 12 not defined $x->{'_a'} or $x->{'_a'} > $scale
3858 0 194 25732 $scale < 0 and $scale < -$len - 1 or $scale >= $len
3859 164 0 30 not defined $x->{'_a'} or $x->{'_a'} > $scale
3895 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'
3943 0 0 212 not defined $scale or $x->modify("bfround")
4001 95 1 1 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4048 33 1 1 defined &blessed($_[0]) && $_[0]->isa('Math::BigInt') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
4265 0 0 0 $x->is_nan or $x->is_inf
4303 0 0 0 $x->is_nan or $x->is_inf
4697 0 0 0 $x->is_neg or not $x->is_int
4718 0 0 0 $x->is_neg or not $x->is_int
4721 0 0 0 $base < 2 or not $base->is_int
4755 0 0 0 $x->is_neg or not $x->is_int
4758 0 0 0 $base < 2 or not $base->is_int
4916 4698 303 0 $count ||= @a
5230 0 653 2307 $follow > $len or $follow < 1
5267 32 0 0 !defined($a) || $_->{'_a'} < $a
5276 10 0 0 !defined($p) || $_->{'_p'} > $p
5288 9227 64 911 defined $a or defined $p