File Coverage

lib/PDL/Ops-pp-_rabs.c
Criterion Covered Total %
statement 30 142 21.1
branch 47 828 5.6
condition n/a
subroutine n/a
pod n/a
total 77 970 7.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-_rabs.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__rabs_readdata(pdl_trans *__privtrans) {
53             pdl_error PDL_err = {0, NULL, 0};
54             #line 55 "lib/PDL/Ops-pp-_rabs.c"
55 262 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in _rabs:" "broadcast.incs NULL");
56             /* broadcastloop declarations */
57             int __brcloopval;
58             register PDL_Indx __tind0,__tind1; /* counters along dim */
59 262           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
60             /* dims here are how many steps along those dims */
61 262           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
62 262           register PDL_Indx __tinc0_b = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
63 262           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
64 262           register PDL_Indx __tinc1_b = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
65             #define PDL_BROADCASTLOOP_START__rabs_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__rabs_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__rabs_1
85             #define PDL_DECLARE_PARAMS__rabs_1(PDL_TYPE_OP,PDL_PPSYM_OP) \
86             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
87             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, b, (__privtrans->pdls[1]), 1, PDL_PPSYM_OP)
88             #endif
89 262 100         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
90             #define PDL_BAD_CODE
91             #define PDL_IF_BAD(t,f) t
92 1           switch (__privtrans->__datatype) { /* Start generic switch */
93 0           case PDL_SB: {
94 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_SByte,A)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
95 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
96             #line 346 "lib/PDL/Ops.pd"
97              
98             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,A,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
99            
100            
101             #line 350 "lib/PDL/Ops.pd"
102             (b_datap)[0]=PDL_ABS((a_datap)[0]);
103             #line 351 "lib/PDL/Ops.pd"
104              
105            
106             #line 107 "lib/PDL/Ops-pp-_rabs.c"
107 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
108 0           } break;
109 0           case PDL_B: {
110 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Byte,B)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
111 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
112             #line 346 "lib/PDL/Ops.pd"
113              
114             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,B,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
115            
116             (b_datap)[0]=(a_datap)[0];
117             #line 350 "lib/PDL/Ops.pd"
118            
119             #line 351 "lib/PDL/Ops.pd"
120              
121            
122             #line 123 "lib/PDL/Ops-pp-_rabs.c"
123 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
124 0           } break;
125 0           case PDL_S: {
126 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Short,S)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
127 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
128             #line 346 "lib/PDL/Ops.pd"
129              
130             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,S,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
131            
132            
133             #line 350 "lib/PDL/Ops.pd"
134             (b_datap)[0]=PDL_ABS((a_datap)[0]);
135             #line 351 "lib/PDL/Ops.pd"
136              
137            
138             #line 139 "lib/PDL/Ops-pp-_rabs.c"
139 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
140 0           } break;
141 0           case PDL_US: {
142 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Ushort,U)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
143 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
144             #line 346 "lib/PDL/Ops.pd"
145              
146             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,U,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
147            
148             (b_datap)[0]=(a_datap)[0];
149             #line 350 "lib/PDL/Ops.pd"
150            
151             #line 351 "lib/PDL/Ops.pd"
152              
153            
154             #line 155 "lib/PDL/Ops-pp-_rabs.c"
155 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
156 0           } break;
157 0           case PDL_L: {
158 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Long,L)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
159 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
160             #line 346 "lib/PDL/Ops.pd"
161              
162             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,L,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
163            
164            
165             #line 350 "lib/PDL/Ops.pd"
166             (b_datap)[0]=PDL_ABS((a_datap)[0]);
167             #line 351 "lib/PDL/Ops.pd"
168              
169            
170             #line 171 "lib/PDL/Ops-pp-_rabs.c"
171 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
172 0           } break;
173 0           case PDL_UL: {
174 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_ULong,K)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
175 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
176             #line 346 "lib/PDL/Ops.pd"
177              
178             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,K,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
179            
180             (b_datap)[0]=(a_datap)[0];
181             #line 350 "lib/PDL/Ops.pd"
182            
183             #line 351 "lib/PDL/Ops.pd"
184              
185            
186             #line 187 "lib/PDL/Ops-pp-_rabs.c"
187 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
188 0           } break;
189 0           case PDL_IND: {
190 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
191 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
192             #line 346 "lib/PDL/Ops.pd"
193              
194             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,N,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
195            
196            
197             #line 350 "lib/PDL/Ops.pd"
198             (b_datap)[0]=PDL_ABS((a_datap)[0]);
199             #line 351 "lib/PDL/Ops.pd"
200              
201            
202             #line 203 "lib/PDL/Ops-pp-_rabs.c"
203 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
204 0           } break;
205 0           case PDL_ULL: {
206 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_ULongLong,P)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
207 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
208             #line 346 "lib/PDL/Ops.pd"
209              
210             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,P,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
211            
212             (b_datap)[0]=(a_datap)[0];
213             #line 350 "lib/PDL/Ops.pd"
214            
215             #line 351 "lib/PDL/Ops.pd"
216              
217            
218             #line 219 "lib/PDL/Ops-pp-_rabs.c"
219 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
220 0           } break;
221 0           case PDL_LL: {
222 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_LongLong,Q)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
223 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
224             #line 346 "lib/PDL/Ops.pd"
225              
226             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,Q,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
227            
228            
229             #line 350 "lib/PDL/Ops.pd"
230             (b_datap)[0]=PDL_ABS((a_datap)[0]);
231             #line 351 "lib/PDL/Ops.pd"
232              
233            
234             #line 235 "lib/PDL/Ops-pp-_rabs.c"
235 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
236 0           } break;
237 0           case PDL_F: {
238 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Float,F)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
239 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
240             #line 346 "lib/PDL/Ops.pd"
241              
242             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,F,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
243            
244            
245             #line 350 "lib/PDL/Ops.pd"
246             (b_datap)[0]=PDL_ABS((a_datap)[0]);
247             #line 351 "lib/PDL/Ops.pd"
248              
249            
250             #line 251 "lib/PDL/Ops-pp-_rabs.c"
251 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
252 0           } break;
253 1           case PDL_D: {
254 1 50         PDL_DECLARE_PARAMS__rabs_1(PDL_Double,D)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
255 6 50         PDL_BROADCASTLOOP_START__rabs_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
256             #line 346 "lib/PDL/Ops.pd"
257              
258             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,D,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
259            
260            
261             #line 350 "lib/PDL/Ops.pd"
262             (b_datap)[0]=PDL_ABS((a_datap)[0]);
263             #line 351 "lib/PDL/Ops.pd"
264              
265            
266             #line 267 "lib/PDL/Ops-pp-_rabs.c"
267 1 50         }PDL_BROADCASTLOOP_END__rabs_readdata
    50          
