File Coverage

lib/PDL/Ufunc-pp-daverage.c
Criterion Covered Total %
statement 0 324 0.0
branch 0 972 0.0
condition n/a
subroutine n/a
pod n/a
total 0 1296 0.0


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/Ufunc.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_Ufunc
21             extern Core* PDL; /* Structure hold core C functions */
22              
23             #line 1857 "lib/PDL/PP.pm"
24             pdl_error pdl_daverage_readdata(pdl_trans *__privtrans) {
25             pdl_error PDL_err = {0, NULL, 0};
26             #line 27 "lib/PDL/Ufunc-pp-daverage.c"
27 0           register PDL_Indx __n_size = __privtrans->ind_sizes[0];
28 0 0         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in daverage:" "broadcast.incs NULL");
29             /* broadcastloop declarations */
30             int __brcloopval;
31             register PDL_Indx __tind0,__tind1; /* counters along dim */
32 0           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
33             /* dims here are how many steps along those dims */
34 0           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
35 0           register PDL_Indx __tinc0_b = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
36 0           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
37 0           register PDL_Indx __tinc1_b = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
38             #define PDL_BROADCASTLOOP_START_daverage_readdata PDL_BROADCASTLOOP_START( \
39             readdata, \
40             __privtrans->broadcast, \
41             __privtrans->vtable, \
42             a_datap += __offsp[0]; \
43             b_datap += __offsp[1]; \
44             , \
45             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
46             ,b_datap += __tinc1_b - __tinc0_b * __tdims0 \
47             ), \
48             ( ,a_datap += __tinc0_a \
49             ,b_datap += __tinc0_b \
50             ) \
51             )
52             #define PDL_BROADCASTLOOP_END_daverage_readdata PDL_BROADCASTLOOP_END( \
53             __privtrans->broadcast, \
54             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
55             b_datap -= __tinc1_b * __tdims1 + __offsp[1]; \
56             )
57 0           register PDL_Indx __inc_a_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_n;
58             #ifndef PDL_DECLARE_PARAMS_daverage_1
59             #define PDL_DECLARE_PARAMS_daverage_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_b,PDL_PPSYM_PARAM_b) \
60             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
61             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_b, b, (__privtrans->pdls[1]), 1, PDL_PPSYM_PARAM_b)
62             #endif
63 0 0         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
64             #define PDL_BAD_CODE
65             #define PDL_IF_BAD(t,f) t
66 0           switch (__privtrans->__datatype) { /* Start generic switch */
67 0           case PDL_SB: {
68             #define PDL_IF_GENTYPE_INTEGER(t,f) t
69             #define PDL_IF_GENTYPE_REAL(t,f) t
70             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
71 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_SByte,A,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
72 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
73 0           PDL_Indx cnt = 0;
74 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
75 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,A,a_badval_isnan) ) continue;,)
    0          
76 0           cnt++;
77 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
78             }} /* Close n */
79 0 0         if ( !cnt ) {
80 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
81             } else
82 0           (b_datap)[0] = tmp / cnt;
83 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
84             #undef PDL_IF_GENTYPE_INTEGER
85             #undef PDL_IF_GENTYPE_REAL
86             #undef PDL_IF_GENTYPE_UNSIGNED
87 0           } break;
88 0           case PDL_B: {
89             #define PDL_IF_GENTYPE_INTEGER(t,f) t
90             #define PDL_IF_GENTYPE_REAL(t,f) t
91             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
92 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Byte,B,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
93 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
94 0           PDL_Indx cnt = 0;
95 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
96 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,B,a_badval_isnan) ) continue;,)
    0          
