File Coverage

lib/PDL/Ops-pp-abs2.c
Criterion Covered Total %
statement 25 202 12.3
branch 27 1128 2.3
condition n/a
subroutine n/a
pod n/a
total 52 1330 3.9


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