File Coverage

lib/PDL/Slices-pp-index2d.c
Criterion Covered Total %
statement 60 346 17.3
branch 124 3112 3.9
condition n/a
subroutine n/a
pod n/a
total 184 3458 5.3


line stmt bran cond sub pod time code
1              
2             #line 453 "lib/PDL/PP.pm"
3             /*
4             * THIS FILE WAS GENERATED BY PDL::PP from lib/PDL/Slices.pd! Do not modify!
5             */
6              
7             #define PDL_FREE_CODE(trans, destroy, comp_free_code, ntpriv_free_code) \
8             if (destroy) { \
9             comp_free_code \
10             } \
11             if ((trans)->dims_redone) { \
12             ntpriv_free_code \
13             }
14              
15             #include "EXTERN.h"
16             #include "perl.h"
17             #include "XSUB.h"
18             #include "pdl.h"
19             #include "pdlcore.h"
20             #define PDL PDL_Slices
21             extern Core* PDL; /* Structure hold core C functions */
22              
23             #line 1857 "lib/PDL/PP.pm"
24             pdl_error pdl_index2d_readdata(pdl_trans *__privtrans) {
25             pdl_error PDL_err = {0, NULL, 0};
26             #line 27 "lib/PDL/Slices-pp-index2d.c"
27 94 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "broadcast.incs NULL");
28             /* broadcastloop declarations */
29             int __brcloopval;
30             register PDL_Indx __tind0,__tind1; /* counters along dim */
31 94           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
32             /* dims here are how many steps along those dims */
33 94           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
34 94           register PDL_Indx __tinc0_inda = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
35 94           register PDL_Indx __tinc0_indb = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
36 94           register PDL_Indx __tinc0_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,0);
37 94           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
38 94           register PDL_Indx __tinc1_inda = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
39 94           register PDL_Indx __tinc1_indb = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
40 94           register PDL_Indx __tinc1_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,1);
41             #define PDL_BROADCASTLOOP_START_index2d_readdata PDL_BROADCASTLOOP_START( \
42             readdata, \
43             __privtrans->broadcast, \
44             __privtrans->vtable, \
45             a_datap += __offsp[0]; \
46             inda_datap += __offsp[1]; \
47             indb_datap += __offsp[2]; \
48             c_datap += __offsp[3]; \
49             , \
50             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
51             ,inda_datap += __tinc1_inda - __tinc0_inda * __tdims0 \
52             ,indb_datap += __tinc1_indb - __tinc0_indb * __tdims0 \
53             ,c_datap += __tinc1_c - __tinc0_c * __tdims0 \
54             ), \
55             ( ,a_datap += __tinc0_a \
56             ,inda_datap += __tinc0_inda \
57             ,indb_datap += __tinc0_indb \
58             ,c_datap += __tinc0_c \
59             ) \
60             )
61             #define PDL_BROADCASTLOOP_END_index2d_readdata PDL_BROADCASTLOOP_END( \
62             __privtrans->broadcast, \
63             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
64             inda_datap -= __tinc1_inda * __tdims1 + __offsp[1]; \
65             indb_datap -= __tinc1_indb * __tdims1 + __offsp[2]; \
66             c_datap -= __tinc1_c * __tdims1 + __offsp[3]; \
67             )
68 94           register PDL_Indx __inc_a_na = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_na;register PDL_Indx __inc_a_nb = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,1)]; (void)__inc_a_nb;
69             #ifndef PDL_DECLARE_PARAMS_index2d_1
70             #define PDL_DECLARE_PARAMS_index2d_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_inda,PDL_PPSYM_PARAM_inda,PDL_TYPE_PARAM_indb,PDL_PPSYM_PARAM_indb) \
71             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
72             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_inda, inda, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_inda) \
73             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_indb, indb, (__privtrans->pdls[2]), 1, PDL_PPSYM_PARAM_indb) \
74             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, c, (__privtrans->pdls[3]), 1, PDL_PPSYM_OP)
75             #endif
76 94 50         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
77             #define PDL_BAD_CODE
78             #define PDL_IF_BAD(t,f) t
79 0           switch (__privtrans->__datatype) { /* Start generic switch */
80 0           case PDL_SB: {
81 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
82 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
83             #line 206 "lib/PDL/Slices.pd"
84             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
85             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
86             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
87             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
88             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
89              
90             #line 222 "lib/PDL/Slices.pd"
91             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
92             #line 93 "lib/PDL/Slices-pp-index2d.c"
93 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
94 0           } break;
95 0           case PDL_B: {
96 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
97 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
98             #line 206 "lib/PDL/Slices.pd"
99             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
100             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
101             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
102             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
103             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
104              
105             #line 222 "lib/PDL/Slices.pd"
106             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
107             #line 108 "lib/PDL/Slices-pp-index2d.c"
108 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
109 0           } break;
110 0           case PDL_S: {
111 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
112 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
113             #line 206 "lib/PDL/Slices.pd"
114             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
115             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
116             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
117             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
118             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
119              
120             #line 222 "lib/PDL/Slices.pd"
121             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
122             #line 123 "lib/PDL/Slices-pp-index2d.c"
123 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
124 0           } break;
125 0           case PDL_US: {
126 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
127 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
128             #line 206 "lib/PDL/Slices.pd"
129             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
130             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
131             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
132             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
133             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
134              
135             #line 222 "lib/PDL/Slices.pd"
136             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
137             #line 138 "lib/PDL/Slices-pp-index2d.c"
138 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
139 0           } break;
140 0           case PDL_L: {
141 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
142 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
143             #line 206 "lib/PDL/Slices.pd"
144             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
145             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
146             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
147             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
148             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
149              
150             #line 222 "lib/PDL/Slices.pd"
151             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
152             #line 153 "lib/PDL/Slices-pp-index2d.c"
153 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
154 0           } break;
155 0           case PDL_UL: {
156 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
157 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
158             #line 206 "lib/PDL/Slices.pd"
159             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
160             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
161             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
162             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
163             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
164              
165             #line 222 "lib/PDL/Slices.pd"
166             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
167             #line 168 "lib/PDL/Slices-pp-index2d.c"
168 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
169 0           } break;
170 0           case PDL_IND: {
171 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
172 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
173             #line 206 "lib/PDL/Slices.pd"
174             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
175             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
176             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
177             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
178             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
179              
180             #line 222 "lib/PDL/Slices.pd"
181             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
182             #line 183 "lib/PDL/Slices-pp-index2d.c"
183 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
184 0           } break;
185 0           case PDL_ULL: {
186 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
187 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
188             #line 206 "lib/PDL/Slices.pd"
189             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
190             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
191             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
192             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
193             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
194              
195             #line 222 "lib/PDL/Slices.pd"
196             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
197             #line 198 "lib/PDL/Slices-pp-index2d.c"
198 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
199 0           } break;
200 0           case PDL_LL: {
201 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
202 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
203             #line 206 "lib/PDL/Slices.pd"
204             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
205             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
206             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
207             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
208             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
209              
210             #line 222 "lib/PDL/Slices.pd"
211             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
212             #line 213 "lib/PDL/Slices-pp-index2d.c"
213 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
214 0           } break;
215 0           case PDL_F: {
216 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
217 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
218             #line 206 "lib/PDL/Slices.pd"
219             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
220             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
221             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
222             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
223             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
224              
225             #line 222 "lib/PDL/Slices.pd"
226             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
227             #line 228 "lib/PDL/Slices-pp-index2d.c"
228 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
229 0           } break;
230 0           case PDL_D: {
231 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
232 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
233             #line 206 "lib/PDL/Slices.pd"
234             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
235             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
236             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
237             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
238             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
239              
240             #line 222 "lib/PDL/Slices.pd"
241             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
242             #line 243 "lib/PDL/Slices-pp-index2d.c"
243 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
244 0           } break;
245 0           case PDL_LD: {
246 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
247 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
248             #line 206 "lib/PDL/Slices.pd"
249             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
250             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
251             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
252             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
253             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
254              
255             #line 222 "lib/PDL/Slices.pd"
256             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
257             #line 258 "lib/PDL/Slices-pp-index2d.c"
258 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
259 0           } break;
260 0           case PDL_CF: {
261 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CFloat,G,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
262 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
263             #line 206 "lib/PDL/Slices.pd"
264             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
265             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
266             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
267             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
268             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
269              
270             #line 222 "lib/PDL/Slices.pd"
271             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
272             #line 273 "lib/PDL/Slices-pp-index2d.c"
273 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
274 0           } break;
275 0           case PDL_CD: {
276 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CDouble,C,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
277 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
278             #line 206 "lib/PDL/Slices.pd"
279             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
280             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
281             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
282             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
283             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
284              
285             #line 222 "lib/PDL/Slices.pd"
286             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
287             #line 288 "lib/PDL/Slices-pp-index2d.c"
288 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
289 0           } break;
290 0           case PDL_CLD: {
291 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CLDouble,H,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
292 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
293             #line 206 "lib/PDL/Slices.pd"
294             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
295             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
296             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
297             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
298             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
299              
300             #line 222 "lib/PDL/Slices.pd"
301             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
302             #line 303 "lib/PDL/Slices-pp-index2d.c"
303 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
304 0           } break;
305 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index2d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
306             }
307             #undef PDL_BAD_CODE
308             #undef PDL_IF_BAD
309             } else { /* ** else do 'good' Code ** */
310             #define PDL_IF_BAD(t,f) f
311 94           switch (__privtrans->__datatype) { /* Start generic switch */
312 0           case PDL_SB: {
313 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
314 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
315             #line 206 "lib/PDL/Slices.pd"
316             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
317             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
318             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
319             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
320             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
321              
322             #line 222 "lib/PDL/Slices.pd"
323             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
324             #line 325 "lib/PDL/Slices-pp-index2d.c"
325 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
326 0           } break;
327 0           case PDL_B: {
328 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
329 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
330             #line 206 "lib/PDL/Slices.pd"
331             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
332             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
333             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
334             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
335             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
336              
337             #line 222 "lib/PDL/Slices.pd"
338             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
339             #line 340 "lib/PDL/Slices-pp-index2d.c"
340 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
341 0           } break;
342 0           case PDL_S: {
343 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
344 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
345             #line 206 "lib/PDL/Slices.pd"
346             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
347             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
348             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
349             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
350             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
351              
352             #line 222 "lib/PDL/Slices.pd"
353             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
354             #line 355 "lib/PDL/Slices-pp-index2d.c"
355 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
356 0           } break;
357 0           case PDL_US: {
358 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
359 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
360             #line 206 "lib/PDL/Slices.pd"
361             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
362             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
363             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
364             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
365             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
366              
367             #line 222 "lib/PDL/Slices.pd"
368             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
369             #line 370 "lib/PDL/Slices-pp-index2d.c"
370 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
371 0           } break;
372 0           case PDL_L: {
373 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
374 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
375             #line 206 "lib/PDL/Slices.pd"
376             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
377             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
378             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
379             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
380             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
381              
382             #line 222 "lib/PDL/Slices.pd"
383             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
384             #line 385 "lib/PDL/Slices-pp-index2d.c"
385 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
386 0           } break;
387 0           case PDL_UL: {
388 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
389 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
390             #line 206 "lib/PDL/Slices.pd"
391             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
392             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
393             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
394             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
395             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
396              
397             #line 222 "lib/PDL/Slices.pd"
398             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
399             #line 400 "lib/PDL/Slices-pp-index2d.c"
400 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
401 0           } break;
402 0           case PDL_IND: {
403 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
404 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
405             #line 206 "lib/PDL/Slices.pd"
406             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
407             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
408             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
409             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
410             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
411              
412             #line 222 "lib/PDL/Slices.pd"
413             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
414             #line 415 "lib/PDL/Slices-pp-index2d.c"
415 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
416 0           } break;
417 0           case PDL_ULL: {
418 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
419 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
420             #line 206 "lib/PDL/Slices.pd"
421             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
422             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
423             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
424             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
425             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
426              
427             #line 222 "lib/PDL/Slices.pd"
428             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
429             #line 430 "lib/PDL/Slices-pp-index2d.c"
430 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
431 0           } break;
432 0           case PDL_LL: {
433 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
434 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
435             #line 206 "lib/PDL/Slices.pd"
436             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
437             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
438             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
439             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
440             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
441              
442             #line 222 "lib/PDL/Slices.pd"
443             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
444             #line 445 "lib/PDL/Slices-pp-index2d.c"
445 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
446 0           } break;
447 0           case PDL_F: {
448 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
449 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
450             #line 206 "lib/PDL/Slices.pd"
451             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
452             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
453             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
454             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
455             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
456              
457             #line 222 "lib/PDL/Slices.pd"
458             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
459             #line 460 "lib/PDL/Slices-pp-index2d.c"
460 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
461 0           } break;
462 93           case PDL_D: {
463 93 50         PDL_DECLARE_PARAMS_index2d_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
464 386 50         PDL_BROADCASTLOOP_START_index2d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
465             #line 206 "lib/PDL/Slices.pd"
466             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
467             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
468             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
469             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
470             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
471              
472             #line 222 "lib/PDL/Slices.pd"
473             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
474             #line 475 "lib/PDL/Slices-pp-index2d.c"
475 93 50         }PDL_BROADCASTLOOP_END_index2d_readdata
    50          
476 93           } break;
477 0           case PDL_LD: {
478 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
479 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
480             #line 206 "lib/PDL/Slices.pd"
481             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
482             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
483             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
484             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
485             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
486              
487             #line 222 "lib/PDL/Slices.pd"
488             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
489             #line 490 "lib/PDL/Slices-pp-index2d.c"
490 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
491 0           } break;
492 0           case PDL_CF: {
493 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CFloat,G,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
494 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
495             #line 206 "lib/PDL/Slices.pd"
496             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
497             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
498             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
499             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
500             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
501              
502             #line 222 "lib/PDL/Slices.pd"
503             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
504             #line 505 "lib/PDL/Slices-pp-index2d.c"
505 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
506 0           } break;
507 1           case PDL_CD: {
508 1 50         PDL_DECLARE_PARAMS_index2d_1(PDL_CDouble,C,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
509 4 50         PDL_BROADCASTLOOP_START_index2d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
510             #line 206 "lib/PDL/Slices.pd"
511             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
512             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
513             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
514             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
515             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
516              
517             #line 222 "lib/PDL/Slices.pd"
518             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
519             #line 520 "lib/PDL/Slices-pp-index2d.c"
520 1 50         }PDL_BROADCASTLOOP_END_index2d_readdata
    50          
521 1           } break;
522 0           case PDL_CLD: {
523 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CLDouble,H,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
524 0 0         PDL_BROADCASTLOOP_START_index2d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
525             #line 206 "lib/PDL/Slices.pd"
526             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
527             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
528             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
529             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
530             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
531              
532             #line 222 "lib/PDL/Slices.pd"
533             (c_datap)[0] = (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))];
534             #line 535 "lib/PDL/Slices-pp-index2d.c"
535 0 0         }PDL_BROADCASTLOOP_END_index2d_readdata
    0          