97 0           cnt++;
98 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
99             }} /* Close n */
100 0 0         if ( !cnt ) {
101 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
102             } else
103 0           (b_datap)[0] = tmp / cnt;
104 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
105             #undef PDL_IF_GENTYPE_INTEGER
106             #undef PDL_IF_GENTYPE_REAL
107             #undef PDL_IF_GENTYPE_UNSIGNED
108 0           } break;
109 0           case PDL_S: {
110             #define PDL_IF_GENTYPE_INTEGER(t,f) t
111             #define PDL_IF_GENTYPE_REAL(t,f) t
112             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
113 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Short,S,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
114 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
115 0           PDL_Indx cnt = 0;
116 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
117 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,S,a_badval_isnan) ) continue;,)
    0          
118 0           cnt++;
119 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
120             }} /* Close n */
121 0 0         if ( !cnt ) {
122 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
123             } else
124 0           (b_datap)[0] = tmp / cnt;
125 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
126             #undef PDL_IF_GENTYPE_INTEGER
127             #undef PDL_IF_GENTYPE_REAL
128             #undef PDL_IF_GENTYPE_UNSIGNED
129 0           } break;
130 0           case PDL_US: {
131             #define PDL_IF_GENTYPE_INTEGER(t,f) t
132             #define PDL_IF_GENTYPE_REAL(t,f) t
133             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
134 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Ushort,U,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
135 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
136 0           PDL_Indx cnt = 0;
137 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
138 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,U,a_badval_isnan) ) continue;,)
    0          
139 0           cnt++;
140 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
141             }} /* Close n */
142 0 0         if ( !cnt ) {
143 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
144             } else
145 0           (b_datap)[0] = tmp / cnt;
146 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
147             #undef PDL_IF_GENTYPE_INTEGER
148             #undef PDL_IF_GENTYPE_REAL
149             #undef PDL_IF_GENTYPE_UNSIGNED
150 0           } break;
151 0           case PDL_L: {
152             #define PDL_IF_GENTYPE_INTEGER(t,f) t
153             #define PDL_IF_GENTYPE_REAL(t,f) t
154             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
155 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Long,L,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
156 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
157 0           PDL_Indx cnt = 0;
158 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
159 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,L,a_badval_isnan) ) continue;,)
    0          
160 0           cnt++;
161 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
162             }} /* Close n */
163 0 0         if ( !cnt ) {
164 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
165             } else
166 0           (b_datap)[0] = tmp / cnt;
167 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
168             #undef PDL_IF_GENTYPE_INTEGER
169             #undef PDL_IF_GENTYPE_REAL
170             #undef PDL_IF_GENTYPE_UNSIGNED
171 0           } break;
172 0           case PDL_UL: {
173             #define PDL_IF_GENTYPE_INTEGER(t,f) t
174             #define PDL_IF_GENTYPE_REAL(t,f) t
175             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
176 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_ULong,K,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
177 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
178 0           PDL_Indx cnt = 0;
179 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
180 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,K,a_badval_isnan) ) continue;,)
    0          
181 0           cnt++;
182 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
183             }} /* Close n */
184 0 0         if ( !cnt ) {
185 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
186             } else
187 0           (b_datap)[0] = tmp / cnt;
188 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
189             #undef PDL_IF_GENTYPE_INTEGER
190             #undef PDL_IF_GENTYPE_REAL
191             #undef PDL_IF_GENTYPE_UNSIGNED
192 0           } break;
193 0           case PDL_IND: {
194             #define PDL_IF_GENTYPE_INTEGER(t,f) t
195             #define PDL_IF_GENTYPE_REAL(t,f) t
196             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
197 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Indx,N,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
198 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
199 0           PDL_Indx cnt = 0;
200 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
201 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,N,a_badval_isnan) ) continue;,)
    0          
202 0           cnt++;
203 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
204             }} /* Close n */
205 0 0         if ( !cnt ) {
206 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
207             } else
208 0           (b_datap)[0] = tmp / cnt;
209 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
210             #undef PDL_IF_GENTYPE_INTEGER
211             #undef PDL_IF_GENTYPE_REAL
212             #undef PDL_IF_GENTYPE_UNSIGNED
213 0           } break;
214 0           case PDL_ULL: {
215             #define PDL_IF_GENTYPE_INTEGER(t,f) t
216             #define PDL_IF_GENTYPE_REAL(t,f) t
217             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
218 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_ULongLong,P,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
219 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
220 0           PDL_Indx cnt = 0;
221 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
222 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,P,a_badval_isnan) ) continue;,)
    0          
