Branch Coverage

lib/PDL/Core.xs
Criterion Covered Total %
branch 613 1194 51.3


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;