| line |
true |
false |
branch |
|
66
|
2934 |
1763 |
for (i = 0; i < n; i++) { |
|
68
|
2914 |
20 |
if (!SvROK(sv)) { |
|
69
|
2548 |
366 |
if (SvTRUE(sv) && SvIV(sv) < 0) return "Dimensions must be non-negative"; |
|
|
1 |
2547 |
if (SvTRUE(sv) && SvIV(sv) < 0) return "Dimensions must be non-negative"; |
|
70
|
2547 |
366 |
if (SvTRUE(sv)) |
|
77
|
20 |
0 |
if (SvROK(sv) && !sv_derived_from(sv, "PDL")) return "Trying to use non-ndarray as dimensions?"; |
|
|
0 |
20 |
if (SvROK(sv) && !sv_derived_from(sv, "PDL")) return "Trying to use non-ndarray as dimensions?"; |
|
79
|
0 |
20 |
if (!p) return "Failed to get PDL from arg"; |
|
80
|
0 |
20 |
if (p->ndims > 1) return "Trying to use multi-dim ndarray as dimensions?"; |
|
82
|
0 |
20 |
if (nvals > 10) warn("creating > 10 dim ndarray (ndarray arg)!"); |
|
83
|
20 |
20 |
for (v = 0; v < nvals; v++) { |
|
85
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
2 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
2 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
18 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
18 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, p->datatype, PDL_REPRP(p), PDL_REPROFFS(p)+v); |
|
86
|
0 |
20 |
if (anyval.type < 0) return "Error getting value from ndarray"; |
|
88
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(dv, anyval); |
|
89
|
0 |
20 |
if (SvIV(dv) < 0) return "Dimensions must be non-negative"; |
|
100
|
128 |
382 |
if (badflag) { |
|
101
|
19 |
109 |
if (!(x->has_badvalue && x->badvalue.type != x->datatype)) { |
|
|
0 |
19 |
if (!(x->has_badvalue && x->badvalue.type != x->datatype)) { |
|
102
|
19 |
109 |
if (x->has_badvalue) |
|
111
|
0 |
128 |
if (pdl_badval.type < 0) barf("Error getting badvalue, type=%d", pdl_badval.type); |
|
114
|
1 |
509 |
if (!x->nvals) return newRV_noinc((SV *)newAV()); |
|
115
|
117 |
392 |
void *data = PDL_REPRP(x); |
|
116
|
504 |
5 |
PDL_Indx ind, inds[!x->ndims ? 1 : x->ndims]; |
|
117
|
53 |
456 |
AV *avs[(flatten || !x->ndims) ? 1 : x->ndims]; |
|
|
48 |
5 |
AV *avs[(flatten || !x->ndims) ? 1 : x->ndims]; |
|
118
|
53 |
456 |
if (flatten || !x->ndims) { |
|
|
5 |
48 |
if (flatten || !x->ndims) { |
|
121
|
456 |
5 |
av_extend(avs[0], flatten ? x->nvals : 1); |
|
122
|
456 |
5 |
if (flatten) for (ind=1; ind < x->ndims; ind++) inds[ind] = 0; |
|
|
127 |
456 |
if (flatten) for (ind=1; ind < x->ndims; ind++) inds[ind] = 0; |
|
124
|
64 |
48 |
for (ind=x->ndims-1; ind >= 0; ind--) { |
|
128
|
16 |
48 |
if (ind < x->ndims-1) av_store(avs[ind+1], 0, newRV_noinc((SV *)avs[ind])); |
|
130
|
117 |
392 |
PDL_Indx *incs = PDL_REPRINCS(x), offs = PDL_REPROFFS(x), lind = 0; |
|
|
117 |
392 |
PDL_Indx *incs = PDL_REPRINCS(x), offs = PDL_REPROFFS(x), lind = 0; |
|
131
|
5114 |
0 |
while (!stop) { |
|
134
|
5114 |
0 |
if (ioff >= 0) |
|
136
|
0 |
5114 |
if (pdl_val.type < 0) croak("Position out of range"); |
|
138
|
479 |
4635 |
if (badflag) { |
|
141
|
0 |
479 |
if (isbad == -1) croak("ANYVAL_ISBAD error on types %d, %d", pdl_val.type, pdl_badval.type); |
|
142
|
168 |
311 |
if (isbad) |
|
146
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
7 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
7 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
7 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
7 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
150
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
60 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
60 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
60 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
60 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
60 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, pdl_val); |
|
152
|
4750 |
364 |
av_store( avs[0], flatten ? lind++ : inds[0], sv ); |
|
155
|
9109 |
5114 |
for (ind = 0; ind < x->ndims; ind++) didwrap[ind] = 0; |
|
156
|
5799 |
509 |
for (ind = 0; ind < x->ndims; ind++) { |
|
157
|
4605 |
1194 |
if (++(inds[ind]) < x->dims[ind]) { |
|
163
|
509 |
4605 |
if (stop) break; |
|
164
|
4294 |
311 |
if (flatten) continue; |
|
165
|
395 |
311 |
for (ind=x->ndims-2; ind >= 0; ind--) { /* never redo outer so -2 */ |
|
166
|
304 |
91 |
if (!didwrap[ind]) continue; |
|
172
|
53 |
456 |
return newRV_noinc((SV *)avs[(flatten || !x->ndims) ? 0 : x->ndims-1]); |
|
|
48 |
5 |
return newRV_noinc((SV *)avs[(flatten || !x->ndims) ? 0 : x->ndims-1]); |
|
186
|
75092 |
0 |
if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVHV) return; |
|
|
55 |
75037 |
if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVHV) return; |
|
188
|
0 |
75037 |
PDLDEBUG_f(printf("DESTROYING %p\n",self)); |
|
189
|
0 |
75037 |
if (self == NULL) return; |
|
190
|
2 |
75035 |
if (self->state & PDL_DYNLANG_NODESTROY) { |
|
191
|
0 |
2 |
PDLDEBUG_f(printf(" (actually just setting sv to NULL)\n")); |
|
204
|
857 |
999 |
char ispdl = ix && SvROK(invoc) && sv_derived_from(invoc, "PDL"); |
|
|
99 |
758 |
char ispdl = ix && SvROK(invoc) && sv_derived_from(invoc, "PDL"); |
|
|
99 |
0 |
char ispdl = ix && SvROK(invoc) && sv_derived_from(invoc, "PDL"); |
|
206
|
99 |
1757 |
if (ispdl) { |
|
207
|
0 |
99 |
if (!(pdl_given = pdl_SvPDLV(invoc))) barf("Failed to get PDL from arg"); |
|
208
|
2 |
97 |
if (pdl_given->state & PDL_INPLACE) { |
|
214
|
5599 |
1854 |
IV i; for (i = 0; i < items; i++) |
|
215
|
0 |
5599 |
if (!SvOK(ST(i))) |
|
218
|
1759 |
95 |
if (items > 1 && sv_derived_from(ST(1), "PDL::Type")) { |
|
|
811 |
948 |
if (items > 1 && sv_derived_from(ST(1), "PDL::Type")) { |
|
221
|
0 |
811 |
if (!type_av) barf("Arg 1 not a reference"); |
|
222
|
0 |
811 |
if (SvTYPE((SV *)type_av) != SVt_PVAV) barf("Arg 1 not an array-ref"); |
|
224
|
0 |
811 |
if (!firstval) barf("Failed to get type elt 0"); |
|
226
|
90 |
953 |
} else if (ispdl) |
|
230
|
97 |
1757 |
if (!(ispdl && items == 1)) { |
|
|
7 |
90 |
if (!(ispdl && items == 1)) { |
|
232
|
0 |
1764 |
if (!dims_av) barf("Failed to make AV"); |
|
234
|
0 |
1764 |
if (!dims_ref) barf("Failed to make ref to AV"); |
|
236
|
1 |
1763 |
if (retstr) barf("%s", retstr); |
|
238
|
1745 |
108 |
if (strcmp(SvPV_nolen(invoc), "PDL") == 0) { |
|
240
|
0 |
1745 |
if (!p) barf("Failed to create ndarray"); |
|
243
|
1745 |
0 |
if (dims_ref) { |
|
245
|
0 |
1745 |
if (!dims) barf("Failed to unpack dims"); |
|
251
|
757 |
988 |
if (ix) pdl_barf_if_error(pdl_make_physical(p)); |
|
254
|
0 |
108 |
PUSHMARK(SP); |
|
259
|
0 |
108 |
if (retvals != 1) barf("initialize returned no values"); |
|
261
|
0 |
108 |
PUSHMARK(SP); |
|
262
|
0 |
108 |
EXTEND(SP, 2); PUSHs(RETVAL); mPUSHi(type); |
|
266
|
90 |
18 |
if (!dims_ref) { |
|
268
|
0 |
90 |
if (!dims_av) barf("Failed to make AV"); |
|
270
|
0 |
90 |
if (!dims_ref) barf("Failed to make ref to AV"); |
|
272
|
122 |
90 |
for (i = 0; i < pdl_given->ndims; i++) |
|
275
|
0 |
108 |
PUSHMARK(SP); |
|
276
|
0 |
108 |
EXTEND(SP, 2); PUSHs(RETVAL); PUSHs(dims_ref); |
|
281
|
1853 |
0 |
FREETMPS; LEAVE; |
|
290
|
0 |
2412 |
if (!p) barf("Failed to get PDL from arg"); |
|
301
|
0 |
2 |
if (!p) barf("Failed to get PDL from arg"); |
|
302
|
0 |
2 |
if (p->state & PDL_NOMYDIMS) |
|
314
|
0 |
21 |
if (!p) barf("Failed to get PDL from arg"); |
|
325
|
7424 |
2 |
if (items > 2 || |
|
326
|
5781 |
1643 |
(!SvROK(arg1) && SvTYPE(arg1) < SVt_PVAV) || |
|
|
0 |
5781 |
(!SvROK(arg1) && SvTYPE(arg1) < SVt_PVAV) || |
|
327
|
1643 |
0 |
(SvROK(arg1) && SvTYPE(SvRV(arg1)) == SVt_PVAV) |
|
|
18 |
1625 |
(SvROK(arg1) && SvTYPE(SvRV(arg1)) == SVt_PVAV) |
|
329
|
0 |
5801 |
PUSHMARK(SP - items); /* this passes current set of args on */ |
|
332
|
0 |
5801 |
if (retvals != 1) barf("new returned no values"); |
|
334
|
1625 |
0 |
} else if (SvROK(arg1) && SvOBJECT(SvRV(arg1))) { |
|
|
1624 |
1 |
} else if (SvROK(arg1) && SvOBJECT(SvRV(arg1))) { |
|
347
|
58 |
5 |
RETVAL = !!self->vafftrans; |
|
355
|
0 |
0 |
RETVAL = !!self->has_badvalue; |
|
373
|
6 |
13 |
if (gimme == G_SCALAR) |
|
374
|
0 |
6 |
mXPUSHu(self->ntrans_children); |
|
375
|
13 |
0 |
else if (gimme == G_ARRAY) { |
|
376
|
13 |
0 |
EXTEND(SP, self->ntrans_children); |
|
|
0 |
13 |
EXTEND(SP, self->ntrans_children); |
|
378
|
78 |
13 |
for (i = 0; i < self->ntrans_children_allocated; i++) { |
|
380
|
70 |
8 |
if (!t) continue; |
|
393
|
22 |
19 |
RETVAL = PTR2IV(self); |
|
401
|
1 |
6 |
RETVAL = PTR2IV(self->data); |
|
409
|
1 |
1 |
RETVAL = PTR2IV(p->datasv); |
|
417
|
1 |
5 |
RETVAL = x->nvals; |
|
426
|
0 |
0 |
EXTEND(SP, x->ndims); |
|
|
0 |
0 |
EXTEND(SP, x->ndims); |
|
428
|
0 |
0 |
for(i=0; indims; i++) mPUSHi(PDL_REPRINC(x,i)); |
|
|
0 |
0 |
for(i=0; indims; i++) mPUSHi(PDL_REPRINC(x,i)); |
|
435
|
2 |
0 |
EXTEND(SP, x->ndims); |
|
|
0 |
2 |
EXTEND(SP, x->ndims); |
|
437
|
2 |
2 |
for(i=0; indims; i++) mPUSHi(x->dims[i]); |
|
444
|
2 |
0 |
EXTEND(SP, x->nbroadcastids); |
|
|
0 |
2 |
EXTEND(SP, x->nbroadcastids); |
|
446
|
2 |
2 |
for(i=0; inbroadcastids; i++) mPUSHi(x->broadcastids[i]); |
|
452
|
0 |
8 |
if (!(x->state & PDL_ALLOCATED)) barf("firstvals_nophys called on non-ALLOCATED %p", x); |
|
454
|
8 |
0 |
EXTEND(SP, maxvals); |
|
|
0 |
8 |
EXTEND(SP, maxvals); |
|
455
|
24 |
8 |
for(i=0; i
|
|
457
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
18 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
18 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
5 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
5 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, x->datatype, PDL_REPRP(x), PDL_REPROFFS(x)+i); |
|
458
|
0 |
24 |
if (anyval.type < 0) barf("Error getting value, type=%d", anyval.type); |
|
460
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
5 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
5 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
5 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
5 |
ANYVAL_TO_SV(sv, anyval); |
|
|
5 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
469
|
0 |
23 |
if (!self->vafftrans) barf("vaffine_from called on %p with NULL vafftrans", self); |
|
470
|
0 |
23 |
RETVAL = PTR2IV(self->vafftrans->from); |
|
478
|
19 |
121 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLSTATE, x->state) |
|
|
0 |
19 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLSTATE, x->state) |
|
|
140 |
10 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLSTATE, x->state) |
|
486
|
18 |
6 |
if (size >= 0) it->nbytes = size; |
|
487
|
12 |
12 |
RETVAL = 1; |
|
495
|
2 |
13 |
RETVAL = self->nbytes; |
|
503
|
0 |
17 |
if (!p->datasv) barf("NULL datasv"); |
|
504
|
0 |
17 |
RETVAL = SvREFCNT((SV*)p->datasv); |
|
513
|
0 |
14442 |
PDLDEBUG_f(printf("Core::nelem calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
514
|
14112 |
330 |
RETVAL = x->nvals; |
|
525
|
8164 |
17 |
RETVAL = pdl_howbig(datatype); |
|
535
|
41 |
76 |
pdl_autopthread_targ = i; |
|
542
|
0 |
0 |
RETVAL = pdl_autopthread_targ; |
|
552
|
0 |
2 |
pdl_autopthread_size = i; |
|
559
|
0 |
0 |
RETVAL = pdl_autopthread_size; |
|
566
|
13 |
2 |
RETVAL = pdl_autopthread_actual; |
|
573
|
13 |
1 |
RETVAL = pdl_autopthread_dim; |
|
580
|
0 |
132 |
PDL_XS_SCALAR(PDL_CD, C, 0 + I) |
|
|
0 |
132 |
PDL_XS_SCALAR(PDL_CD, C, 0 + I) |
|
585
|
0 |
90 |
PDL_XS_SCALAR(PDL_D, D, NAN) |
|
|
0 |
90 |
PDL_XS_SCALAR(PDL_D, D, NAN) |
|
590
|
0 |
93 |
PDL_XS_SCALAR(PDL_D, D, INFINITY) |
|
|
0 |
93 |
PDL_XS_SCALAR(PDL_D, D, INFINITY) |
|
598
|
0 |
7 |
TRANS_PDLS(0, vtable->nparents) |
|
|
7 |
0 |
TRANS_PDLS(0, vtable->nparents) |
|
|
0 |
7 |
TRANS_PDLS(0, vtable->nparents) |
|
|
2 |
6 |
TRANS_PDLS(0, vtable->nparents) |
|
|
8 |
7 |
TRANS_PDLS(0, vtable->nparents) |
|
604
|
0 |
7 |
TRANS_PDLS(vtable->nparents, vtable->npdls) |
|
|
7 |
0 |
TRANS_PDLS(vtable->nparents, vtable->npdls) |
|
|
0 |
7 |
TRANS_PDLS(vtable->nparents, vtable->npdls) |
|
|
0 |
7 |
TRANS_PDLS(vtable->nparents, vtable->npdls) |
|
|
7 |
7 |
TRANS_PDLS(vtable->nparents, vtable->npdls) |
|
610
|
10 |
14 |
RETVAL = PTR2IV(self); |
|
618
|
1 |
1 |
RETVAL = x->bvalflag; |
|
626
|
20 |
4 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLTRANS, x->flags) |
|
|
0 |
20 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLTRANS, x->flags) |
|
|
24 |
6 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLTRANS, x->flags) |
|
632
|
0 |
13 |
if (!x->vtable) barf("%p has NULL vtable", x); |
|
641
|
2 |
4 |
RETVAL= !!(x->flags & PDL_ITRANS_ISAFFINE); |
|
649
|
0 |
0 |
RETVAL = PTR2IV(self->offs); |
|
657
|
0 |
0 |
if (!(x->flags & PDL_ITRANS_ISAFFINE)) barf("incs called on non-vaffine trans %p", x); |
|
658
|
0 |
0 |
PDL_Indx i, max = x->incs ? x->pdls[1]->ndims : 0; |
|
659
|
0 |
0 |
EXTEND(SP, max); |
|
|
0 |
0 |
EXTEND(SP, max); |
|
660
|
0 |
0 |
for(i=0; iincs[i]); |
|
668
|
2 |
0 |
EXTEND(SP, max); |
|
|
0 |
2 |
EXTEND(SP, max); |
|
669
|
2 |
2 |
for(i=x->vtable->ninds; iind_sizes[i]); |
|
676
|
2 |
0 |
EXTEND(SP, max); |
|
|
0 |
2 |
EXTEND(SP, max); |
|
677
|
0 |
2 |
for(i=0; iind_sizes[i]); |
|
684
|
2 |
0 |
EXTEND(SP, max); |
|
|
0 |
2 |
EXTEND(SP, max); |
|
685
|
0 |
2 |
for(i=0; iinc_sizes[i]); |
|
701
|
3 |
27 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLVTABLE, x->flags) |
|
|
0 |
3 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLVTABLE, x->flags) |
|
|
30 |
6 |
PDL_FLAG_DUMP(PDL_LIST_FLAGS_PDLVTABLE, x->flags) |
|
707
|
0 |
5 |
EXTEND(SP, 2); |
|
709
|
10 |
5 |
for (i=0; i < 2; i++) { |
|
711
|
0 |
10 |
if (!av) barf("Failed to create AV"); |
|
713
|
5 |
5 |
PDL_Indx start = i==0 ? 0 : x->nparents, j, max = i==0 ? x->nparents : x->npdls; |
|
|
5 |
5 |
PDL_Indx start = i==0 ? 0 : x->nparents, j, max = i==0 ? x->nparents : x->npdls; |
|
715
|
11 |
10 |
for (j = start; j < max; j++) { |
|
717
|
0 |
11 |
if (!sv) barf("Failed to create SV"); |
|
718
|
0 |
11 |
if (!av_store( av, j-start, sv )) { |
|
736
|
0 |
0 |
RETVAL = pdl_pdl_seed(); |
|
751
|
8202 |
72 |
RETVAL = SvPOK(arg); |
|
761
|
0 |
0 |
pdl_debugging = i; |
|
776
|
0 |
19895 |
if (pos == NULL) |
|
779
|
0 |
19879 |
if (pos_count < x->ndims) |
|
780
|
0 |
0 |
barf("Invalid position: %"IND_FLAG" coordinate%s given for ndarray with %"IND_FLAG" dim%s", pos_count, pos_count == 1 ? "" : "s", x->ndims, x->ndims == 1 ? "" : "s"); |
|
|
0 |
0 |
barf("Invalid position: %"IND_FLAG" coordinate%s given for ndarray with %"IND_FLAG" dim%s", pos_count, pos_count == 1 ? "" : "s", x->ndims, x->ndims == 1 ? "" : "s"); |
|
781
|
20077 |
19863 |
for (ipos=0; ipos < x->ndims; ipos++) |
|
782
|
33 |
20044 |
if (pos[ipos] + ((pos[ipos] < 0) ? x->dims[ipos] : 0) >= x->dims[ipos]) |
|
|
16 |
20061 |
if (pos[ipos] + ((pos[ipos] < 0) ? x->dims[ipos] : 0) >= x->dims[ipos]) |
|
789
|
8 |
19863 |
for (ipos=x->ndims; ipos
|
|
790
|
0 |
8 |
if (pos[ipos] != 0) |
|
792
|
59 |
19804 |
PDL_Indx ioff = pdl_get_offset(pos, x->dims, PDL_REPRINCS(x), PDL_REPROFFS(x), x->ndims); |
|
|
59 |
19804 |
PDL_Indx ioff = pdl_get_offset(pos, x->dims, PDL_REPRINCS(x), PDL_REPROFFS(x), x->ndims); |
|
793
|
19863 |
0 |
if (ioff >= 0) |
|
794
|
0 |
3366 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
132 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
32 |
53 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
53 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
13928 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
2 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
261 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
4 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
140 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
19 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
27 |
1821 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
4 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
3 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
15 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
|
0 |
3 |
ANYVAL_FROM_CTYPE_OFFSET(result, x->datatype, PDL_REPRP(x), ioff); |
|
795
|
0 |
19863 |
if (result.type < 0) barf("Position out of range"); |
|
797
|
2690 |
17173 |
if (badflag) { |
|
799
|
1 |
2689 |
if (!(x->has_badvalue && x->badvalue.type != x->datatype)) { |
|
|
0 |
1 |
if (!(x->has_badvalue && x->badvalue.type != x->datatype)) { |
|
800
|
1 |
2689 |
if (x->has_badvalue) |
|
809
|
0 |
2690 |
if (badval.type < 0) barf("Error getting badvalue, type=%d", badval.type); |
|
811
|
0 |
2690 |
if (isbad == -1) barf("ANYVAL_ISBAD error on types %d, %d", result.type, badval.type); |
|
812
|
2 |
2688 |
if (isbad) |
|
816
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
820
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
3 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
15 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
15 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
15 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
15 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
15 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
0 |
3 |
ANYVAL_TO_SV(RETVAL, result); |
|
|
3 |
0 |
ANYVAL_TO_SV(RETVAL, result); |
|
841
|
92 |
0 |
if (pos == NULL || pos_count < x->ndims) |
|
|
0 |
92 |
if (pos == NULL || pos_count < x->ndims) |
|
849
|
0 |
92 |
for (ipos=x->ndims; ipos
|
|
850
|
0 |
0 |
if (pos[ipos] != 0) |
|
852
|
1 |
91 |
pdl_barf_if_error(pdl_set(PDL_REPRP(x), x->datatype, pos, x->dims, |
|
853
|
1 |
91 |
PDL_REPRINCS(x), PDL_REPROFFS(x), |
|
|
1 |
91 |
PDL_REPRINCS(x), PDL_REPROFFS(x), |
|
876
|
144 |
72 |
for (; *methsptr; methsptr++) { |
|
878
|
0 |
144 |
if (!meth) croak("No found method '%s' in '%s'", *methsptr, package); |
|
880
|
0 |
144 |
if (!cv) croak("No found CV for '%s' in '%s'", *methsptr, package); |
|
901
|
0 |
7645 |
if (!SvROK(array_ref)) |
|
905
|
0 |
7645 |
if (SvTYPE(SvRV(array_ref)) != SVt_PVAV) |
|
922
|
7643 |
2 |
if (strcmp(class,"PDL") == 0) { |
|
928
|
0 |
2 |
PUSHMARK(SP); |
|
929
|
0 |
2 |
XPUSHs(sv_2mortal(newSVpv(class, 0))); |
|
940
|
2 |
7643 |
FREETMPS; LEAVE; |
|
955
|
11250 |
225 |
RETVAL= !!(self->state & PDL_NOMYDIMS); |
|
981
|
0 |
8 |
PDLDEBUG_f(printf("Core::make_physdims calling ")); pdl_barf_if_error(pdl_make_physdims(self)); |
|
992
|
0 |
343 |
if (!RETVAL) barf("convert error"); |
|
1007
|
22656 |
430 |
RETVAL = self->datatype; |
|
1047
|
0 |
3636 |
PDLDEBUG_f(printf("Core::sclr calling ")); pdl_barf_if_error(pdl_make_physdims(it)); |
|
1048
|
2 |
3634 |
if (it->nvals > 1) barf("multielement ndarray in 'sclr' call"); |
|
1051
|
3634 |
0 |
if (it->nvals == 1) |
|
1052
|
0 |
594 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
594 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
9 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
9 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
4 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
4 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
385 |
102 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
385 |
102 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
1536 |
754 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
1536 |
754 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
31 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
31 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
11 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
11 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
61 |
134 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
61 |
134 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
3 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
3 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
5 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
5 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
|
0 |
1 |
ANYVAL_FROM_CTYPE_OFFSET(RETVAL, it->datatype, PDL_REPRP(it), PDL_REPROFFS(it)); |
|
1053
|
0 |
3634 |
if (RETVAL.type < 0) croak("Position out of range"); |
|
1063
|
8149 |
10842 |
: gv_stashsv(class, 0); /* a class name */ |
|
1066
|
0 |
18991 |
if (!n) pdl_pdl_barf("Error making null pdl"); |
|
1078
|
0 |
18 |
if (!it) pdl_pdl_barf("Failed to create new pdl"); |
|
1092
|
1 |
15 |
if (offset < 0) |
|
1095
|
1 |
14 |
if (offset >= sv_len) |
|
1099
|
0 |
14 |
: gv_stashsv(class, 0); /* a class name */ |
|
1101
|
0 |
14 |
if (!n) pdl_pdl_barf("Error making null pdl"); |
|
1121
|
0 |
2 |
if (nbytes < 0) |
|
1123
|
1 |
1 |
if (!ptr) |
|
1127
|
0 |
1 |
: gv_stashsv(class, 0); /* a class name */ |
|
1129
|
0 |
1 |
if (!n) pdl_pdl_barf("Error making null pdl"); |
|
1144
|
0 |
11920 |
PDLDEBUG_f(printf("get_dataref %p\n", self)); |
|
1146
|
6030 |
5890 |
if (!self->datasv) { |
|
1147
|
0 |
6030 |
PDLDEBUG_f(printf("get_dataref no datasv\n")); |
|
1149
|
6030 |
0 |
(void)SvGROW((SV *)self->datasv, self->nbytes); |
|
|
59 |
5971 |
(void)SvGROW((SV *)self->datasv, self->nbytes); |
|
1154
|
0 |
11920 |
PDLDEBUG_f(printf("get_dataref end: "); pdl_dump(self)); |
|
1163
|
0 |
7846 |
if(self->state & PDL_DONTTOUCHDATA) |
|
1165
|
0 |
7846 |
PDLDEBUG_f(printf("upd_data: "); pdl_dump(self)); |
|
1166
|
7843 |
3 |
if (keep_datasv || !PDL_USESTRUCTVALUE(self)) { |
|
|
3900 |
3943 |
if (keep_datasv || !PDL_USESTRUCTVALUE(self)) { |
|
1168
|
3942 |
1 |
} else if (self->datasv) { |
|
1169
|
0 |
3942 |
PDLDEBUG_f(printf("upd_data zap datasv\n")); |
|
1171
|
0 |
3942 |
if (svsize != self->nbytes) |
|
1177
|
0 |
1 |
PDLDEBUG_f(printf("upd_data datasv gone, maybe reshaped\n")); |
|
1180
|
0 |
7846 |
PDLDEBUG_f(printf("upd_data end: "); pdl_dump(self)); |
|
1187
|
0 |
7404 |
PDLDEBUG_f(printf("update_data_from: "); pdl_dump(self)); |
|
1190
|
1 |
7403 |
if (svsize != self->nbytes) |
|
1194
|
0 |
7403 |
PDLDEBUG_f(printf("update_data_from end: "); pdl_dump(self)); |
|
1201
|
576 |
9899 |
if (items>1) { |
|
1202
|
1 |
575 |
if (x->trans_parent) |
|
1206
|
10128 |
347 |
RETVAL = ((x->state & PDL_BADVAL) > 0); |
|
1217
|
0 |
25083 |
PDLDEBUG_f(printf("Core::getndims calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1218
|
24574 |
509 |
RETVAL = x->ndims; |
|
1229
|
0 |
5405 |
PDLDEBUG_f(printf("Core::dims calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1230
|
4855 |
550 |
if (gimme == G_ARRAY) { |
|
1231
|
4855 |
0 |
EXTEND(SP, x->ndims); |
|
|
0 |
4855 |
EXTEND(SP, x->ndims); |
|
1232
|
6663 |
4855 |
for(i=0; indims; i++) mPUSHi(x->dims[i]); |
|
1234
|
549 |
1 |
else if (gimme == G_SCALAR) { |
|
1235
|
0 |
549 |
mXPUSHu(x->ndims); |
|
1246
|
3 |
0 |
EXTEND(SP, x->ndims); |
|
|
0 |
3 |
EXTEND(SP, x->ndims); |
|
1247
|
3 |
5 |
for (i=0; indims; i++) mPUSHi(PDL_REPRINC(x,i)); |
|
|
8 |
3 |
for (i=0; indims; i++) mPUSHi(PDL_REPRINC(x,i)); |
|
1257
|
0 |
2440 |
PDLDEBUG_f(printf("Core::getdim calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1258
|
469 |
1939 |
if (y < 0) y += x->ndims; |
|
1259
|
0 |
2408 |
if (y < 0) croak("negative dim index too large"); |
|
1260
|
2355 |
53 |
RETVAL = y < x->ndims ? x->dims[y] : 1; /* all other dims=1 */ |
|
|
2103 |
305 |
RETVAL = y < x->ndims ? x->dims[y] : 1; /* all other dims=1 */ |
|
1268
|
0 |
0 |
PDLDEBUG_f(printf("Core::getnbroadcastids calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1269
|
0 |
0 |
RETVAL = x->nbroadcastids; |
|
1280
|
0 |
64 |
PDLDEBUG_f(printf("Core::broadcastids calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1281
|
64 |
0 |
if (gimme == G_ARRAY) { |
|
1282
|
64 |
0 |
EXTEND(SP, x->nbroadcastids); |
|
|
0 |
64 |
EXTEND(SP, x->nbroadcastids); |
|
1283
|
71 |
64 |
for(i=0; inbroadcastids; i++) mPUSHi(x->broadcastids[i]); |
|
1285
|
0 |
0 |
else if (gimme == G_SCALAR) { |
|
1286
|
0 |
0 |
mXPUSHu(x->nbroadcastids); |
|
1294
|
1 |
1 |
if (y < 0 || y >= x->nbroadcastids) barf("requested invalid broadcastid %"IND_FLAG", nbroadcastids=%"IND_FLAG, y, x->nbroadcastids); |
|
|
1 |
0 |
if (y < 0 || y >= x->nbroadcastids) barf("requested invalid broadcastid %"IND_FLAG", nbroadcastids=%"IND_FLAG, y, x->nbroadcastids); |
|
1295
|
0 |
0 |
RETVAL = x->broadcastids[y]; |
|
1319
|
0 |
0 |
if (!pdl_add_svmagic(p,c)) croak("Failed to add magic"); |
|
1328
|
98 |
8 |
if(p->hdrsv == NULL) { |
|
1333
|
103 |
3 |
if ( (h != &PL_sv_undef && h != NULL) && |
|
|
103 |
0 |
if ( (h != &PL_sv_undef && h != NULL) && |
|
1334
|
103 |
0 |
( !SvROK(h) || SvTYPE(SvRV(h)) != SVt_PVHV ) |
|
|
0 |
103 |
( !SvROK(h) || SvTYPE(SvRV(h)) != SVt_PVHV ) |
|
1342
|
103 |
3 |
if(h == &PL_sv_undef || h == NULL) |
|
|
0 |
103 |
if(h == &PL_sv_undef || h == NULL) |
|
1351
|
0 |
332 |
PDLDEBUG_f(printf("Core::hdr calling ")); pdl_barf_if_error(pdl_make_physdims(p)); |
|
1354
|
315 |
17 |
if((p->hdrsv==NULL) || (p->hdrsv == &PL_sv_undef)) { |
|
|
0 |
315 |
if((p->hdrsv==NULL) || (p->hdrsv == &PL_sv_undef)) { |
|
1365
|
0 |
178 |
PDLDEBUG_f(printf("Core::gethdr calling ")); pdl_barf_if_error(pdl_make_physdims(p)); |
|
1366
|
61 |
117 |
if((p->hdrsv==NULL) || (p->hdrsv == &PL_sv_undef)) { |
|
|
0 |
61 |
if((p->hdrsv==NULL) || (p->hdrsv == &PL_sv_undef)) { |
|
1389
|
46 |
1 |
if (!(SvROK(opt) && SvTYPE(opt_hv = (HV*)SvRV(opt)) == SVt_PVHV)) |
|
|
0 |
46 |
if (!(SvROK(opt) && SvTYPE(opt_hv = (HV*)SvRV(opt)) == SVt_PVHV)) |
|
1391
|
0 |
46 |
PDLDEBUG_f(printf("Core::dog calling ")); pdl_barf_if_error(pdl_make_physdims(x)); |
|
1392
|
1 |
45 |
if (x->ndims <= 0) barf("dog: must have at least one dim"); |
|
1394
|
1 |
44 |
char dobreak = (svp && *svp && SvOK(*svp)); |
|
|
1 |
0 |
char dobreak = (svp && *svp && SvOK(*svp)); |
|
|
1 |
0 |
char dobreak = (svp && *svp && SvOK(*svp)); |
|
1395
|
0 |
45 |
PDL_Indx *thesedims = x->dims, *theseincs = PDL_REPRINCS(x), ndimsm1 = x->ndims-1; |
|
1397
|
45 |
0 |
EXTEND(SP, howmany); |
|
|
0 |
45 |
EXTEND(SP, howmany); |
|
1399
|
1114 |
45 |
for (i = 0; i < howmany; i++, thisoffs += topinc) { |
|
1401
|
0 |
1114 |
if (!childpdl) pdl_pdl_barf("Error making null pdl"); |
|
1406
|
4 |
1110 |
if (dobreak) pdl_barf_if_error(pdl_sever(childpdl)); |
|
1422
|
2 |
2 |
for(i=1; i
|
|
1424
|
4 |
2 |
for(i=0; i
|
|
1432
|
0 |
2 |
if (pdl_startbroadcastloop(&pdl_brc,NULL,NULL,&error_ret) < 0) croak("Error starting broadcastloop"); |
|
1438
|
0 |
36 |
PUSHMARK(SP); |
|
1439
|
36 |
0 |
EXTEND(SP,items); |
|
|
0 |
36 |
EXTEND(SP,items); |
|
1441
|
72 |
36 |
for(i=0; i
|
|
1443
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
72 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
|
0 |
0 |
ANYVAL_FROM_CTYPE_OFFSET(anyval, pdls[i]->datatype, PDL_REPRP(pdls[i]), pdl_brc.offs[i]); |
|
1444
|
0 |
72 |
if (anyval.type < 0) die("Error getting value from ndarray"); |
|
1446
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
|
0 |
0 |
ANYVAL_TO_SV(sv, anyval); |
|
1452
|
0 |
36 |
if ( sd < 0 ) die("Error in iterbroadcastloop"); |
|
1453
|
34 |
2 |
} while( sd ); |
|
1454
|
2 |
0 |
FREETMPS; LEAVE; |
|
1468
|
10 |
0 |
if(nothers < 0 || nothers >= targs) |
|
|
0 |
10 |
if(nothers < 0 || nothers >= targs) |
|
1473
|
0 |
10 |
if (creating_count < npdls) croak("broadcastover: need at least one creating flag per pdl: %"IND_FLAG" pdls, %"IND_FLAG" flags", npdls, creating_count); |
|
1474
|
0 |
10 |
if (realdims_count != npdls) croak("broadcastover: need one realdim flag per pdl: %"IND_FLAG" pdls, %"IND_FLAG" flags", npdls, realdims_count); |
|
1477
|
17 |
10 |
for(i=1; i
|
|
1479
|
27 |
10 |
for(i=0; i
|
|
1480
|
8 |
19 |
if (creating[i]) |
|
1487
|
0 |
10 |
if (creating_count < nc) |
|
1489
|
31 |
10 |
for (i=npdls; i<=targs; i++) |
|
1491
|
0 |
10 |
PDLDEBUG_f(for (i=0;i
|
|
|
0 |
0 |
PDLDEBUG_f(for (i=0;i
|
|
1497
|
27 |
10 |
for(i=0, nc=npdls; i
|
|
1498
|
8 |
19 |
if (creating[i]) { |
|
1504
|
0 |
8 |
PDLDEBUG_f(pdl_dump(pdls[i])); |
|
1509
|
0 |
10 |
if (pdl_startbroadcastloop(&pdl_brc,NULL,NULL,&error_ret) < 0) croak("Error starting broadcastloop"); |
|
1511
|
27 |
10 |
for(i=0; i
|
|
1512
|
2 |
25 |
PDL_Indx *thesedims = pdls[i]->dims, *theseincs = PDL_REPRINCS(pdls[i]); |
|
1514
|
2 |
25 |
if (PDL_VAFFOK(pdls[i])) |
|
1517
|
0 |
27 |
if (!child[i]) pdl_pdl_barf("Error making null pdl"); |
|
1531
|
0 |
32 |
PUSHMARK(SP); |
|
1532
|
32 |
0 |
EXTEND(SP,npdls+nothers); |
|
|
0 |
32 |
EXTEND(SP,npdls+nothers); |
|
1533
|
88 |
32 |
for(i=0; i
|
|
1542
|
67 |
32 |
for (i=0; i
|
|
1547
|
0 |
32 |
if ( brcloopval < 0 ) die("Error in iterbroadcastloop"); |
|
1548
|
22 |
10 |
} while( brcloopval ); |
|
1549
|
0 |
10 |
FREETMPS; LEAVE; |