File Coverage

lib/PDL/Slices-pp-index1d.c
Criterion Covered Total %
statement 82 347 23.6
branch 200 2632 7.6
condition n/a
subroutine n/a
pod n/a
total 282 2979 9.4


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_index1d_readdata(pdl_trans *__privtrans) {
25             pdl_error PDL_err = {0, NULL, 0};
26             #line 27 "lib/PDL/Slices-pp-index1d.c"
27 5881           register PDL_Indx __m_size = __privtrans->ind_sizes[0];
28 5881 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "broadcast.incs NULL");
29             /* broadcastloop declarations */
30             int __brcloopval;
31             register PDL_Indx __tind0,__tind1; /* counters along dim */
32 5881           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
33             /* dims here are how many steps along those dims */
34 5881           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
35 5881           register PDL_Indx __tinc0_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
36 5881           register PDL_Indx __tinc0_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
37 5881           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
38 5881           register PDL_Indx __tinc1_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
39 5881           register PDL_Indx __tinc1_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
40             #define PDL_BROADCASTLOOP_START_index1d_readdata PDL_BROADCASTLOOP_START( \
41             readdata, \
42             __privtrans->broadcast, \
43             __privtrans->vtable, \
44             a_datap += __offsp[0]; \
45             ind_datap += __offsp[1]; \
46             c_datap += __offsp[2]; \
47             , \
48             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
49             ,ind_datap += __tinc1_ind - __tinc0_ind * __tdims0 \
50             ,c_datap += __tinc1_c - __tinc0_c * __tdims0 \
51             ), \
52             ( ,a_datap += __tinc0_a \
53             ,ind_datap += __tinc0_ind \
54             ,c_datap += __tinc0_c \
55             ) \
56             )
57             #define PDL_BROADCASTLOOP_END_index1d_readdata PDL_BROADCASTLOOP_END( \
58             __privtrans->broadcast, \
59             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
60             ind_datap -= __tinc1_ind * __tdims1 + __offsp[1]; \
61             c_datap -= __tinc1_c * __tdims1 + __offsp[2]; \
62             )
63 5881           register PDL_Indx __inc_a_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_n;
64 5881           register PDL_Indx __inc_c_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,2,0)]; (void)__inc_c_m;
65 5881           register PDL_Indx __inc_ind_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,1,0)]; (void)__inc_ind_m;
66             #ifndef PDL_DECLARE_PARAMS_index1d_1
67             #define PDL_DECLARE_PARAMS_index1d_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_ind,PDL_PPSYM_PARAM_ind) \
68             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
69             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_ind, ind, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_ind) \
70             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, c, (__privtrans->pdls[2]), 1, PDL_PPSYM_OP)
71             #endif
72 5881 100         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
73             #define PDL_BAD_CODE
74             #define PDL_IF_BAD(t,f) t
75 7           switch (__privtrans->__datatype) { /* Start generic switch */
76 0           case PDL_SB: {
77 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_SByte,A,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
78 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
79             #line 173 "lib/PDL/Slices.pd"
80             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
81             #line 174 "lib/PDL/Slices.pd"
82             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
83             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
84             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
85             } else,) {
86             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
87             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
88             }
89             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
90             }
91             }} /* Close m */
92             #line 93 "lib/PDL/Slices-pp-index1d.c"
93 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
94 0           } break;
95 0           case PDL_B: {
96 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Byte,B,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
97 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
98             #line 173 "lib/PDL/Slices.pd"
99             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
100             #line 174 "lib/PDL/Slices.pd"
101             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
102             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
103             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
104             } else,) {
105             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
106             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
107             }
108             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
109             }
110             }} /* Close m */
111             #line 112 "lib/PDL/Slices-pp-index1d.c"
112 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
113 0           } break;
114 0           case PDL_S: {
115 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Short,S,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
116 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
117             #line 173 "lib/PDL/Slices.pd"
118             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
119             #line 174 "lib/PDL/Slices.pd"
120             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
121             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
122             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
123             } else,) {
124             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
125             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
126             }
127             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
128             }
129             }} /* Close m */
130             #line 131 "lib/PDL/Slices-pp-index1d.c"
131 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
132 0           } break;
133 0           case PDL_US: {
134 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Ushort,U,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
135 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
136             #line 173 "lib/PDL/Slices.pd"
137             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
138             #line 174 "lib/PDL/Slices.pd"
139             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
140             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
141             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
142             } else,) {
143             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
144             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
145             }
146             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
147             }
148             }} /* Close m */
149             #line 150 "lib/PDL/Slices-pp-index1d.c"
150 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
151 0           } break;
152 0           case PDL_L: {
153 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Long,L,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
154 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
155             #line 173 "lib/PDL/Slices.pd"
156             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
157             #line 174 "lib/PDL/Slices.pd"
158             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
159             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
160             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
161             } else,) {
162             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
163             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
164             }
165             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
166             }
167             }} /* Close m */
168             #line 169 "lib/PDL/Slices-pp-index1d.c"
169 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
170 0           } break;
171 0           case PDL_UL: {
172 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULong,K,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
173 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
174             #line 173 "lib/PDL/Slices.pd"
175             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
176             #line 174 "lib/PDL/Slices.pd"
177             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
178             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
179             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
180             } else,) {
181             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
182             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
183             }
184             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
185             }
186             }} /* Close m */
187             #line 188 "lib/PDL/Slices-pp-index1d.c"
188 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
189 0           } break;
190 0           case PDL_IND: {
191 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
192 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
193             #line 173 "lib/PDL/Slices.pd"
194             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
195             #line 174 "lib/PDL/Slices.pd"
196             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
197             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
198             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
199             } else,) {
200             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
201             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
202             }
203             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
204             }
205             }} /* Close m */
206             #line 207 "lib/PDL/Slices-pp-index1d.c"
207 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
208 0           } break;
209 0           case PDL_ULL: {
210 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULongLong,P,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
211 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
212             #line 173 "lib/PDL/Slices.pd"
213             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
214             #line 174 "lib/PDL/Slices.pd"
215             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
216             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
217             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
218             } else,) {
219             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
220             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
221             }
222             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
223             }
224             }} /* Close m */
225             #line 226 "lib/PDL/Slices-pp-index1d.c"
226 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
227 0           } break;
228 0           case PDL_LL: {
229 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LongLong,Q,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
230 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
231             #line 173 "lib/PDL/Slices.pd"
232             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
233             #line 174 "lib/PDL/Slices.pd"
234             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
235             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
236             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
237             } else,) {
238             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
239             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
240             }
241             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
242             }
243             }} /* Close m */
244             #line 245 "lib/PDL/Slices-pp-index1d.c"
245 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
246 0           } break;
247 0           case PDL_F: {
248 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Float,F,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
249 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
250             #line 173 "lib/PDL/Slices.pd"
251             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
252             #line 174 "lib/PDL/Slices.pd"
253             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
254             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
255             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
256             } else,) {
257             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
258             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
259             }
260             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
261             }
262             }} /* Close m */
263             #line 264 "lib/PDL/Slices-pp-index1d.c"
264 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
265 0           } break;
266 7           case PDL_D: {
267 7 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Double,D,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
268 30 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
269             #line 173 "lib/PDL/Slices.pd"
270             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
271             #line 174 "lib/PDL/Slices.pd"
272             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
273             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
274             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
275             } else,) {
276             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
277             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
278             }
279             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
280             }
281             }} /* Close m */
282             #line 283 "lib/PDL/Slices-pp-index1d.c"
283 7 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
284 7           } break;
285 0           case PDL_LD: {
286 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LDouble,E,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
287 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
288             #line 173 "lib/PDL/Slices.pd"
289             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
290             #line 174 "lib/PDL/Slices.pd"
291             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
292             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
293             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
294             } else,) {
295             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
296             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
297             }
298             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
299             }
300             }} /* Close m */
301             #line 302 "lib/PDL/Slices-pp-index1d.c"
302 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
303 0           } break;
304 0           case PDL_CF: {
305 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CFloat,G,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
306 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
307             #line 173 "lib/PDL/Slices.pd"
308             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
309             #line 174 "lib/PDL/Slices.pd"
310             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
311             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
312             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
313             } else,) {
314             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
315             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
316             }
317             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
318             }
319             }} /* Close m */
320             #line 321 "lib/PDL/Slices-pp-index1d.c"
321 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
322 0           } break;
323 0           case PDL_CD: {
324 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CDouble,C,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
325 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
326             #line 173 "lib/PDL/Slices.pd"
327             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
328             #line 174 "lib/PDL/Slices.pd"
329             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
330             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
331             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
332             } else,) {
333             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
334             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
335             }
336             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
337             }
338             }} /* Close m */
339             #line 340 "lib/PDL/Slices-pp-index1d.c"
340 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
341 0           } break;
342 0           case PDL_CLD: {
343 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CLDouble,H,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
344 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
345             #line 173 "lib/PDL/Slices.pd"
346             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
347             #line 174 "lib/PDL/Slices.pd"
348             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
349             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
350             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
351             } else,) {
352             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
353             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
354             }
355             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
356             }
357             }} /* Close m */
358             #line 359 "lib/PDL/Slices-pp-index1d.c"
359 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
360 0           } break;
361 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index1d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
362             }
363             #undef PDL_BAD_CODE
364             #undef PDL_IF_BAD
365             } else { /* ** else do 'good' Code ** */
366             #define PDL_IF_BAD(t,f) f
367 5874           switch (__privtrans->__datatype) { /* Start generic switch */
368 0           case PDL_SB: {
369 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_SByte,A,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
370 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
371             #line 173 "lib/PDL/Slices.pd"
372             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
373             #line 174 "lib/PDL/Slices.pd"
374             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
375             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
376             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
377             } else,) {
378             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
379             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
380             }
381             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
382             }
383             }} /* Close m */
384             #line 385 "lib/PDL/Slices-pp-index1d.c"
385 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
386 0           } break;
387 2           case PDL_B: {
388 2 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Byte,B,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
389 13 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
390             #line 173 "lib/PDL/Slices.pd"
391             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
392             #line 174 "lib/PDL/Slices.pd"
393             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
394             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
395             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
396             } else,) {
397             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
398             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
399             }
400             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
401             }
402             }} /* Close m */
403             #line 404 "lib/PDL/Slices-pp-index1d.c"
404 2 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
405 2           } break;
406 0           case PDL_S: {
407 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Short,S,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
408 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
409             #line 173 "lib/PDL/Slices.pd"
410             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
411             #line 174 "lib/PDL/Slices.pd"
412             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
413             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
414             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
415             } else,) {
416             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
417             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
418             }
419             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
420             }
421             }} /* Close m */
422             #line 423 "lib/PDL/Slices-pp-index1d.c"
423 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
424 0           } break;
425 0           case PDL_US: {
426 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Ushort,U,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
427 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
428             #line 173 "lib/PDL/Slices.pd"
429             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
430             #line 174 "lib/PDL/Slices.pd"
431             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
432             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
433             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
434             } else,) {
435             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
436             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
437             }
438             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
439             }
440             }} /* Close m */
441             #line 442 "lib/PDL/Slices-pp-index1d.c"
442 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
443 0           } break;
444 4231           case PDL_L: {
445 4231 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Long,L,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
446 16937 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
447             #line 173 "lib/PDL/Slices.pd"
448             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
449             #line 174 "lib/PDL/Slices.pd"
450             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
451             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
452             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
453             } else,) {
454             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
455             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
456             }
457             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
458             }
459             }} /* Close m */
460             #line 461 "lib/PDL/Slices-pp-index1d.c"
461 4231 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
462 4231           } break;
463 0           case PDL_UL: {
464 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULong,K,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
465 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
466             #line 173 "lib/PDL/Slices.pd"
467             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
468             #line 174 "lib/PDL/Slices.pd"
469             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
470             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
471             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
472             } else,) {
473             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
474             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
475             }
476             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
477             }
478             }} /* Close m */
479             #line 480 "lib/PDL/Slices-pp-index1d.c"
480 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
481 0           } break;
482 1537           case PDL_IND: {
483 1537 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
484 6148 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
485             #line 173 "lib/PDL/Slices.pd"
486             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
487             #line 174 "lib/PDL/Slices.pd"
488             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
489             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
490             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
491             } else,) {
492             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
493             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
494             }
495             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
496             }
497             }} /* Close m */
498             #line 499 "lib/PDL/Slices-pp-index1d.c"
499 1537 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
500 1537           } break;
501 0           case PDL_ULL: {
502 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULongLong,P,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
503 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
504             #line 173 "lib/PDL/Slices.pd"
505             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
506             #line 174 "lib/PDL/Slices.pd"
507             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
508             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
509             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
510             } else,) {
511             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
512             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
513             }
514             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
515             }
516             }} /* Close m */
517             #line 518 "lib/PDL/Slices-pp-index1d.c"
518 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
519 0           } break;
520 0           case PDL_LL: {
521 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LongLong,Q,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
522 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
523             #line 173 "lib/PDL/Slices.pd"
524             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
525             #line 174 "lib/PDL/Slices.pd"
526             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
527             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
528             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
529             } else,) {
530             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
531             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
532             }
533             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
534             }
535             }} /* Close m */
536             #line 537 "lib/PDL/Slices-pp-index1d.c"
537 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
538 0           } break;
539 29           case PDL_F: {
540 29 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Float,F,PDL_Indx,N)
    50          
    50          
    50          
    50          
    100          
    50          
    50          
    50          
    100          
    50          
    50          