223 0           cnt++;
224 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
225             }} /* Close n */
226 0 0         if ( !cnt ) {
227 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
228             } else
229 0           (b_datap)[0] = tmp / cnt;
230 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
231             #undef PDL_IF_GENTYPE_INTEGER
232             #undef PDL_IF_GENTYPE_REAL
233             #undef PDL_IF_GENTYPE_UNSIGNED
234 0           } break;
235 0           case PDL_LL: {
236             #define PDL_IF_GENTYPE_INTEGER(t,f) t
237             #define PDL_IF_GENTYPE_REAL(t,f) t
238             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
239 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_LongLong,Q,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
240 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
241 0           PDL_Indx cnt = 0;
242 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
243 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,Q,a_badval_isnan) ) continue;,)
    0          
244 0           cnt++;
245 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
246             }} /* Close n */
247 0 0         if ( !cnt ) {
248 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
249             } else
250 0           (b_datap)[0] = tmp / cnt;
251 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
252             #undef PDL_IF_GENTYPE_INTEGER
253             #undef PDL_IF_GENTYPE_REAL
254             #undef PDL_IF_GENTYPE_UNSIGNED
255 0           } break;
256 0           case PDL_F: {
257             #define PDL_IF_GENTYPE_INTEGER(t,f) f
258             #define PDL_IF_GENTYPE_REAL(t,f) t
259             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
260 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Float,F,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
261 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
262 0           PDL_Indx cnt = 0;
263 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
264 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,F,a_badval_isnan) ) continue;,)
    0          
265 0           cnt++;
266 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
267             }} /* Close n */
268 0 0         if ( !cnt ) {
269 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
270             } else
271 0           (b_datap)[0] = tmp / cnt;
272 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
273             #undef PDL_IF_GENTYPE_INTEGER
274             #undef PDL_IF_GENTYPE_REAL
275             #undef PDL_IF_GENTYPE_UNSIGNED
276 0           } break;
277 0           case PDL_D: {
278             #define PDL_IF_GENTYPE_INTEGER(t,f) f
279             #define PDL_IF_GENTYPE_REAL(t,f) t
280             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
281 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Double,D,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
282 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
283 0           PDL_Indx cnt = 0;
284 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
285 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,D,a_badval_isnan) ) continue;,)
    0          
286 0           cnt++;
287 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
288             }} /* Close n */
289 0 0         if ( !cnt ) {
290 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
291             } else
292 0           (b_datap)[0] = tmp / cnt;
293 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
294             #undef PDL_IF_GENTYPE_INTEGER
295             #undef PDL_IF_GENTYPE_REAL
296             #undef PDL_IF_GENTYPE_UNSIGNED
297 0           } break;
298 0           case PDL_LD: {
299             #define PDL_IF_GENTYPE_INTEGER(t,f) f
300             #define PDL_IF_GENTYPE_REAL(t,f) t
301             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
302 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_LDouble,E,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
303 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
304 0           PDL_Indx cnt = 0;
305 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
306 0 0         PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,E,a_badval_isnan) ) continue;,)
    0          
