Branch Coverage

arrays.c
Criterion Covered Total %
branch 62 300 20.6


line true false branch
35 0 492 if (!SvROK(arg))
38 0 492 if (SvPOK(foo))
88 0 164 if (is_scalar_ref(arg)) /* Scalar ref */
91 164 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
161 3 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
0 161 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
92 0 0 && packtype != 'u')
106 0 164 if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) {
0 0 if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) {
108 0 0 if (packtype=='f') {
112 0 0 if (packtype=='i') {
116 0 0 if (packtype=='d') {
120 0 0 if (packtype=='s') {
124 0 0 if (packtype=='u') {
133 164 0 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
164 0 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
0 164 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
135 0 164 if (SvTYPE(arg)==SVt_PVGV) {
136 0 0 array = (AV *) GvAVn((GV*) arg); /* glob */
143 0 164 if (packtype=='f')
144 0 0 SvGROW( work, sizeof(float)*(n+1) ); /* Pregrow for efficiency */
0 0 SvGROW( work, sizeof(float)*(n+1) ); /* Pregrow for efficiency */
145 3 161 if (packtype=='i')
146 3 0 SvGROW( work, sizeof(int)*(n+1) );
0 3 SvGROW( work, sizeof(int)*(n+1) );
147 161 3 if (packtype=='d')
148 161 0 SvGROW( work, sizeof(double)*(n+1) );
131 30 SvGROW( work, sizeof(double)*(n+1) );
149 0 164 if (packtype=='s')
150 0 0 SvGROW( work, sizeof(short)*(n+1) );
0 0 SvGROW( work, sizeof(short)*(n+1) );
151 0 164 if (packtype=='u')
152 0 0 SvGROW( work, sizeof(char)*(n+1) );
0 0 SvGROW( work, sizeof(char)*(n+1) );
157 6322 164 for(i=0; i<=n; i++) {
160 0 6322 if (work2==NULL)
163 0 6322 if (SvROK(*work2))
168 0 6322 if (packtype=='f') {
172 9 6313 if (packtype=='i') {
176 6313 9 if (packtype=='d') {
180 0 6322 if (packtype=='s') {
184 0 6322 if (packtype=='u') {
253 0 0 if (is_scalar_ref(arg)) /* Scalar ref */
256 0 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s'
257 0 0 && packtype!='u')
262 0 0 if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) { return (void *) SvPV(arg, PL_na); }
0 0 if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) { return (void *) SvPV(arg, PL_na); }
275 0 0 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
0 0 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
0 0 if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) {
277 0 0 if (SvTYPE(arg)==SVt_PVGV) {
278 0 0 array = GvAVn((GV*) arg); /* glob */
287 0 0 for(i=0; i<=n; i++) { /* Loop over 1st dimension */
291 0 0 isref = work2!=NULL && SvROK(*work2); /* Is is a reference */
0 0 isref = work2!=NULL && SvROK(*work2); /* Is is a reference */
293 0 0 if (isref) {
304 0 0 if (i==0) {
305 0 0 if (packtype=='f')
306 0 0 SvGROW( work, sizeof(float)*(n+1)*(m+1) );
0 0 SvGROW( work, sizeof(float)*(n+1)*(m+1) );
307 0 0 if (packtype=='i')
308 0 0 SvGROW( work, sizeof(int)*(n+1)*(m+1) );
0 0 SvGROW( work, sizeof(int)*(n+1)*(m+1) );
309 0 0 if (packtype=='s')
310 0 0 SvGROW( work, sizeof(short)*(n+1)*(m+1) );
0 0 SvGROW( work, sizeof(short)*(n+1)*(m+1) );
311 0 0 if (packtype=='u')
312 0 0 SvGROW( work, sizeof(char)*(n+1)*(m+1) );
0 0 SvGROW( work, sizeof(char)*(n+1)*(m+1) );
313 0 0 if (packtype=='d')
314 0 0 SvGROW( work, sizeof(double)*(n+1)*(m+1) );
0 0 SvGROW( work, sizeof(double)*(n+1)*(m+1) );
317 0 0 for(j=0; j<=m; j++) { /* Loop over 2nd dimension */
319 0 0 if (isref) {
321 0 0 if (work2==NULL)
324 0 0 if (SvROK(*work2))
330 0 0 if (packtype=='d') {
334 0 0 if (packtype=='f') {
338 0 0 if (packtype=='i') {
342 0 0 if (packtype=='s') {
346 0 0 if (packtype=='u') {
394 0 0 if (is_scalar_ref(arg)) /* Scalar ref */
397 0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
398 0 0 && packtype!='s' && packtype!='u')
0 0 && packtype!='s' && packtype!='u')
432 0 0 if (arg==NULL || (!SvROK(*arg) && SvTYPE(*arg)!=SVt_PVGV)) {
0 0 if (arg==NULL || (!SvROK(*arg) && SvTYPE(*arg)!=SVt_PVGV)) {
0 0 if (arg==NULL || (!SvROK(*arg) && SvTYPE(*arg)!=SVt_PVGV)) {
434 0 0 if (arg==NULL)
439 0 0 if (packtype=='f') {
443 0 0 if (packtype=='i') {
447 0 0 if (packtype=='d') {
450 0 0 if (packtype=='s') {
454 0 0 if (packtype=='u') {
464 0 0 if (SvTYPE(*arg)==SVt_PVGV || (SvROK(*arg) && SvTYPE(SvRV(*arg))==SVt_PVAV)) {
0 0 if (SvTYPE(*arg)==SVt_PVGV || (SvROK(*arg) && SvTYPE(SvRV(*arg))==SVt_PVAV)) {
0 0 if (SvTYPE(*arg)==SVt_PVGV || (SvROK(*arg) && SvTYPE(SvRV(*arg))==SVt_PVAV)) {
468 0 0 if (SvTYPE(*arg)==SVt_PVGV) {
469 0 0 array = GvAVn((GV*)*arg); /* glob */
478 0 0 for (i=0; i<=n; i++) {
523 0 164 if (is_scalar_ref(arg)) /* Do nothing */
526 164 0 if (packtype!='f' && packtype!='i' && packtype!= 'd' &&
161 3 if (packtype!='f' && packtype!='i' && packtype!= 'd' &&
0 161 if (packtype!='f' && packtype!='i' && packtype!= 'd' &&
0 0 if (packtype!='f' && packtype!='i' && packtype!= 'd' &&
527 0 0 packtype!='u' && packtype!='s')
532 164 0 if (m==0)
535 3 161 if (packtype=='i') /* Cast void array var[] to appropriate type */
537 0 164 if (packtype=='f')
539 161 3 if (packtype=='d')
541 0 164 if (packtype=='u')
543 0 164 if (packtype=='s')
548 6322 164 for(i=0; i
549 9 6313 if (packtype=='i')
551 0 6322 if (packtype=='f')
553 6313 9 if (packtype=='d')
555 0 6322 if (packtype=='u')
557 0 6322 if (packtype=='s')
583 0 164 if (is_scalar_ref(arg)) /* Do nothing */
589 0 164 if (SvTYPE(arg)==SVt_PVGV) {
590 0 0 array = GvAVn((GV*)arg); /* glob */
591 164 0 }else if (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV) {
164 0 }else if (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV) {
600 0 164 for (i=m+1; i
623 0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
0 0 if (packtype!='f' && packtype!='i' && packtype!='d'
624 0 0 && packtype!='u' && packtype!='s')
0 0 && packtype!='u' && packtype!='s')
629 0 0 if (packtype=='f')
630 0 0 SvGROW( work, sizeof(float)*n ); /* Pregrow for efficiency */
0 0 SvGROW( work, sizeof(float)*n ); /* Pregrow for efficiency */
631 0 0 if (packtype=='i')
632 0 0 SvGROW( work, sizeof(int)*n );
0 0 SvGROW( work, sizeof(int)*n );
633 0 0 if (packtype=='d')
634 0 0 SvGROW( work, sizeof(double)*n);
0 0 SvGROW( work, sizeof(double)*n);
635 0 0 if (packtype=='u')
636 0 0 SvGROW( work, sizeof(char)*n);
0 0 SvGROW( work, sizeof(char)*n);
637 0 0 if (packtype=='s')
638 0 0 SvGROW( work, sizeof(short)*n);
0 0 SvGROW( work, sizeof(short)*n);