541 166 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
542             #line 173 "lib/PDL/Slices.pd"
543             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
544             #line 174 "lib/PDL/Slices.pd"
545             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
546             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
547             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
548             } else,) {
549             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
550             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
551             }
552             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
553             }
554             }} /* Close m */
555             #line 556 "lib/PDL/Slices-pp-index1d.c"
556 29 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
557 29           } break;
558 75           case PDL_D: {
559 75 100         PDL_DECLARE_PARAMS_index1d_1(PDL_Double,D,PDL_Indx,N)
    50          
    50          
    100          
    50          
    100          
    50          
    50          
    50          
    100          
    50          
    50          
560 967 50         PDL_BROADCASTLOOP_START_index1d_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
561             #line 173 "lib/PDL/Slices.pd"
562             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
563             #line 174 "lib/PDL/Slices.pd"
564             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
565             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
566             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
567             } else,) {
568             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
569             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
570             }
571             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
572             }
573             }} /* Close m */
574             #line 575 "lib/PDL/Slices-pp-index1d.c"
575 75 50         }PDL_BROADCASTLOOP_END_index1d_readdata
    50          
576 75           } break;
577 0           case PDL_LD: {
578 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LDouble,E,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
579 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
580             #line 173 "lib/PDL/Slices.pd"
581             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
582             #line 174 "lib/PDL/Slices.pd"
583             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
584             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
585             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
586             } else,) {
587             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
588             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
589             }
590             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
591             }
592             }} /* Close m */
593             #line 594 "lib/PDL/Slices-pp-index1d.c"
594 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
595 0           } break;
596 0           case PDL_CF: {
597 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CFloat,G,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
598 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
599             #line 173 "lib/PDL/Slices.pd"
600             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
601             #line 174 "lib/PDL/Slices.pd"
602             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
603             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
604             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
605             } else,) {
606             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
607             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
608             }
609             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
610             }
611             }} /* Close m */
612             #line 613 "lib/PDL/Slices-pp-index1d.c"
613 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
614 0           } break;
615 0           case PDL_CD: {
616 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CDouble,C,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
617 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
618             #line 173 "lib/PDL/Slices.pd"
619             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
620             #line 174 "lib/PDL/Slices.pd"
621             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
622             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
623             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
624             } else,) {
625             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
626             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
627             }
628             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
629             }
630             }} /* Close m */
631             #line 632 "lib/PDL/Slices-pp-index1d.c"
632 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
633 0           } break;
634 0           case PDL_CLD: {
635 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CLDouble,H,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
636 0 0         PDL_BROADCASTLOOP_START_index1d_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
637             #line 173 "lib/PDL/Slices.pd"
638             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
639             #line 174 "lib/PDL/Slices.pd"
640             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
641             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
642             (c_datap)[0+(__inc_c_m*(m))]=c_badval;
643             } else,) {
644             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
645             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
646             }
647             (c_datap)[0+(__inc_c_m*(m))] = (a_datap)[0+(__inc_a_n*(this_ind))];
648             }
649             }} /* Close m */
650             #line 651 "lib/PDL/Slices-pp-index1d.c"
651 0 0         }PDL_BROADCASTLOOP_END_index1d_readdata
    0          