307 0           cnt++;
308 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
309             }} /* Close n */
310 0 0         if ( !cnt ) {
311 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
312             } else
313 0           (b_datap)[0] = tmp / cnt;
314 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
315             #undef PDL_IF_GENTYPE_INTEGER
316             #undef PDL_IF_GENTYPE_REAL
317             #undef PDL_IF_GENTYPE_UNSIGNED
318 0           } break;
319 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in daverage: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
320             }
321             #undef PDL_BAD_CODE
322             #undef PDL_IF_BAD
323             } else { /* ** else do 'good' Code ** */
324             #define PDL_IF_BAD(t,f) f
325 0           switch (__privtrans->__datatype) { /* Start generic switch */
326 0           case PDL_SB: {
327             #define PDL_IF_GENTYPE_INTEGER(t,f) t
328             #define PDL_IF_GENTYPE_REAL(t,f) t
329             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
330 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_SByte,A,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
331 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
332 0           PDL_Indx cnt = 0;
333 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
334             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,A,a_badval_isnan) ) continue;,)
335 0           cnt++;
336 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
337             }} /* Close n */
338 0 0         if ( !cnt ) {
339 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
340             } else
341 0           (b_datap)[0] = tmp / cnt;
342 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
343             #undef PDL_IF_GENTYPE_INTEGER
344             #undef PDL_IF_GENTYPE_REAL
345             #undef PDL_IF_GENTYPE_UNSIGNED
346 0           } break;
347 0           case PDL_B: {
348             #define PDL_IF_GENTYPE_INTEGER(t,f) t
349             #define PDL_IF_GENTYPE_REAL(t,f) t
350             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
351 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Byte,B,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
352 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
353 0           PDL_Indx cnt = 0;
354 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
355             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,B,a_badval_isnan) ) continue;,)
356 0           cnt++;
357 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
358             }} /* Close n */
359 0 0         if ( !cnt ) {
360 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
361             } else
362 0           (b_datap)[0] = tmp / cnt;
363 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
364             #undef PDL_IF_GENTYPE_INTEGER
365             #undef PDL_IF_GENTYPE_REAL
366             #undef PDL_IF_GENTYPE_UNSIGNED
367 0           } break;
368 0           case PDL_S: {
369             #define PDL_IF_GENTYPE_INTEGER(t,f) t
370             #define PDL_IF_GENTYPE_REAL(t,f) t
371             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
372 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Short,S,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
373 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
374 0           PDL_Indx cnt = 0;
375 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
376             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,S,a_badval_isnan) ) continue;,)
377 0           cnt++;
378 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
379             }} /* Close n */
380 0 0         if ( !cnt ) {
381 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
382             } else
383 0           (b_datap)[0] = tmp / cnt;
384 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
385             #undef PDL_IF_GENTYPE_INTEGER
386             #undef PDL_IF_GENTYPE_REAL
387             #undef PDL_IF_GENTYPE_UNSIGNED
388 0           } break;
389 0           case PDL_US: {
390             #define PDL_IF_GENTYPE_INTEGER(t,f) t
391             #define PDL_IF_GENTYPE_REAL(t,f) t
392             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
393 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Ushort,U,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
394 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
395 0           PDL_Indx cnt = 0;
396 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
397             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,U,a_badval_isnan) ) continue;,)
398 0           cnt++;
399 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
400             }} /* Close n */
401 0 0         if ( !cnt ) {
402 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
403             } else
404 0           (b_datap)[0] = tmp / cnt;
405 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
406             #undef PDL_IF_GENTYPE_INTEGER
407             #undef PDL_IF_GENTYPE_REAL
408             #undef PDL_IF_GENTYPE_UNSIGNED
409 0           } break;
410 0           case PDL_L: {
411             #define PDL_IF_GENTYPE_INTEGER(t,f) t
412             #define PDL_IF_GENTYPE_REAL(t,f) t
413             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
414 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Long,L,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
415 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
416 0           PDL_Indx cnt = 0;
417 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
418             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,L,a_badval_isnan) ) continue;,)
419 0           cnt++;
420 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
421             }} /* Close n */
422 0 0         if ( !cnt ) {
423 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
424             } else
425 0           (b_datap)[0] = tmp / cnt;
426 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
427             #undef PDL_IF_GENTYPE_INTEGER
428             #undef PDL_IF_GENTYPE_REAL
429             #undef PDL_IF_GENTYPE_UNSIGNED
430 0           } break;
431 0           case PDL_UL: {
432             #define PDL_IF_GENTYPE_INTEGER(t,f) t
433             #define PDL_IF_GENTYPE_REAL(t,f) t
434             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
435 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_ULong,K,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
436 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
437 0           PDL_Indx cnt = 0;
438 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
439             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,K,a_badval_isnan) ) continue;,)
440 0           cnt++;
441 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
442             }} /* Close n */
443 0 0         if ( !cnt ) {
444 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
445             } else
446 0           (b_datap)[0] = tmp / cnt;
447 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
448             #undef PDL_IF_GENTYPE_INTEGER
449             #undef PDL_IF_GENTYPE_REAL
450             #undef PDL_IF_GENTYPE_UNSIGNED
451 0           } break;
452 0           case PDL_IND: {
453             #define PDL_IF_GENTYPE_INTEGER(t,f) t
454             #define PDL_IF_GENTYPE_REAL(t,f) t
455             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
456 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Indx,N,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
457 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
458 0           PDL_Indx cnt = 0;
459 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
460             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,N,a_badval_isnan) ) continue;,)
461 0           cnt++;
462 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
463             }} /* Close n */
464 0 0         if ( !cnt ) {
465 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
466             } else
467 0           (b_datap)[0] = tmp / cnt;
468 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
469             #undef PDL_IF_GENTYPE_INTEGER
470             #undef PDL_IF_GENTYPE_REAL
471             #undef PDL_IF_GENTYPE_UNSIGNED
472 0           } break;
473 0           case PDL_ULL: {
474             #define PDL_IF_GENTYPE_INTEGER(t,f) t
475             #define PDL_IF_GENTYPE_REAL(t,f) t
476             #define PDL_IF_GENTYPE_UNSIGNED(t,f) t
477 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_ULongLong,P,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
478 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
479 0           PDL_Indx cnt = 0;
480 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
481             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,P,a_badval_isnan) ) continue;,)
482 0           cnt++;
483 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
484             }} /* Close n */
485 0 0         if ( !cnt ) {
486 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
487             } else
488 0           (b_datap)[0] = tmp / cnt;
489 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
490             #undef PDL_IF_GENTYPE_INTEGER
491             #undef PDL_IF_GENTYPE_REAL
492             #undef PDL_IF_GENTYPE_UNSIGNED
493 0           } break;
494 0           case PDL_LL: {
495             #define PDL_IF_GENTYPE_INTEGER(t,f) t
496             #define PDL_IF_GENTYPE_REAL(t,f) t
497             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
498 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_LongLong,Q,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
499 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
500 0           PDL_Indx cnt = 0;
501 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
502             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,Q,a_badval_isnan) ) continue;,)
503 0           cnt++;
504 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
505             }} /* Close n */
506 0 0         if ( !cnt ) {
507 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
508             } else
509 0           (b_datap)[0] = tmp / cnt;
510 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
511             #undef PDL_IF_GENTYPE_INTEGER
512             #undef PDL_IF_GENTYPE_REAL
513             #undef PDL_IF_GENTYPE_UNSIGNED
514 0           } break;
515 0           case PDL_F: {
516             #define PDL_IF_GENTYPE_INTEGER(t,f) f
517             #define PDL_IF_GENTYPE_REAL(t,f) t
518             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
519 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Float,F,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
520 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
521 0           PDL_Indx cnt = 0;
522 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
523             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,F,a_badval_isnan) ) continue;,)
524 0           cnt++;
525 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
526             }} /* Close n */
527 0 0         if ( !cnt ) {
528 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
529             } else
530 0           (b_datap)[0] = tmp / cnt;
531 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
532             #undef PDL_IF_GENTYPE_INTEGER
533             #undef PDL_IF_GENTYPE_REAL
534             #undef PDL_IF_GENTYPE_UNSIGNED
535 0           } break;
536 0           case PDL_D: {
537             #define PDL_IF_GENTYPE_INTEGER(t,f) f
538             #define PDL_IF_GENTYPE_REAL(t,f) t
539             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
540 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_Double,D,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
541 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
542 0           PDL_Indx cnt = 0;
543 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
544             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,D,a_badval_isnan) ) continue;,)
545 0           cnt++;
546 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
547             }} /* Close n */
548 0 0         if ( !cnt ) {
549 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
550             } else
551 0           (b_datap)[0] = tmp / cnt;
552 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
553             #undef PDL_IF_GENTYPE_INTEGER
554             #undef PDL_IF_GENTYPE_REAL
555             #undef PDL_IF_GENTYPE_UNSIGNED
556 0           } break;
557 0           case PDL_LD: {
558             #define PDL_IF_GENTYPE_INTEGER(t,f) f
559             #define PDL_IF_GENTYPE_REAL(t,f) t
560             #define PDL_IF_GENTYPE_UNSIGNED(t,f) f
561 0 0         PDL_DECLARE_PARAMS_daverage_1(PDL_LDouble,E,PDL_Double,D)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
562 0 0         PDL_BROADCASTLOOP_START_daverage_readdata {PDL_Double tmp = 0;
    0          
    0          
    0          
    0          
    0          
    0          
563 0           PDL_Indx cnt = 0;
564 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
565             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,E,a_badval_isnan) ) continue;,)
566 0           cnt++;
567 0           tmp += (a_datap)[0+(__inc_a_n*(n))];
568             }} /* Close n */
569 0 0         if ( !cnt ) {
570 0           PDL_IF_BAD((b_datap)[0]=b_badval, (b_datap)[0] = PDL_IF_GENTYPE_INTEGER(0,NAN));
571             } else
572 0           (b_datap)[0] = tmp / cnt;
573 0 0         }PDL_BROADCASTLOOP_END_daverage_readdata
    0          
