Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/PDL/PP.pm
Criterion Covered Total %
branch 185 878 21.0


line true false branch
580 0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 1 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 1 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
0 0 SETPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "$_[0]\->state &= ~PDL_BADVAL") },
582 0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
0 0 ISPDLSTATEGOOD => sub { PDL::PP::pp_line_numbers(__LINE__, "(($_[0]\->state & PDL_BADVAL) == 0)") },
583 1 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
1 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 1 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
1 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 1 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
21 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 21 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
20 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 20 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
7 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 7 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
0 0 BADFLAGCACHE => sub { PDL::PP::pp_line_numbers(__LINE__, "badflag_cache") },
584 0 0
0 1
0 21
0 20
0 7
0 5
655 0 0 sub get_std_childparent { return @std_childparent; }
0 0 sub get_std_childparent { return @std_childparent; }
1744 0 0 }
1746 0 0 (PDL::PP::pp_line_numbers(__LINE__, $str),$boot,$prelude)
1748 0 0
1852 7 0 } #sub callPerlInit()
5 0 } #sub callPerlInit()
1855 7 0 # This writes an XS header which handles variable argument lists,
5 0 # This writes an XS header which handles variable argument lists,
1857 0 0 #
0 0 #
1858 0 0 # The use of 'DO NOT SET!!' looks ugly.
0 0 # The use of 'DO NOT SET!!' looks ugly.
2060 7 0 ${ci}if (nreturn) {
5 0 ${ci}if (nreturn) {
2061 7 0 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
7 0 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
0 7 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
5 0 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
5 0 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
0 5 ${ci} if (nreturn > 0) EXTEND (SP, nreturn );
2527 0 0 } # sub: coerce_types()
0 1 } # sub: coerce_types()
0 1 } # sub: coerce_types()
0 0 } # sub: coerce_types()
0 21 } # sub: coerce_types()
0 20 } # sub: coerce_types()
0 7 } # sub: coerce_types()
0 5 } # sub: coerce_types()
2529 1 0 # First, finds the greatest datatype, then, if not supported, takes
1 0 # First, finds the greatest datatype, then, if not supported, takes
0 0 # First, finds the greatest datatype, then, if not supported, takes
0 0 # First, finds the greatest datatype, then, if not supported, takes
7 14 # First, finds the greatest datatype, then, if not supported, takes
15 5 # First, finds the greatest datatype, then, if not supported, takes
3 4 # First, finds the greatest datatype, then, if not supported, takes
5 0 # First, finds the greatest datatype, then, if not supported, takes
5 0 # First, finds the greatest datatype, then, if not supported, takes
2531 1 0 # Not yet optimal.
0 1 # Not yet optimal.
0 0 # Not yet optimal.
0 0 # Not yet optimal.
0 21 # Not yet optimal.
0 0 # Not yet optimal.
0 20 # Not yet optimal.
0 0 # Not yet optimal.
7 0 # Not yet optimal.
7 0 # Not yet optimal.
0 0 # Not yet optimal.
2533 0 1 # Assuming that, if HASP2Child is true, we only have
0 0 # Assuming that, if HASP2Child is true, we only have
0 1 # Assuming that, if HASP2Child is true, we only have
0 21 # Assuming that, if HASP2Child is true, we only have
0 20 # Assuming that, if HASP2Child is true, we only have
0 0 # Assuming that, if HASP2Child is true, we only have
2535 0 1 # datatype to be that of PARENT (see also coerce_types())
0 1 # datatype to be that of PARENT (see also coerce_types())
0 0 # datatype to be that of PARENT (see also coerce_types())
0 21 # datatype to be that of PARENT (see also coerce_types())
0 0 # datatype to be that of PARENT (see also coerce_types())
0 20 # datatype to be that of PARENT (see also coerce_types())
0 0 # datatype to be that of PARENT (see also coerce_types())
2537 0 1 sub find_datatype {
0 0 sub find_datatype {
0 1 sub find_datatype {
0 21 sub find_datatype {
0 20 sub find_datatype {
2539 0 1
2568 0 0 } # sub: find_datatype()
1 0 } # sub: find_datatype()
1 0 } # sub: find_datatype()
0 0 } # sub: find_datatype()
0 21 } # sub: find_datatype()
0 20 } # sub: find_datatype()
7 0 } # sub: find_datatype()
5 0 } # sub: find_datatype()
2569 0 0
0 0
0 0
2570 0 0 sub NT2Decls_p {&NT2Decls__({ToPtrs=>1},@_);}
0 0 sub NT2Decls_p {&NT2Decls__({ToPtrs=>1},@_);}
0 0 sub NT2Decls_p {&NT2Decls__({ToPtrs=>1},@_);}
2571 0 0
0 1
0 1
0 0
0 0
0 0
0 0
0 7
5 0
2572 0 0 sub NT2Copies_p {&NT2Copies__({ToPtrs=>1},@_);}
0 0 sub NT2Copies_p {&NT2Copies__({ToPtrs=>1},@_);}
0 0 sub NT2Copies_p {&NT2Copies__({ToPtrs=>1},@_);}
0 0 sub NT2Copies_p {&NT2Copies__({ToPtrs=>1},@_);}
5 0 sub NT2Copies_p {&NT2Copies__({ToPtrs=>1},@_);}
2573 0 0
0 0
0 0
5 0
2574 0 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
0 1 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
0 1 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
0 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
0 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
0 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
7 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
5 0 sub NT2Free_p {&NT2Free__({ToPtrs=>1},@_);}
2575 0 0
0 1
0 0
0 0
0 0
7 0
5 0
2576 0 0 sub NT2Decls {&NT2Decls__({},@_);}
7 0 sub NT2Decls {&NT2Decls__({},@_);}
5 0 sub NT2Decls {&NT2Decls__({},@_);}
2577 0 1
0 0
0 0
5 2
5 0
2578 0 1 sub NT2Decls__ {
0 1 sub NT2Decls__ {
0 0 sub NT2Decls__ {
0 0 sub NT2Decls__ {
5 0 sub NT2Decls__ {
0 5 sub NT2Decls__ {
2579 0 1 my($opts,$onames,$otypes) = @_;
0 0 my($opts,$onames,$otypes) = @_;
5 0 my($opts,$onames,$otypes) = @_;
2580 0 0 my $decl;
5 0 my $decl;
2581 0 1 my $dopts = {};
0 0 my $dopts = {};
0 5 my $dopts = {};
2582 0 1 $dopts->{VarArrays2Ptrs} = 1 if $opts->{ToPtrs};
1 0 $dopts->{VarArrays2Ptrs} = 1 if $opts->{ToPtrs};
2583 1 0 for(@$onames) {
2584 1 0 $decl .= $otypes->{$_}->get_decl($_,$dopts).";";
2585 1 0 }
1 0 }
2586 1 0 PDL::PP::pp_line_numbers(__LINE__, $decl);
0 1 PDL::PP::pp_line_numbers(__LINE__, $decl);
2587 1 0 }
0 0 }
2588 1 0
0 0
2589 0 1 sub NT2Copies__ {
0 0 sub NT2Copies__ {
2590 0 0 my($opts,$onames,$otypes,$copyname) = @_;
2591 0 0 my $decl;
2592 0 0 my $dopts = {};
2600 0 0
0 0
0 0
0 0
0 0
0 0
0 0
2601 0 0 sub NT2Free__ {
2612 1 0
1 0
0 0
21 0
20 0
7 0
5 0
2613 0 0 # The undef is just so that PrivIsInc gets set. Is this really
2790 0 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
1 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 1 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
1 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 1 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
21 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 21 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
20 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 20 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
7 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 7 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
5 0 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
0 5 my($pnames,$pobjs,$dobjs,$dpars,$pcode, $noPthreadFlag) = @_;
2791 0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
0 0 my $str = PDL::PP::pp_line_numbers(__LINE__, '');
2795 5 0
5 0
2796 0 0 my $nn = $#$pnames;
0 0 my $nn = $#$pnames;
7 0 my $nn = $#$pnames;
7 0 my $nn = $#$pnames;
2797 0 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
1 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 1 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
1 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 1 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
21 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 21 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 20 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
20 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 20 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
7 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 7 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
5 0 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
0 5 my @privname = map { "\$PRIV(pdls[$_])" } ( 0 .. $nn );
2798 0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 21 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 20 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
0 0 $str .= $npdls ? "PDL_Indx __creating[$npdls];\n" : "PDL_Indx __creating[1];\n";
2799 0 1 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
0 0 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
0 0 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
0 21 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
0 0 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
0 0 $str .= join '',map {$_->get_initdim."\n"} sort values %$dobjs;
2800 0 1
0 0
2801 0 1 # if FlagCreat is NOT true, then we set __creating[] to 0
0 0 # if FlagCreat is NOT true, then we set __creating[] to 0
2802 0 1 # and we can use this knowledge below, and in hdrcheck()
0 0 # and we can use this knowledge below, and in hdrcheck()
2804 1 0 #
0 1 #
1 0 #
1 0 #
21 0 #
21 0 #
20 0 #
20 0 #
7 0 #
0 7 #
2805 0 0 foreach ( 0 .. $nn ) {
0 1 foreach ( 0 .. $nn ) {
0 0 foreach ( 0 .. $nn ) {
0 21 foreach ( 0 .. $nn ) {
0 20 foreach ( 0 .. $nn ) {
0 0 foreach ( 0 .. $nn ) {
0 5 foreach ( 0 .. $nn ) {
2806 0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
0 0 $str .= "__creating[$_] = ";
2807 0 0 if ( $pobjs->{$pnames->[$_]}{FlagCreat} ) {
2811 0 0 }
1 0 }
1 0 }
2812 0 1 } # foreach: 0 .. $nn
1 0 } # foreach: 0 .. $nn
1 0 } # foreach: 0 .. $nn
21 0 } # foreach: 0 .. $nn
21 0 } # foreach: 0 .. $nn
20 0 } # foreach: 0 .. $nn
20 0 } # foreach: 0 .. $nn
0 7 } # foreach: 0 .. $nn
2813 0 0
0 1
0 21
0 20
0 0
2814 0 0 $str .= " {\n$pcode\n}\n";
0 0 $str .= " {\n$pcode\n}\n";
0 0 $str .= " {\n$pcode\n}\n";
2815 0 0 $str .= " {\n " . make_parnames($pnames,$pobjs,$dobjs) . "
0 0 $str .= " {\n " . make_parnames($pnames,$pobjs,$dobjs) . "
2816 0 0 PDL->initthreadstruct(2,\$PRIV(pdls),
0 0 PDL->initthreadstruct(2,\$PRIV(pdls),
2819 1 0 \$PRIV(vtable->per_pdl_flags),
0 0 \$PRIV(vtable->per_pdl_flags),
2820 0 0 $noPthreadFlag );
0 1 $noPthreadFlag );
0 1 $noPthreadFlag );
0 21 $noPthreadFlag );
0 20 $noPthreadFlag );
2821 0 0 }\n";
0 0 }\n";
0 0 }\n";
2822 0 0 $str .= join '',map {$pobjs->{$_}->get_xsnormdimchecks()} @$pnames;
2824 0 0 $str .= join '',map {$pobjs->{$pnames->[$_]}->
0 0 $str .= join '',map {$pobjs->{$pnames->[$_]}->
0 0 $str .= join '',map {$pobjs->{$pnames->[$_]}->
0 0 $str .= join '',map {$pobjs->{$pnames->[$_]}->
2826 0 0 return $str;
2827 0 0
0 1
2828 0 0 } # sub: make_redodims_thread()
0 0 } # sub: make_redodims_thread()
0 0 } # sub: make_redodims_thread()
2829 0 0
0 0
0 0
2830 0 0 sub XSHdr {
0 0 sub XSHdr {
0 0 sub XSHdr {
2831 0 0 my($xsname,$nxargs) = @_;
0 0 my($xsname,$nxargs) = @_;
2834 0 0
0 0
2835 0 0 ###########################################################
0 0 ###########################################################
0 0 ###########################################################
0 0 ###########################################################
0 0 ###########################################################
2836 0 0 # Name : extract_signature_from_fulldoc
2837 0 0 # Usage : $sig = extract_signature_from_fulldoc($fulldoc)
0 0 # Usage : $sig = extract_signature_from_fulldoc($fulldoc)
0 0 # Usage : $sig = extract_signature_from_fulldoc($fulldoc)
2839 0 0 # Returns : whatever is in parentheses in the signature, or undef
0 0 # Returns : whatever is in parentheses in the signature, or undef
0 0 # Returns : whatever is in parentheses in the signature, or undef
0 0 # Returns : whatever is in parentheses in the signature, or undef
0 0 # Returns : whatever is in parentheses in the signature, or undef
0 0 # Returns : whatever is in parentheses in the signature, or undef
2841 0 0 # Throws : never
0 0 # Throws : never
0 0 # Throws : never
0 0 # Throws : never
2842 0 0 # Notes : the signature must have the following form:
0 0 # Notes : the signature must have the following form:
2843 0 0 # :
0 0 # :
0 0 # :
2844 0 0 # : =for sig
0 0 # : =for sig
0 0 # : =for sig
2846 0 0 # : Signature: (
0 0 # : Signature: (
2848 0 0 # :
2849 0 0 # :
0 0 # :
0 0 # :
2850 0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
0 0 # : The two spaces before "Signature" are required, as are
2851 0 0 # : the parentheses.
2852 0 0 sub extract_signature_from_fulldoc {
0 0 sub extract_signature_from_fulldoc {
0 0 sub extract_signature_from_fulldoc {
2856 0 0 my $sig = $1;
0 0 my $sig = $1;
0 0 my $sig = $1;
0 0 my $sig = $1;
2857 0 0 $sig .= $1 while $fulldoc =~ /\G\h+([^\n]*)\n/g;
0 0 $sig .= $1 while $fulldoc =~ /\G\h+([^\n]*)\n/g;
2858 0 0 $sig =~ s/\)\s*$//;
0 0 $sig =~ s/\)\s*$//;
0 0 $sig =~ s/\)\s*$//;
2859 0 0 return $sig;
0 0 return $sig;
0 0 return $sig;
0 0 return $sig;
0 0 return $sig;
0 0 return $sig;
0 0 return $sig;
2861 0 0 return;
0 0 return;
0 0 return;
2863 0 0
2865 0 0 # Build the valid-types regex and valid Pars argument only once. These are
0 0 # Build the valid-types regex and valid Pars argument only once. These are
0 0 # Build the valid-types regex and valid Pars argument only once. These are
0 0 # Build the valid-types regex and valid Pars argument only once. These are
2866 0 0 # also used in PDL::PP::PdlParObj, which is why they are globally available.
0 0 # also used in PDL::PP::PdlParObj, which is why they are globally available.
2868 0 0 my $pars_re = $PDL::PP::PdlParObj::pars_re;
0 0 my $pars_re = $PDL::PP::PdlParObj::pars_re;
0 0 my $pars_re = $PDL::PP::PdlParObj::pars_re;
0 0 my $pars_re = $PDL::PP::PdlParObj::pars_re;
2872 0 0 # Usage : $pars = build_pars_from_fulldoc($fulldoc)
2875 0 0 # Returns : a string appropriate for the Pars key
3384 0 0 {int i;
0 0 {int i;
0 0 {int i;
0 0 {int i;
0 0 {int i;
0 0 {int i;
0 0 {int i;
0 0 {int i;