652 0           } break;
653 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index1d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
654             }
655             #undef PDL_IF_BAD
656             }
657 5881           return PDL_err;
658             }
659              
660              
661             #line 1857 "lib/PDL/PP.pm"
662             pdl_error pdl_index1d_writebackdata(pdl_trans *__privtrans) {
663             pdl_error PDL_err = {0, NULL, 0};
664             #line 665 "lib/PDL/Slices-pp-index1d.c"
665 3849           register PDL_Indx __m_size = __privtrans->ind_sizes[0];
666 3849 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "broadcast.incs NULL");
667             /* broadcastloop declarations */
668             int __brcloopval;
669             register PDL_Indx __tind0,__tind1; /* counters along dim */
670 3849           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
671             /* dims here are how many steps along those dims */
672 3849           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
673 3849           register PDL_Indx __tinc0_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
674 3849           register PDL_Indx __tinc0_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
675 3849           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
676 3849           register PDL_Indx __tinc1_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
677 3849           register PDL_Indx __tinc1_c = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
678             #define PDL_BROADCASTLOOP_START_index1d_writebackdata PDL_BROADCASTLOOP_START( \
679             writebackdata, \
680             __privtrans->broadcast, \
681             __privtrans->vtable, \
682             a_datap += __offsp[0]; \
683             ind_datap += __offsp[1]; \
684             c_datap += __offsp[2]; \
685             , \
686             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
687             ,ind_datap += __tinc1_ind - __tinc0_ind * __tdims0 \
688             ,c_datap += __tinc1_c - __tinc0_c * __tdims0 \
689             ), \
690             ( ,a_datap += __tinc0_a \
691             ,ind_datap += __tinc0_ind \
692             ,c_datap += __tinc0_c \
693             ) \
694             )
695             #define PDL_BROADCASTLOOP_END_index1d_writebackdata PDL_BROADCASTLOOP_END( \
696             __privtrans->broadcast, \
697             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
698             ind_datap -= __tinc1_ind * __tdims1 + __offsp[1]; \
699             c_datap -= __tinc1_c * __tdims1 + __offsp[2]; \
700             )
701 3849           register PDL_Indx __inc_a_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_n;
702 3849           register PDL_Indx __inc_c_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,2,0)]; (void)__inc_c_m;
703 3849           register PDL_Indx __inc_ind_m = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,1,0)]; (void)__inc_ind_m;
704             #ifndef PDL_DECLARE_PARAMS_index1d_1
705             #define PDL_DECLARE_PARAMS_index1d_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_ind,PDL_PPSYM_PARAM_ind) \
706             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
707             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_ind, ind, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_ind) \
708             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, c, (__privtrans->pdls[2]), 1, PDL_PPSYM_OP)
709             #endif
710 3849 50         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
711             #define PDL_BAD_CODE
712             #define PDL_IF_BAD(t,f) t
713 0           switch (__privtrans->__datatype) { /* Start generic switch */
714 0           case PDL_SB: {
715 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_SByte,A,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
716 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
717             #line 187 "lib/PDL/Slices.pd"
718             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
719             #line 188 "lib/PDL/Slices.pd"
720             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
721             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
722             /* do nothing */
723             } else,) {
724             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
725             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
726             }
727             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
728             }
729             }} /* Close m */
730             #line 731 "lib/PDL/Slices-pp-index1d.c"
731 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
732 0           } break;
733 0           case PDL_B: {
734 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Byte,B,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
735 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
736             #line 187 "lib/PDL/Slices.pd"
737             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
738             #line 188 "lib/PDL/Slices.pd"
739             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
740             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
741             /* do nothing */
742             } else,) {
743             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
744             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
745             }
746             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
747             }
748             }} /* Close m */
749             #line 750 "lib/PDL/Slices-pp-index1d.c"
750 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
751 0           } break;
752 0           case PDL_S: {
753 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Short,S,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
754 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
755             #line 187 "lib/PDL/Slices.pd"
756             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
757             #line 188 "lib/PDL/Slices.pd"
758             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
759             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
760             /* do nothing */
761             } else,) {
762             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
763             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
764             }
765             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
766             }
767             }} /* Close m */
768             #line 769 "lib/PDL/Slices-pp-index1d.c"
769 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
770 0           } break;
771 0           case PDL_US: {
772 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Ushort,U,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
773 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
774             #line 187 "lib/PDL/Slices.pd"
775             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
776             #line 188 "lib/PDL/Slices.pd"
777             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
778             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
779             /* do nothing */
780             } else,) {
781             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
782             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
783             }
784             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
785             }
786             }} /* Close m */
787             #line 788 "lib/PDL/Slices-pp-index1d.c"
788 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
789 0           } break;
790 0           case PDL_L: {
791 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Long,L,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
792 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
793             #line 187 "lib/PDL/Slices.pd"
794             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
795             #line 188 "lib/PDL/Slices.pd"
796             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
797             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
798             /* do nothing */
799             } else,) {
800             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
801             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
802             }
803             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
804             }
805             }} /* Close m */
806             #line 807 "lib/PDL/Slices-pp-index1d.c"
807 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
808 0           } break;
809 0           case PDL_UL: {
810 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULong,K,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
811 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
812             #line 187 "lib/PDL/Slices.pd"
813             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
814             #line 188 "lib/PDL/Slices.pd"
815             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
816             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
817             /* do nothing */
818             } else,) {
819             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
820             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
821             }
822             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
823             }
824             }} /* Close m */
825             #line 826 "lib/PDL/Slices-pp-index1d.c"
826 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
827 0           } break;
828 0           case PDL_IND: {
829 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
830 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
831             #line 187 "lib/PDL/Slices.pd"
832             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
833             #line 188 "lib/PDL/Slices.pd"
834             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
835             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
836             /* do nothing */
837             } else,) {
838             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
839             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
840             }
841             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
842             }
843             }} /* Close m */
844             #line 845 "lib/PDL/Slices-pp-index1d.c"
845 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
846 0           } break;
847 0           case PDL_ULL: {
848 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULongLong,P,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
849 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
850             #line 187 "lib/PDL/Slices.pd"
851             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
852             #line 188 "lib/PDL/Slices.pd"
853             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
854             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
855             /* do nothing */
856             } else,) {
857             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
858             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
859             }
860             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
861             }
862             }} /* Close m */
863             #line 864 "lib/PDL/Slices-pp-index1d.c"
864 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
865 0           } break;
866 0           case PDL_LL: {
867 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LongLong,Q,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
868 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
869             #line 187 "lib/PDL/Slices.pd"
870             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
871             #line 188 "lib/PDL/Slices.pd"
872             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
873             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
874             /* do nothing */
875             } else,) {
876             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
877             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
878             }
879             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
880             }
881             }} /* Close m */
882             #line 883 "lib/PDL/Slices-pp-index1d.c"
883 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
884 0           } break;
885 0           case PDL_F: {
886 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Float,F,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
887 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
888             #line 187 "lib/PDL/Slices.pd"
889             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
890             #line 188 "lib/PDL/Slices.pd"
891             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
892             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
893             /* do nothing */
894             } else,) {
895             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
896             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
897             }
898             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
899             }
900             }} /* Close m */
901             #line 902 "lib/PDL/Slices-pp-index1d.c"
902 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
903 0           } break;
904 0           case PDL_D: {
905 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Double,D,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
906 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
907             #line 187 "lib/PDL/Slices.pd"
908             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
909             #line 188 "lib/PDL/Slices.pd"
910             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
911             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
912             /* do nothing */
913             } else,) {
914             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
915             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
916             }
917             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
918             }
919             }} /* Close m */
920             #line 921 "lib/PDL/Slices-pp-index1d.c"
921 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
922 0           } break;
923 0           case PDL_LD: {
924 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LDouble,E,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
925 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
926             #line 187 "lib/PDL/Slices.pd"
927             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
928             #line 188 "lib/PDL/Slices.pd"
929             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
930             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
931             /* do nothing */
932             } else,) {
933             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
934             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
935             }
936             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
937             }
938             }} /* Close m */
939             #line 940 "lib/PDL/Slices-pp-index1d.c"
940 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
941 0           } break;
942 0           case PDL_CF: {
943 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CFloat,G,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
944 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
945             #line 187 "lib/PDL/Slices.pd"
946             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
947             #line 188 "lib/PDL/Slices.pd"
948             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
949             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
950             /* do nothing */
951             } else,) {
952             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
953             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
954             }
955             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
956             }
957             }} /* Close m */
958             #line 959 "lib/PDL/Slices-pp-index1d.c"
959 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
960 0           } break;
961 0           case PDL_CD: {
962 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CDouble,C,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
963 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
964             #line 187 "lib/PDL/Slices.pd"
965             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
966             #line 188 "lib/PDL/Slices.pd"
967             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
968             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
969             /* do nothing */
970             } else,) {
971             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
972             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
973             }
974             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
975             }
976             }} /* Close m */
977             #line 978 "lib/PDL/Slices-pp-index1d.c"
978 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
979 0           } break;
980 0           case PDL_CLD: {
981 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CLDouble,H,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
982 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
983             #line 187 "lib/PDL/Slices.pd"
984             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
985             #line 188 "lib/PDL/Slices.pd"
986             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
987             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
988             /* do nothing */
989             } else,) {
990             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
991             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
992             }
993             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
994             }
995             }} /* Close m */
996             #line 997 "lib/PDL/Slices-pp-index1d.c"
997 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
998 0           } break;
999 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index1d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
1000             }
1001             #undef PDL_BAD_CODE
1002             #undef PDL_IF_BAD
1003             } else { /* ** else do 'good' Code ** */
1004             #define PDL_IF_BAD(t,f) f
1005 3849           switch (__privtrans->__datatype) { /* Start generic switch */
1006 0           case PDL_SB: {
1007 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_SByte,A,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1008 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1009             #line 187 "lib/PDL/Slices.pd"
1010             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1011             #line 188 "lib/PDL/Slices.pd"
1012             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1013             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1014             /* do nothing */
1015             } else,) {
1016             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1017             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1018             }
1019             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1020             }
1021             }} /* Close m */
1022             #line 1023 "lib/PDL/Slices-pp-index1d.c"
1023 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1024 0           } break;
1025 0           case PDL_B: {
1026 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Byte,B,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1027 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1028             #line 187 "lib/PDL/Slices.pd"
1029             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1030             #line 188 "lib/PDL/Slices.pd"
1031             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1032             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1033             /* do nothing */
1034             } else,) {
1035             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1036             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1037             }
1038             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1039             }
1040             }} /* Close m */
1041             #line 1042 "lib/PDL/Slices-pp-index1d.c"
1042 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1043 0           } break;
1044 0           case PDL_S: {
1045 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Short,S,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1046 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1047             #line 187 "lib/PDL/Slices.pd"
1048             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1049             #line 188 "lib/PDL/Slices.pd"
1050             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1051             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1052             /* do nothing */
1053             } else,) {
1054             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1055             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1056             }
1057             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1058             }
1059             }} /* Close m */
1060             #line 1061 "lib/PDL/Slices-pp-index1d.c"
1061 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1062 0           } break;
1063 0           case PDL_US: {
1064 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Ushort,U,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1065 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1066             #line 187 "lib/PDL/Slices.pd"
1067             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1068             #line 188 "lib/PDL/Slices.pd"
1069             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1070             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1071             /* do nothing */
1072             } else,) {
1073             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1074             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1075             }
1076             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1077             }
1078             }} /* Close m */
1079             #line 1080 "lib/PDL/Slices-pp-index1d.c"
1080 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1081 0           } break;
1082 3840           case PDL_L: {
1083 3840 50         PDL_DECLARE_PARAMS_index1d_1(PDL_Long,L,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
1084 15360 50         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    50          
    50          
    50          
    50          
    100          
    100          
1085             #line 187 "lib/PDL/Slices.pd"
1086             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1087             #line 188 "lib/PDL/Slices.pd"
1088             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1089             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1090             /* do nothing */
1091             } else,) {
1092             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1093             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1094             }
1095             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1096             }
1097             }} /* Close m */
1098             #line 1099 "lib/PDL/Slices-pp-index1d.c"
1099 3840 50         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    50          
1100 3840           } break;
1101 0           case PDL_UL: {
1102 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULong,K,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1103 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1104             #line 187 "lib/PDL/Slices.pd"
1105             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1106             #line 188 "lib/PDL/Slices.pd"
1107             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1108             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1109             /* do nothing */
1110             } else,) {
1111             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1112             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1113             }
1114             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1115             }
1116             }} /* Close m */
1117             #line 1118 "lib/PDL/Slices-pp-index1d.c"
1118 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1119 0           } break;
1120 0           case PDL_IND: {
1121 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1122 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1123             #line 187 "lib/PDL/Slices.pd"
1124             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1125             #line 188 "lib/PDL/Slices.pd"
1126             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1127             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1128             /* do nothing */
1129             } else,) {
1130             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1131             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1132             }
1133             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1134             }
1135             }} /* Close m */
1136             #line 1137 "lib/PDL/Slices-pp-index1d.c"
1137 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1138 0           } break;
1139 0           case PDL_ULL: {
1140 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_ULongLong,P,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1141 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1142             #line 187 "lib/PDL/Slices.pd"
1143             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1144             #line 188 "lib/PDL/Slices.pd"
1145             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1146             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1147             /* do nothing */
1148             } else,) {
1149             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1150             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1151             }
1152             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1153             }
1154             }} /* Close m */
1155             #line 1156 "lib/PDL/Slices-pp-index1d.c"
1156 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1157 0           } break;
1158 0           case PDL_LL: {
1159 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LongLong,Q,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1160 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1161             #line 187 "lib/PDL/Slices.pd"
1162             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1163             #line 188 "lib/PDL/Slices.pd"
1164             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1165             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1166             /* do nothing */
1167             } else,) {
1168             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1169             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1170             }
1171             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1172             }
1173             }} /* Close m */
1174             #line 1175 "lib/PDL/Slices-pp-index1d.c"
1175 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1176 0           } break;
1177 0           case PDL_F: {
1178 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_Float,F,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1179 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1180             #line 187 "lib/PDL/Slices.pd"
1181             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1182             #line 188 "lib/PDL/Slices.pd"
1183             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1184             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1185             /* do nothing */
1186             } else,) {
1187             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1188             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1189             }
1190             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1191             }
1192             }} /* Close m */
1193             #line 1194 "lib/PDL/Slices-pp-index1d.c"
1194 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1195 0           } break;
1196 9           case PDL_D: {
1197 9 100         PDL_DECLARE_PARAMS_index1d_1(PDL_Double,D,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
1198 47 50         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    50          
    50          
    50          
    50          
    100          
    100          
1199             #line 187 "lib/PDL/Slices.pd"
1200             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1201             #line 188 "lib/PDL/Slices.pd"
1202             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1203             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1204             /* do nothing */
1205             } else,) {
1206             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1207             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1208             }
1209             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1210             }
1211             }} /* Close m */
1212             #line 1213 "lib/PDL/Slices-pp-index1d.c"
1213 9 50         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    50          
1214 9           } break;
1215 0           case PDL_LD: {
1216 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_LDouble,E,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1217 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1218             #line 187 "lib/PDL/Slices.pd"
1219             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1220             #line 188 "lib/PDL/Slices.pd"
1221             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1222             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1223             /* do nothing */
1224             } else,) {
1225             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1226             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1227             }
1228             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1229             }
1230             }} /* Close m */
1231             #line 1232 "lib/PDL/Slices-pp-index1d.c"
1232 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1233 0           } break;
1234 0           case PDL_CF: {
1235 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CFloat,G,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1236 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1237             #line 187 "lib/PDL/Slices.pd"
1238             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1239             #line 188 "lib/PDL/Slices.pd"
1240             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1241             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1242             /* do nothing */
1243             } else,) {
1244             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1245             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1246             }
1247             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1248             }
1249             }} /* Close m */
1250             #line 1251 "lib/PDL/Slices-pp-index1d.c"
1251 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1252 0           } break;
1253 0           case PDL_CD: {
1254 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CDouble,C,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1255 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1256             #line 187 "lib/PDL/Slices.pd"
1257             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1258             #line 188 "lib/PDL/Slices.pd"
1259             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1260             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1261             /* do nothing */
1262             } else,) {
1263             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1264             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1265             }
1266             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1267             }
1268             }} /* Close m */
1269             #line 1270 "lib/PDL/Slices-pp-index1d.c"
1270 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1271 0           } break;
1272 0           case PDL_CLD: {
1273 0 0         PDL_DECLARE_PARAMS_index1d_1(PDL_CLDouble,H,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
1274 0 0         PDL_BROADCASTLOOP_START_index1d_writebackdata {
    0          
    0          
    0          
    0          
    0          
    0          
1275             #line 187 "lib/PDL/Slices.pd"
1276             {/* Open m */ PDL_EXPAND2(register PDL_Indx m=0, __m_stop=(__m_size)); for(; m<__m_stop; m+=1) {
1277             #line 188 "lib/PDL/Slices.pd"
1278             PDL_Indx this_ind = (ind_datap)[0+(__inc_ind_m*(m))];
1279             PDL_IF_BAD(if( PDL_ISBAD2(this_ind,ind_badval,N,ind_badval_isnan) ) {
1280             /* do nothing */
1281             } else,) {
1282             if( this_ind<0 || this_ind >= __privtrans->ind_sizes[1] ) {
1283             return PDL->make_error(PDL_EUSERERROR, "Error in index1d:" "invalid index %"IND_FLAG" at pos %"IND_FLAG" (valid range 0..%"IND_FLAG")",this_ind,m,__privtrans->ind_sizes[1]-1);
1284             }
1285             (a_datap)[0+(__inc_a_n*(this_ind))] = (c_datap)[0+(__inc_c_m*(m))];
1286             }
1287             }} /* Close m */
1288             #line 1289 "lib/PDL/Slices-pp-index1d.c"
1289 0 0         }PDL_BROADCASTLOOP_END_index1d_writebackdata
    0          
1290 0           } break;
1291 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in index1d: unhandled datatype(%d), only handles (ABSULKNPQFDEGCH)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
1292             }
1293             #undef PDL_IF_BAD
1294             }
1295 3849           return PDL_err;
1296             }
1297              
1298             static pdl_datatypes pdl_index1d_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 };
1299             static PDL_Indx pdl_index1d_vtable_realdims[] = { 1, 1, 1 };
1300             static char *pdl_index1d_vtable_parnames[] = { "a","ind","c" };
1301             static short pdl_index1d_vtable_parflags[] = {
1302             0,
1303             PDL_PARAM_ISTYPED,
1304             PDL_PARAM_ISCREAT|PDL_PARAM_ISCREATEALWAYS|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE
1305             };
1306             static pdl_datatypes pdl_index1d_vtable_partypes[] = { -1, PDL_IND, -1 };
1307             static PDL_Indx pdl_index1d_vtable_realdims_starts[] = { 0, 1, 2 };
1308             static PDL_Indx pdl_index1d_vtable_realdims_ind_ids[] = { 1, 0, 0 };
1309             static char *pdl_index1d_vtable_indnames[] = { "m","n" };
1310             pdl_transvtable pdl_index1d_vtable = {
1311             PDL_TRANS_DO_BROADCAST|PDL_TRANS_BADPROCESS, PDL_ITRANS_TWOWAY|PDL_ITRANS_DO_DATAFLOW_ANY, pdl_index1d_vtable_gentypes, 2, 3, NULL /*CORE21*/,
1312             pdl_index1d_vtable_realdims, pdl_index1d_vtable_parnames,
1313             pdl_index1d_vtable_parflags, pdl_index1d_vtable_partypes,
1314             pdl_index1d_vtable_realdims_starts, pdl_index1d_vtable_realdims_ind_ids, 3,
1315             2, pdl_index1d_vtable_indnames,
1316             NULL, pdl_index1d_readdata, pdl_index1d_writebackdata,
1317             NULL,
1318             0,"PDL::Slices::index1d"
1319             };
1320              
1321              
1322 5881           pdl_error pdl_run_index1d(pdl *a,pdl *ind,pdl *c) {
1323 5881           pdl_error PDL_err = {0, NULL, 0};
1324 5881 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
1325 5881           pdl_trans *__privtrans = PDL->create_trans(&pdl_index1d_vtable);
1326 5881 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
1327 5881           __privtrans->pdls[0] = a;
1328 5881           __privtrans->pdls[1] = ind;
1329 5881           __privtrans->pdls[2] = c;
1330 5881 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
1331 5881 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
1332 5881           return PDL_err;
1333             }