574             #undef PDL_IF_GENTYPE_INTEGER
575             #undef PDL_IF_GENTYPE_REAL
576             #undef PDL_IF_GENTYPE_UNSIGNED
577 0           } break;
578 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in daverage: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
579             }
580             #undef PDL_IF_BAD
581             }
582 0           return PDL_err;
583             }
584              
585             static pdl_datatypes pdl_daverage_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, -1 };
586             static PDL_Indx pdl_daverage_vtable_realdims[] = { 1, 0 };
587             static char *pdl_daverage_vtable_parnames[] = { "a","b" };
588             static short pdl_daverage_vtable_parflags[] = {
589             0,
590             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISTYPED|PDL_PARAM_ISWRITE
591             };
592             static pdl_datatypes pdl_daverage_vtable_partypes[] = { -1, PDL_D };
593             static PDL_Indx pdl_daverage_vtable_realdims_starts[] = { 0, 1 };
594             static PDL_Indx pdl_daverage_vtable_realdims_ind_ids[] = { 0 };
595             static char *pdl_daverage_vtable_indnames[] = { "n" };
596             pdl_transvtable pdl_daverage_vtable = {
597             PDL_TRANS_DO_BROADCAST|PDL_TRANS_BADPROCESS, 0, pdl_daverage_vtable_gentypes, 1, 2, NULL /*CORE21*/,
598             pdl_daverage_vtable_realdims, pdl_daverage_vtable_parnames,
599             pdl_daverage_vtable_parflags, pdl_daverage_vtable_partypes,
600             pdl_daverage_vtable_realdims_starts, pdl_daverage_vtable_realdims_ind_ids, 1,
601             1, pdl_daverage_vtable_indnames,
602             NULL, pdl_daverage_readdata, NULL,
603             NULL,
604             0,"PDL::Ufunc::daverage"
605             };
606              
607              
608 0           pdl_error pdl_run_daverage(pdl *a,pdl *b) {
609 0           pdl_error PDL_err = {0, NULL, 0};
610 0 0         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
611 0           pdl_trans *__privtrans = PDL->create_trans(&pdl_daverage_vtable);
612 0 0         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
613 0           __privtrans->pdls[0] = a;
614 0           __privtrans->pdls[1] = b;
615 0 0         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
616 0 0         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
617 0           return PDL_err;
618             }