Branch Coverage

blib/lib/PDL/PP/PDLCode.pm
Criterion Covered Total %
branch 59 154 38.3


line true false branch
30 0 10 unless defined $name
33 0 10 unless $generictypes
0 10 unless @{[] unless $generictypes;}
35 0 10 if $handlebad
51 0 10 if ($main::PP_VERBOSE)
53 0 0 if $dont_add_brcloop
77 0 0 if $handlebad and $code ne $badcode || $badcode =~ /PDL_BAD_CODE|PDL_IF_BAD/
87 8 0 unless ($broadcastloops or $dont_add_brcloop)
88 0 8 if $main::PP_VERBOSE
89 0 8 $backcode ? :
105 0 9 if @sizeprivs > 1
108 0 9 if $main::PP_VERBOSE
112 0 9 if $main::PP_VERBOSE
131 0 9 $dont_add_brcloop ? :
146 0 0 if defined $str and $str ne $bad_str
162 2 14 $istyped{$_->name} ? :
2 14 $istyped{$_->name} ? :
172 0 161 $_[1] ? :
213 0 0 unless (chop($ind) =~ /[0-9]/)
230 0 16 unless $code =~ s/^(.*?) # First, some noise is allowed. This may be bad. ( \$(ISBAD|ISGOOD|SETBAD)\s*\(\s*\$?[a-zA-Z_]\w*\s*\([^)]*\)\s*\) # $ISBAD($a(..)), ditto for ISGOOD and SETBAD |\$[a-zA-Z_]\w*\s*\([^)]*\) # $a(...): access |\bloop\s*\([^)]+\)\s*%\{ # loop(..) %{ |\btypes\s*\([^)]+\)\s*%\{ # types(..) %{ |\b(?:thread|broadcast)loop\s*%\{ # broadcastloop %{ |%} # %} |$)//sx
244 0 9 if $main::PP_VERBOSE
9 7 unless ($control)
245 1 6 if ($control =~ /^loop\s*\(([^)]+)\)\s*%\{/) { }
0 6 elsif ($control =~ /^types\s*\(([^)]+)\)\s*%\{/) { }
1 5 elsif ($control =~ /^(?:thread|broadcast)loop\s*%\{/) { }
2 3 elsif ($control =~ /^%}/) { }
247 0 1 if $main::PP_VERBOSE
291 1 2 if ($pdl =~ /^T/) { }
0 2 elsif (my $c = $access2class{$pdl}) { }
0 2 elsif ($pdl =~ /^(P|)(ISBAD|ISGOOD|SETBAD)(VAR|)$/) { }
2 0 elsif ($this->{'ParObjs'}{$pdl}) { }
297 0 0 if (not $get) { }
0 0 elsif ($get eq 'P') { }
320 1 9 if $code_string =~ /(.*\bloop\s*%\{)/s
331 1 0 unless $code =~ /$line_re/
337 0 0 if (/$line_re/)
377 141 206 if $nth and not $it
380 66 134 if $it = $this->can('myitemend') && $this->myitemend($parent, $nth)
388 144 80 ref $_ ? :
421 7 0 unless defined(my $bad = $this->[1])
442 0 1 if $main::PP_VERBOSE
446 0 1 if $main::PP_VERBOSE
459 0 2 if ($loopinc =~ /^-/) { }
460 0 0 $loopstart =~ /^-/ ? :
0 0 !(defined $loopstart && length $loopstart) ? :
464 0 0 $loopend =~ /^-/ ? :
0 0 !$loopend ? :
469 0 0 $loopstart =~ /^-/ ? :
2 0 !$loopstart ? :
473 0 0 $loopend =~ /^-/ ? :
2 0 !(defined $loopend && length $loopend) ? :
498 0 9 if @bad
517 0 0 if defined $this->[1] and $parent->{'ftypes_type'}
526 0 68 if defined $this->[1]
536 68 0 keys %{$$this[2];} == @$ord ? :
537 0 0 $item->$_ ? :
68 0 !$this->[4] ? :
549 66 0 !$this->[4] ? :
558 0 7 if defined $this->[1]
623 0 0 if @bad
630 0 0 unless defined(my $type = $parent->{'Gencurtype'}[-1])
631 0 0 unless $this->[0]{$type->ppsym}
646 2 0 if defined $parent->{'ParObjs'}{$this->[0]}
660 0 0 unless defined $parent->{'ParObjs'}{$name}
680 0 0 unless defined $parent->{'Gencurtype'}[-1]
681 0 0 if $main::PP_VERBOSE
683 0 0 unless defined(my $op = $ops{$opcode})
685 0 0 unless defined(my $obj = $parent->{'ParObjs'}{$name})
688 0 0 if $main::PP_VERBOSE
691 0 0 exists $parent->{'ftypes_vars'}{$name} ? :
705 0 1 unless $pdl =~ /^\s*T([A-Z]+)\s*$/
709 0 1 if @lst != @ilst
723 0 4 unless defined $parent->{'Gencurtype'}[-1]
735 0 0 unless defined(my $type = $parent->{'Gencurtype'}[-1])
736 0 0 unless $this->[0]
749 0 0 unless defined(my $type = $parent->{'Gencurtype'}[-1])
750 0 0 unless $this->[0]