Condition Coverage

blib/lib/Math/BigInt/Lite.pm
Criterion Covered Total %
condition 98 221 44.3


and 3 conditions

line !l l&&!r l&&r condition
134 0 0 0 defined $a and $a == 0
235 0 0 0 defined $cmp && $_[2]
268 0 2 0 @_ == 1 and ref $_[0] eq "HASH"
301 0 26 0 @_ and ref $_[0] || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
335 14 2 16 @args and $a != 1
355 0 8 0 @_ and ref $_[0] || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
367 0 11 5 defined &blessed($arg) and $arg->isa($upgrade)
387 697 966 12975 CORE::length $wanted <= $MAX_NEW_LEN and $wanted =~ /^[+-]?[0-9]{1,$MAX_NEW_LEN}(\.0*)?\z/
411 0 2984 0 defined $upgrade and not $x->isa($class)
423 0 543 0 defined $upgrade and not $x->isa($class)
449 0 0 0 defined $upgrade and not $x->isa($class)
488 0 0 0 defined $upgrade and not $x->isa($class)
527 0 0 0 defined $upgrade and not $x->isa($class)
539 0 0 0 defined $upgrade and not $x->isa($class)
564 528 0 13 not ref $_[0] and $_[0] =~ /^Math::BigInt::Lite/
574 0 46 495 $x->isa($class) and $y->isa($class)
595 121 0 2 not ref $_[0] and $_[0] =~ /^Math::BigInt::Lite/
605 0 3 120 $x->isa($class) and $y->isa($class)
606 3 120 0 $up == 0 and abs $$x >= $MAX_MUL || abs $$y >= $MAX_MUL
689 108 1 8 defined $_[0] and $_[0] =~ /^\s*([+-])\s*$/
713 0 6 561 ref $_[0] && ref $_[0] eq ref $_[1]
717 0 6 561 $x->isa($class) && $y->isa($class)
0 561 6 defined $upgrade and not $x->isa($class) && $y->isa($class)
725 0 5 7 ref $_[0] && ref $_[0] eq ref $_[1]
729 0 5 7 $x->isa($class) && $y->isa($class)
0 7 5 defined $upgrade and not $x->isa($class) && $y->isa($class)
984 29 0 0 ref $b and $b->isa($class)
1030 0 1 14 ref $_[0] && ref $_[0] eq ref $_[1]
1033 0 1 14 $x->isa($class) and $y->isa($class)
1043 0 6 16 ref $_[0] && ref $_[0] eq ref $_[1]
1046 0 6 16 $x->isa($class) and $y->isa($class)
1056 0 6 15 ref $_[0] && ref $_[0] eq ref $_[1]
1059 0 6 15 $x->isa($class) and $y->isa($class)
1125 50 23 17 $$rem != 0 and ($$x <=> 0) != ($$y <=> 0)
1153 26 8 8 $$rem != 0 and ($$x <=> 0) != ($$y <=> 0)
1253 0 6 0 defined $upgrade and not $x->isa($class)
1277 0 6 0 defined $upgrade and not $x->isa($class)
1293 0 5 0 defined $upgrade and not $x->isa($class)
1313 0 0 0 defined $upgrade and not $x->isa($class)
1338 0 0 0 defined $upgrade and not $x->isa($class)
1371 0 0 0 defined $upgrade and not $x->isa($class)
1405 0 0 0 defined $upgrade and not $x->isa($class)
1417 0 0 0 defined $upgrade and not $x->isa($class)
1519 38 0 0 not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/
1530 5 7 26 defined $base and $base->isa($class)
1564 0 5 26 defined $base and $base->isa($class)
1573 0 2 25 defined $y and $y->isa($class)
1574 0 2 25 defined $z and $z->isa($class)
1583 0 3 157 defined $y and $y->isa($class)
1592 0 3 26 defined $y and $y->isa($class)

or 2 conditions

line l !l condition
109 77 0 ref $self || $self || 'Math::BigInt::Lite'
128 0 0 ref $x || $x || 'Math::BigInt::Lite'
164 0 0 ref $x || $x || 'Math::BigInt::Lite'
1220 2 7 $s || '+'

or 3 conditions

line l !l&&r !l&&!r condition
152 0 0 0 $x->{'_a'} || ${"${class}::accuracy";}
186 0 0 0 $x->{'_p'} || ${"${class}::precision";}
276 1 0 1 $param eq "lib" or $param eq "lib_version"
301 26 0 0 ref $_[0] || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
355 8 0 0 ref $_[0] || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i
570 0 0 541 defined $r[0] or defined $r[1]
0 0 541 defined $r[0] or defined $r[1] or defined $accuracy
0 0 541 defined $r[0] or defined $r[1] or defined $accuracy or defined $precision
601 0 0 123 defined $r[0] or defined $r[1]
0 0 123 defined $r[0] or defined $r[1] or defined $accuracy
0 0 123 defined $r[0] or defined $r[1] or defined $accuracy or defined $precision
606 0 0 120 abs $$x >= $MAX_MUL || abs $$y >= $MAX_MUL
625 0 0 6 defined $r[0] or defined $r[1]
0 0 6 defined $r[0] or defined $r[1] or defined $accuracy
0 0 6 defined $r[0] or defined $r[1] or defined $accuracy or defined $precision
814 0 0 0 $selfref || $self
861 0 0 0 $selfref || $self
908 0 0 0 $selfref || $self
995 8 1 20 $b != 2 or $$y < 0
1018 6 1 8 $b != 2 or $$y < 0
1617 0 3 0 ref $self || $self