536 0           } break;
537 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index2d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
538             }
539             #undef PDL_IF_BAD
540             }
541 94           return PDL_err;
542             }
543              
544              
545             #line 1857 "lib/PDL/PP.pm"
546             pdl_error pdl_index2d_writebackdata(pdl_trans *__privtrans) {
547             pdl_error PDL_err = {0, NULL, 0};
548             #line 549 "lib/PDL/Slices-pp-index2d.c"
549 93 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "broadcast.incs NULL");
550             /* broadcastloop declarations */
551             int __brcloopval;
552             register PDL_Indx __tind0,__tind1; /* counters along dim */
553 93           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
554             /* dims here are how many steps along those dims */
555 93           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
556 93           register PDL_Indx __tinc0_inda = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
557 93           register PDL_Indx __tinc0_indb = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
558 93           register PDL_Indx __tinc0_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,0);
559 93           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
560 93           register PDL_Indx __tinc1_inda = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
561 93           register PDL_Indx __tinc1_indb = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
562 93           register PDL_Indx __tinc1_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,1);
563             #define PDL_BROADCASTLOOP_START_index2d_writebackdata PDL_BROADCASTLOOP_START( \
564             writebackdata, \
565             __privtrans->broadcast, \
566             __privtrans->vtable, \
567             a_datap += __offsp[0]; \
568             inda_datap += __offsp[1]; \
569             indb_datap += __offsp[2]; \
570             c_datap += __offsp[3]; \
571             , \
572             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
573             ,inda_datap += __tinc1_inda - __tinc0_inda * __tdims0 \
574             ,indb_datap += __tinc1_indb - __tinc0_indb * __tdims0 \
575             ,c_datap += __tinc1_c - __tinc0_c * __tdims0 \
576             ), \
577             ( ,a_datap += __tinc0_a \
578             ,inda_datap += __tinc0_inda \
579             ,indb_datap += __tinc0_indb \
580             ,c_datap += __tinc0_c \
581             ) \
582             )
583             #define PDL_BROADCASTLOOP_END_index2d_writebackdata PDL_BROADCASTLOOP_END( \
584             __privtrans->broadcast, \
585             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
586             inda_datap -= __tinc1_inda * __tdims1 + __offsp[1]; \
587             indb_datap -= __tinc1_indb * __tdims1 + __offsp[2]; \
588             c_datap -= __tinc1_c * __tdims1 + __offsp[3]; \
589             )
590 93           register PDL_Indx __inc_a_na = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_na;register PDL_Indx __inc_a_nb = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,1)]; (void)__inc_a_nb;
591             #ifndef PDL_DECLARE_PARAMS_index2d_1
592             #define PDL_DECLARE_PARAMS_index2d_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_inda,PDL_PPSYM_PARAM_inda,PDL_TYPE_PARAM_indb,PDL_PPSYM_PARAM_indb) \
593             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
594             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_inda, inda, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_inda) \
595             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_indb, indb, (__privtrans->pdls[2]), 1, PDL_PPSYM_PARAM_indb) \
596             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, c, (__privtrans->pdls[3]), 1, PDL_PPSYM_OP)
597             #endif
598 93 50         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
599             #define PDL_BAD_CODE
600             #define PDL_IF_BAD(t,f) t
601 0           switch (__privtrans->__datatype) { /* Start generic switch */
602 0           case PDL_SB: {
603 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
604 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
605             #line 206 "lib/PDL/Slices.pd"
606             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
607             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
608             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
609             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
610             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
611              
612             #line 224 "lib/PDL/Slices.pd"
613             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
614             #line 615 "lib/PDL/Slices-pp-index2d.c"
615 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
616 0           } break;
617 0           case PDL_B: {
618 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
619 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
620             #line 206 "lib/PDL/Slices.pd"
621             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
622             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
623             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
624             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
625             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
626              
627             #line 224 "lib/PDL/Slices.pd"
628             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
629             #line 630 "lib/PDL/Slices-pp-index2d.c"
630 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
631 0           } break;
632 0           case PDL_S: {
633 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
634 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
635             #line 206 "lib/PDL/Slices.pd"
636             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
637             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
638             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
639             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
640             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
641              
642             #line 224 "lib/PDL/Slices.pd"
643             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
644             #line 645 "lib/PDL/Slices-pp-index2d.c"
645 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
646 0           } break;
647 0           case PDL_US: {
648 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
649 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
650             #line 206 "lib/PDL/Slices.pd"
651             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
652             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
653             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
654             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
655             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
656              
657             #line 224 "lib/PDL/Slices.pd"
658             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
659             #line 660 "lib/PDL/Slices-pp-index2d.c"
660 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
661 0           } break;
662 0           case PDL_L: {
663 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
664 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
665             #line 206 "lib/PDL/Slices.pd"
666             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
667             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
668             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
669             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
670             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
671              
672             #line 224 "lib/PDL/Slices.pd"
673             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
674             #line 675 "lib/PDL/Slices-pp-index2d.c"
675 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
676 0           } break;
677 0           case PDL_UL: {
678 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
679 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
680             #line 206 "lib/PDL/Slices.pd"
681             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
682             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
683             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
684             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
685             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
686              
687             #line 224 "lib/PDL/Slices.pd"
688             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
689             #line 690 "lib/PDL/Slices-pp-index2d.c"
690 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
691 0           } break;
692 0           case PDL_IND: {
693 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
694 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
695             #line 206 "lib/PDL/Slices.pd"
696             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
697             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
698             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
699             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
700             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
701              
702             #line 224 "lib/PDL/Slices.pd"
703             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
704             #line 705 "lib/PDL/Slices-pp-index2d.c"
705 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
706 0           } break;
707 0           case PDL_ULL: {
708 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
709 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
710             #line 206 "lib/PDL/Slices.pd"
711             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
712             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
713             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
714             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
715             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
716              
717             #line 224 "lib/PDL/Slices.pd"
718             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
719             #line 720 "lib/PDL/Slices-pp-index2d.c"
720 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
721 0           } break;
722 0           case PDL_LL: {
723 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
724 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
725             #line 206 "lib/PDL/Slices.pd"
726             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
727             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
728             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
729             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
730             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
731              
732             #line 224 "lib/PDL/Slices.pd"
733             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
734             #line 735 "lib/PDL/Slices-pp-index2d.c"
735 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
736 0           } break;
737 0           case PDL_F: {
738 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
739 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
740             #line 206 "lib/PDL/Slices.pd"
741             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
742             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
743             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
744             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
745             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
746              
747             #line 224 "lib/PDL/Slices.pd"
748             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
749             #line 750 "lib/PDL/Slices-pp-index2d.c"
750 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
751 0           } break;
752 0           case PDL_D: {
753 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
754 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
755             #line 206 "lib/PDL/Slices.pd"
756             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
757             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
758             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
759             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
760             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
761              
762             #line 224 "lib/PDL/Slices.pd"
763             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
764             #line 765 "lib/PDL/Slices-pp-index2d.c"
765 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
766 0           } break;
767 0           case PDL_LD: {
768 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
769 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
770             #line 206 "lib/PDL/Slices.pd"
771             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
772             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
773             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
774             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
775             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
776              
777             #line 224 "lib/PDL/Slices.pd"
778             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
779             #line 780 "lib/PDL/Slices-pp-index2d.c"
780 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
781 0           } break;
782 0           case PDL_CF: {
783 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CFloat,G,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
784 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
785             #line 206 "lib/PDL/Slices.pd"
786             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
787             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
788             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
789             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
790             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
791              
792             #line 224 "lib/PDL/Slices.pd"
793             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
794             #line 795 "lib/PDL/Slices-pp-index2d.c"
795 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
796 0           } break;
797 0           case PDL_CD: {
798 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CDouble,C,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
799 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
800             #line 206 "lib/PDL/Slices.pd"
801             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
802             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
803             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
804             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
805             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
806              
807             #line 224 "lib/PDL/Slices.pd"
808             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
809             #line 810 "lib/PDL/Slices-pp-index2d.c"
810 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
811 0           } break;
812 0           case PDL_CLD: {
813 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CLDouble,H,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
814 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
815             #line 206 "lib/PDL/Slices.pd"
816             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
817             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
818             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
819             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
820             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
821              
822             #line 224 "lib/PDL/Slices.pd"
823             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
824             #line 825 "lib/PDL/Slices-pp-index2d.c"
825 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
826 0           } break;
827 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index2d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
828             }
829             #undef PDL_BAD_CODE
830             #undef PDL_IF_BAD
831             } else { /* ** else do 'good' Code ** */
832             #define PDL_IF_BAD(t,f) f
833 93           switch (__privtrans->__datatype) { /* Start generic switch */
834 0           case PDL_SB: {
835 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
836 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
837             #line 206 "lib/PDL/Slices.pd"
838             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
839             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
840             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
841             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
842             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
843              
844             #line 224 "lib/PDL/Slices.pd"
845             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
846             #line 847 "lib/PDL/Slices-pp-index2d.c"
847 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
848 0           } break;
849 0           case PDL_B: {
850 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
851 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
852             #line 206 "lib/PDL/Slices.pd"
853             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
854             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
855             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
856             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
857             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
858              
859             #line 224 "lib/PDL/Slices.pd"
860             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
861             #line 862 "lib/PDL/Slices-pp-index2d.c"
862 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
863 0           } break;
864 0           case PDL_S: {
865 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
866 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
867             #line 206 "lib/PDL/Slices.pd"
868             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
869             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
870             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
871             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
872             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
873              
874             #line 224 "lib/PDL/Slices.pd"
875             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
876             #line 877 "lib/PDL/Slices-pp-index2d.c"
877 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
878 0           } break;
879 0           case PDL_US: {
880 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
881 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
882             #line 206 "lib/PDL/Slices.pd"
883             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
884             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
885             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
886             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
887             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
888              
889             #line 224 "lib/PDL/Slices.pd"
890             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
891             #line 892 "lib/PDL/Slices-pp-index2d.c"
892 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
893 0           } break;
894 0           case PDL_L: {
895 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
896 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
897             #line 206 "lib/PDL/Slices.pd"
898             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
899             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
900             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
901             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
902             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
903              
904             #line 224 "lib/PDL/Slices.pd"
905             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
906             #line 907 "lib/PDL/Slices-pp-index2d.c"
907 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
908 0           } break;
909 0           case PDL_UL: {
910 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
911 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
912             #line 206 "lib/PDL/Slices.pd"
913             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
914             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
915             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
916             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
917             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
918              
919             #line 224 "lib/PDL/Slices.pd"
920             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
921             #line 922 "lib/PDL/Slices-pp-index2d.c"
922 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
923 0           } break;
924 0           case PDL_IND: {
925 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
926 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
927             #line 206 "lib/PDL/Slices.pd"
928             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
929             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
930             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
931             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
932             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
933              
934             #line 224 "lib/PDL/Slices.pd"
935             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
936             #line 937 "lib/PDL/Slices-pp-index2d.c"
937 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
938 0           } break;
939 0           case PDL_ULL: {
940 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
941 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
942             #line 206 "lib/PDL/Slices.pd"
943             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
944             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
945             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
946             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
947             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
948              
949             #line 224 "lib/PDL/Slices.pd"
950             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
951             #line 952 "lib/PDL/Slices-pp-index2d.c"
952 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
953 0           } break;
954 0           case PDL_LL: {
955 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
956 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
957             #line 206 "lib/PDL/Slices.pd"
958             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
959             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
960             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
961             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
962             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
963              
964             #line 224 "lib/PDL/Slices.pd"
965             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
966             #line 967 "lib/PDL/Slices-pp-index2d.c"
967 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
968 0           } break;
969 0           case PDL_F: {
970 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
971 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
972             #line 206 "lib/PDL/Slices.pd"
973             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
974             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
975             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
976             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
977             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
978              
979             #line 224 "lib/PDL/Slices.pd"
980             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
981             #line 982 "lib/PDL/Slices-pp-index2d.c"
982 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
983 0           } break;
984 92           case PDL_D: {
985 92 50         PDL_DECLARE_PARAMS_index2d_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
986 382 50         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    50          
    50          
    50          
    50          
    100          
    100          
987             #line 206 "lib/PDL/Slices.pd"
988             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
989             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
990             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
991             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
992             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
993              
994             #line 224 "lib/PDL/Slices.pd"
995             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
996             #line 997 "lib/PDL/Slices-pp-index2d.c"
997 92 50         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    50          
998 92           } break;
999 0           case PDL_LD: {
1000 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1001 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1002             #line 206 "lib/PDL/Slices.pd"
1003             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
1004             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
1005             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
1006             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
1007             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
1008              
1009             #line 224 "lib/PDL/Slices.pd"
1010             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
1011             #line 1012 "lib/PDL/Slices-pp-index2d.c"
1012 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
1013 0           } break;
1014 0           case PDL_CF: {
1015 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CFloat,G,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1016 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1017             #line 206 "lib/PDL/Slices.pd"
1018             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
1019             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
1020             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
1021             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
1022             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
1023              
1024             #line 224 "lib/PDL/Slices.pd"
1025             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
1026             #line 1027 "lib/PDL/Slices-pp-index2d.c"
1027 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
1028 0           } break;
1029 1           case PDL_CD: {
1030 1 50         PDL_DECLARE_PARAMS_index2d_1(PDL_CDouble,C,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
1031 4 50         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    50          
    50          
    50          
    50          
    100          
    100          
1032             #line 206 "lib/PDL/Slices.pd"
1033             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
1034             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
1035             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
1036             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
1037             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
1038              
1039             #line 224 "lib/PDL/Slices.pd"
1040             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
1041             #line 1042 "lib/PDL/Slices-pp-index2d.c"
1042 1 50         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    50          
1043 1           } break;
1044 0           case PDL_CLD: {
1045 0 0         PDL_DECLARE_PARAMS_index2d_1(PDL_CLDouble,H,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1046 0 0         PDL_BROADCASTLOOP_START_index2d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1047             #line 206 "lib/PDL/Slices.pd"
1048             register PDL_Indx this_ind_a = (inda_datap)[0],this_ind_b = (indb_datap)[0];
1049             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_a,inda_badval,N,inda_badval_isnan) ||,) this_ind_a<0 || this_ind_a>=__privtrans->ind_sizes[0] )
1050             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid x-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_a,__privtrans->ind_sizes[0]-1);
1051             if( PDL_IF_BAD(PDL_ISBAD2(this_ind_b,indb_badval,N,indb_badval_isnan) ||,) this_ind_b<0 || this_ind_b>=__privtrans->ind_sizes[1] )
1052             return PDL->make_error(PDL_EUSERERROR, "Error in index2d:" "invalid y-index %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind_b,__privtrans->ind_sizes[1]-1);
1053              
1054             #line 224 "lib/PDL/Slices.pd"
1055             (a_datap)[0+(__inc_a_na*(this_ind_a))+(__inc_a_nb*(this_ind_b))] = (c_datap)[0];
1056             #line 1057 "lib/PDL/Slices-pp-index2d.c"
1057 0 0         }PDL_BROADCASTLOOP_END_index2d_writebackdata
    0          
1058 0           } break;
1059 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index2d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
1060             }
1061             #undef PDL_IF_BAD
1062             }
1063 93           return PDL_err;
1064             }
1065              
1066             static pdl_datatypes pdl_index2d_vtable_gentypes[] = { PDL_SB, PDL_B, PDL_S, PDL_US, PDL_L, PDL_UL, PDL_IND, PDL_ULL, PDL_LL, PDL_F, PDL_D, PDL_LD, PDL_CF, PDL_CD, PDL_CLD, -1 };
1067             static PDL_Indx pdl_index2d_vtable_realdims[] = { 2, 0, 0, 0 };
1068             static char *pdl_index2d_vtable_parnames[] = { "a","inda","indb","c" };
1069             static short pdl_index2d_vtable_parflags[] = {
1070             0,
1071             PDL_PARAM_ISTYPED,
1072             PDL_PARAM_ISTYPED,
1073             PDL_PARAM_ISCREAT|PDL_PARAM_ISCREATEALWAYS|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE
1074             };
1075             static pdl_datatypes pdl_index2d_vtable_partypes[] = { -1, PDL_IND, PDL_IND, -1 };
1076             static PDL_Indx pdl_index2d_vtable_realdims_starts[] = { 0, 2, 2, 2 };
1077             static PDL_Indx pdl_index2d_vtable_realdims_ind_ids[] = { 0, 1 };
1078             static char *pdl_index2d_vtable_indnames[] = { "na","nb" };
1079             pdl_transvtable pdl_index2d_vtable = {
1080             PDL_TRANS_DO_BROADCAST|PDL_TRANS_BADPROCESS, PDL_ITRANS_TWOWAY|PDL_ITRANS_DO_DATAFLOW_ANY, pdl_index2d_vtable_gentypes, 3, 4, NULL /*CORE21*/,
1081             pdl_index2d_vtable_realdims, pdl_index2d_vtable_parnames,
1082             pdl_index2d_vtable_parflags, pdl_index2d_vtable_partypes,
1083             pdl_index2d_vtable_realdims_starts, pdl_index2d_vtable_realdims_ind_ids, 2,
1084             2, pdl_index2d_vtable_indnames,
1085             NULL, pdl_index2d_readdata, pdl_index2d_writebackdata,
1086             NULL,
1087             0,"PDL::Slices::index2d"
1088             };
1089              
1090              
1091 94           pdl_error pdl_run_index2d(pdl *a,pdl *inda,pdl *indb,pdl *c) {
1092 94           pdl_error PDL_err = {0, NULL, 0};
1093 94 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
1094 94           pdl_trans *__privtrans = PDL->create_trans(&pdl_index2d_vtable);
1095 94 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
1096 94           __privtrans->pdls[0] = a;
1097 94           __privtrans->pdls[1] = inda;
1098 94           __privtrans->pdls[2] = indb;
1099 94           __privtrans->pdls[3] = c;
1100 94 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
1101 94 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
1102 94           return PDL_err;
1103             }