| line |
true |
false |
branch |
|
35
|
0 |
360 |
if (!SvROK(arg)) |
|
38
|
110 |
250 |
if (SvPOK(foo)) |
|
88
|
110 |
93 |
if (is_scalar_ref(arg)) /* Scalar ref */ |
|
89
|
110 |
0 |
return (void*) SvPV(SvRV(arg), len); |
|
91
|
93 |
0 |
if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s' |
|
|
93 |
0 |
if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s' |
|
|
0 |
93 |
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 |
93 |
if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) { |
|
|
0 |
0 |
if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) { |
|
108
|
0 |
0 |
if (packtype=='f') { |
|
109
|
0 |
0 |
scalar = (float) SvNV(arg); /* Get the scalar value */ |
|
112
|
0 |
0 |
if (packtype=='i') { |
|
113
|
0 |
0 |
iscalar = (int) SvNV(arg); /* Get the scalar value */ |
|
116
|
0 |
0 |
if (packtype=='d') { |
|
117
|
0 |
0 |
dscalar = (double) SvNV(arg); /*Get the scalar value */ |
|
120
|
0 |
0 |
if (packtype=='s') { |
|
121
|
0 |
0 |
sscalar = (short) SvNV(arg); /*Get the scalar value */ |
|
124
|
0 |
0 |
if (packtype=='u') { |
|
125
|
0 |
0 |
uscalar = (unsigned char) SvNV(arg); /*Get the scalar value */ |
|
128
|
0 |
0 |
return (void *) SvPV(work, PL_na); /* Return the pointer */ |
|
133
|
93 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
|
93 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
|
93 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
135
|
0 |
93 |
if (SvTYPE(arg)==SVt_PVGV) { |
|
136
|
0 |
0 |
array = (AV *) GvAVn((GV*) arg); /* glob */ |
|
143
|
0 |
93 |
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
|
0 |
93 |
if (packtype=='i') |
|
146
|
0 |
0 |
SvGROW( work, sizeof(int)*(n+1) ); |
|
|
0 |
0 |
SvGROW( work, sizeof(int)*(n+1) ); |
|
147
|
93 |
0 |
if (packtype=='d') |
|
148
|
93 |
0 |
SvGROW( work, sizeof(double)*(n+1) ); |
|
|
89 |
4 |
SvGROW( work, sizeof(double)*(n+1) ); |
|
149
|
0 |
93 |
if (packtype=='s') |
|
150
|
0 |
0 |
SvGROW( work, sizeof(short)*(n+1) ); |
|
|
0 |
0 |
SvGROW( work, sizeof(short)*(n+1) ); |
|
151
|
0 |
93 |
if (packtype=='u') |
|
152
|
0 |
0 |
SvGROW( work, sizeof(char)*(n+1) ); |
|
|
0 |
0 |
SvGROW( work, sizeof(char)*(n+1) ); |
|
157
|
591072 |
93 |
for(i=0; i<=n; i++) { |
|
160
|
0 |
591072 |
if (work2==NULL) |
|
163
|
0 |
591072 |
if (SvROK(*work2)) |
|
165
|
524861 |
66211 |
nval = SvNV(*work2); |
|
168
|
0 |
591072 |
if (packtype=='f') { |
|
172
|
0 |
591072 |
if (packtype=='i') { |
|
176
|
591072 |
0 |
if (packtype=='d') { |
|
180
|
0 |
591072 |
if (packtype=='s') { |
|
184
|
0 |
591072 |
if (packtype=='u') { |
|
192
|
93 |
0 |
return (void *) SvPV(work, PL_na); |
|
253
|
0 |
10 |
if (is_scalar_ref(arg)) /* Scalar ref */ |
|
254
|
0 |
0 |
return (void*) SvPV(SvRV(arg), len); |
|
256
|
10 |
0 |
if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s' |
|
|
10 |
0 |
if (packtype!='f' && packtype!='i' && packtype!='d' && packtype!='s' |
|
|
0 |
10 |
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 |
10 |
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); } |
|
|
0 |
0 |
if (!SvROK(arg) && SvTYPE(arg)!=SVt_PVGV) { return (void *) SvPV(arg, PL_na); } |
|
275
|
10 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
|
10 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
|
10 |
0 |
if (SvTYPE(arg)==SVt_PVGV || (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV)) { |
|
277
|
0 |
10 |
if (SvTYPE(arg)==SVt_PVGV) { |
|
278
|
0 |
0 |
array = GvAVn((GV*) arg); /* glob */ |
|
287
|
240 |
10 |
for(i=0; i<=n; i++) { /* Loop over 1st dimension */ |
|
291
|
240 |
0 |
isref = work2!=NULL && SvROK(*work2); /* Is is a reference */ |
|
|
240 |
0 |
isref = work2!=NULL && SvROK(*work2); /* Is is a reference */ |
|
293
|
240 |
0 |
if (isref) { |
|
298
|
0 |
0 |
nval = SvNV(*work2); |
|
304
|
10 |
230 |
if (i==0) { |
|
305
|
0 |
10 |
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 |
10 |
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 |
10 |
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 |
10 |
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
|
10 |
0 |
if (packtype=='d') |
|
314
|
10 |
0 |
SvGROW( work, sizeof(double)*(n+1)*(m+1) ); |
|
|
10 |
0 |
SvGROW( work, sizeof(double)*(n+1)*(m+1) ); |
|
317
|
7680 |
240 |
for(j=0; j<=m; j++) { /* Loop over 2nd dimension */ |
|
319
|
7680 |
0 |
if (isref) { |
|
321
|
0 |
7680 |
if (work2==NULL) |
|
324
|
0 |
7680 |
if (SvROK(*work2)) |
|
326
|
6144 |
1536 |
nval = SvNV(*work2); |
|
330
|
7680 |
0 |
if (packtype=='d') { |
|
334
|
0 |
7680 |
if (packtype=='f') { |
|
338
|
0 |
7680 |
if (packtype=='i') { |
|
342
|
0 |
7680 |
if (packtype=='s') { |
|
346
|
0 |
7680 |
if (packtype=='u') { |
|
355
|
10 |
0 |
return (void *) SvPV(work, PL_na); |
|
394
|
0 |
0 |
if (is_scalar_ref(arg)) /* Scalar ref */ |
|
395
|
0 |
0 |
return (void*) SvPV(SvRV(arg), len); |
|
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') |
|
412
|
0 |
0 |
return (void *) SvPV(work, PL_na); |
|
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) |
|
437
|
0 |
0 |
nval = SvNV(*arg); |
|
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 |
55 |
if (is_scalar_ref(arg)) /* Do nothing */ |
|
526
|
55 |
0 |
if (packtype!='f' && packtype!='i' && packtype!= 'd' && |
|
|
55 |
0 |
if (packtype!='f' && packtype!='i' && packtype!= 'd' && |
|
|
0 |
55 |
if (packtype!='f' && packtype!='i' && packtype!= 'd' && |
|
|
0 |
0 |
if (packtype!='f' && packtype!='i' && packtype!= 'd' && |
|
527
|
0 |
0 |
packtype!='u' && packtype!='s') |
|
532
|
55 |
0 |
if (m==0) |
|
535
|
0 |
55 |
if (packtype=='i') /* Cast void array var[] to appropriate type */ |
|
537
|
0 |
55 |
if (packtype=='f') |
|
539
|
55 |
0 |
if (packtype=='d') |
|
541
|
0 |
55 |
if (packtype=='u') |
|
543
|
0 |
55 |
if (packtype=='s') |
|
548
|
524912 |
55 |
for(i=0; i
|
|
549
|
0 |
524912 |
if (packtype=='i') |
|
551
|
0 |
524912 |
if (packtype=='f') |
|
553
|
524912 |
0 |
if (packtype=='d') |
|
555
|
0 |
524912 |
if (packtype=='u') |
|
557
|
0 |
524912 |
if (packtype=='s') |
|
583
|
0 |
92 |
if (is_scalar_ref(arg)) /* Do nothing */ |
|
589
|
0 |
92 |
if (SvTYPE(arg)==SVt_PVGV) { |
|
590
|
0 |
0 |
array = GvAVn((GV*)arg); /* glob */ |
|
591
|
92 |
0 |
}else if (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV) { |
|
|
92 |
0 |
}else if (SvROK(arg) && SvTYPE(SvRV(arg))==SVt_PVAV) { |
|
600
|
66204 |
92 |
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); |
|
640
|
0 |
0 |
return (void *) SvPV(work, PL_na); |