268 1           } break;
269 0           case PDL_LD: {
270 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_LDouble,E)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
271 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
272             #line 346 "lib/PDL/Ops.pd"
273              
274             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,E,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
275            
276            
277             #line 350 "lib/PDL/Ops.pd"
278             (b_datap)[0]=PDL_ABS((a_datap)[0]);
279             #line 351 "lib/PDL/Ops.pd"
280              
281            
282             #line 283 "lib/PDL/Ops-pp-_rabs.c"
283 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
284 0           } break;
285 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in _rabs: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
286             }
287             #undef PDL_BAD_CODE
288             #undef PDL_IF_BAD
289             } else { /* ** else do 'good' Code ** */
290             #define PDL_IF_BAD(t,f) f
291 261           switch (__privtrans->__datatype) { /* Start generic switch */
292 0           case PDL_SB: {
293 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_SByte,A)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
294 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
295             #line 346 "lib/PDL/Ops.pd"
296              
297             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,A,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
298            
299            
300             #line 350 "lib/PDL/Ops.pd"
301             (b_datap)[0]=PDL_ABS((a_datap)[0]);
302             #line 351 "lib/PDL/Ops.pd"
303              
304            
305             #line 306 "lib/PDL/Ops-pp-_rabs.c"
306 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
307 0           } break;
308 0           case PDL_B: {
309 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Byte,B)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
310 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
311             #line 346 "lib/PDL/Ops.pd"
312              
313             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,B,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
314            
315             (b_datap)[0]=(a_datap)[0];
316             #line 350 "lib/PDL/Ops.pd"
317            
318             #line 351 "lib/PDL/Ops.pd"
319              
320            
321             #line 322 "lib/PDL/Ops-pp-_rabs.c"
322 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
323 0           } break;
324 0           case PDL_S: {
325 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Short,S)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
326 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
327             #line 346 "lib/PDL/Ops.pd"
328              
329             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,S,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
330            
331            
332             #line 350 "lib/PDL/Ops.pd"
333             (b_datap)[0]=PDL_ABS((a_datap)[0]);
334             #line 351 "lib/PDL/Ops.pd"
335              
336            
337             #line 338 "lib/PDL/Ops-pp-_rabs.c"
338 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
339 0           } break;
340 0           case PDL_US: {
341 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Ushort,U)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
342 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
343             #line 346 "lib/PDL/Ops.pd"
344              
345             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,U,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
346            
347             (b_datap)[0]=(a_datap)[0];
348             #line 350 "lib/PDL/Ops.pd"
349            
350             #line 351 "lib/PDL/Ops.pd"
351              
352            
353             #line 354 "lib/PDL/Ops-pp-_rabs.c"
354 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
355 0           } break;
356 0           case PDL_L: {
357 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Long,L)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
358 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
359             #line 346 "lib/PDL/Ops.pd"
360              
361             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,L,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
362            
363            
364             #line 350 "lib/PDL/Ops.pd"
365             (b_datap)[0]=PDL_ABS((a_datap)[0]);
366             #line 351 "lib/PDL/Ops.pd"
367              
368            
369             #line 370 "lib/PDL/Ops-pp-_rabs.c"
370 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
371 0           } break;
372 0           case PDL_UL: {
373 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_ULong,K)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
374 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
375             #line 346 "lib/PDL/Ops.pd"
376              
377             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,K,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
378            
379             (b_datap)[0]=(a_datap)[0];
380             #line 350 "lib/PDL/Ops.pd"
381            
382             #line 351 "lib/PDL/Ops.pd"
383              
384            
385             #line 386 "lib/PDL/Ops-pp-_rabs.c"
386 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
387 0           } break;
388 0           case PDL_IND: {
389 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
390 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
391             #line 346 "lib/PDL/Ops.pd"
392              
393             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,N,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
394            
395            
396             #line 350 "lib/PDL/Ops.pd"
397             (b_datap)[0]=PDL_ABS((a_datap)[0]);
398             #line 351 "lib/PDL/Ops.pd"
399              
400            
401             #line 402 "lib/PDL/Ops-pp-_rabs.c"
402 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
403 0           } break;
404 0           case PDL_ULL: {
405 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_ULongLong,P)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
406 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
407             #line 346 "lib/PDL/Ops.pd"
408              
409             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,P,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
410            
411             (b_datap)[0]=(a_datap)[0];
412             #line 350 "lib/PDL/Ops.pd"
413            
414             #line 351 "lib/PDL/Ops.pd"
415              
416            
417             #line 418 "lib/PDL/Ops-pp-_rabs.c"
418 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
419 0           } break;
420 0           case PDL_LL: {
421 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_LongLong,Q)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
422 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
423             #line 346 "lib/PDL/Ops.pd"
424              
425             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,Q,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
426            
427            
428             #line 350 "lib/PDL/Ops.pd"
429             (b_datap)[0]=PDL_ABS((a_datap)[0]);
430             #line 351 "lib/PDL/Ops.pd"
431              
432            
433             #line 434 "lib/PDL/Ops-pp-_rabs.c"
434 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
435 0           } break;
436 0           case PDL_F: {
437 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_Float,F)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
438 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
439             #line 346 "lib/PDL/Ops.pd"
440              
441             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,F,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
442            
443            
444             #line 350 "lib/PDL/Ops.pd"
445             (b_datap)[0]=PDL_ABS((a_datap)[0]);
446             #line 351 "lib/PDL/Ops.pd"
447              
448            
449             #line 450 "lib/PDL/Ops-pp-_rabs.c"
450 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
451 0           } break;
452 261           case PDL_D: {
453 261 100         PDL_DECLARE_PARAMS__rabs_1(PDL_Double,D)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
454 298031 50         PDL_BROADCASTLOOP_START__rabs_readdata {
    50          
    50          
    50          
    50          
    100          
    100          
455             #line 346 "lib/PDL/Ops.pd"
456              
457             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,D,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
458            
459            
460             #line 350 "lib/PDL/Ops.pd"
461             (b_datap)[0]=PDL_ABS((a_datap)[0]);
462             #line 351 "lib/PDL/Ops.pd"
463              
464            
465             #line 466 "lib/PDL/Ops-pp-_rabs.c"
466 278 50         }PDL_BROADCASTLOOP_END__rabs_readdata
    100          
467 261           } break;
468 0           case PDL_LD: {
469 0 0         PDL_DECLARE_PARAMS__rabs_1(PDL_LDouble,E)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
470 0 0         PDL_BROADCASTLOOP_START__rabs_readdata {
    0          
    0          
    0          
    0          
    0          
    0          
471             #line 346 "lib/PDL/Ops.pd"
472              
473             PDL_IF_BAD(if ( PDL_ISBAD2((a_datap)[0],a_badval,E,a_badval_isnan) ) (b_datap)[0]=b_badval; else,)
474            
475            
476             #line 350 "lib/PDL/Ops.pd"
477             (b_datap)[0]=PDL_ABS((a_datap)[0]);
478             #line 351 "lib/PDL/Ops.pd"
479              
480            
481             #line 482 "lib/PDL/Ops-pp-_rabs.c"
482 0 0         }PDL_BROADCASTLOOP_END__rabs_readdata
    0          
483 0           } break;
484 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in _rabs: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
485             }
486             #undef PDL_IF_BAD
487             }
488 262           return PDL_err;
489             }
490              
491             static pdl_datatypes pdl__rabs_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 };
492             static PDL_Indx pdl__rabs_vtable_realdims[] = { 0, 0 };
493             static char *pdl__rabs_vtable_parnames[] = { "a","b" };
494             static short pdl__rabs_vtable_parflags[] = {
495             0,
496             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE
497             };
498             static pdl_datatypes pdl__rabs_vtable_partypes[] = { -1, -1 };
499             static PDL_Indx pdl__rabs_vtable_realdims_starts[] = { 0, 0 };
500             static PDL_Indx pdl__rabs_vtable_realdims_ind_ids[] = { 0 };
501             static char *pdl__rabs_vtable_indnames[] = { "" };
502             pdl_transvtable pdl__rabs_vtable = {
503             PDL_TRANS_DO_BROADCAST|PDL_TRANS_BADPROCESS, 0, pdl__rabs_vtable_gentypes, 1, 2, NULL /*CORE21*/,
504             pdl__rabs_vtable_realdims, pdl__rabs_vtable_parnames,
505             pdl__rabs_vtable_parflags, pdl__rabs_vtable_partypes,
506             pdl__rabs_vtable_realdims_starts, pdl__rabs_vtable_realdims_ind_ids, 0,
507             0, pdl__rabs_vtable_indnames,
508             NULL, pdl__rabs_readdata, NULL,
509             NULL,
510             0,"PDL::Ops::_rabs"
511             };
512              
513              
514 262           pdl_error pdl_run__rabs(pdl *a,pdl *b) {
515 262           pdl_error PDL_err = {0, NULL, 0};
516 262 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
517 262           pdl_trans *__privtrans = PDL->create_trans(&pdl__rabs_vtable);
518 262 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
519 262           __privtrans->pdls[0] = a;
520 262           __privtrans->pdls[1] = b;
521 262 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
522 262 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
523 262           return PDL_err;
524             }