File Coverage

lib/PDL/Ufunc-pp-minmaximum.c
Criterion Covered Total %
statement 78 531 14.6
branch 127 1704 7.4
condition n/a
subroutine n/a
pod n/a
total 205 2235 9.1


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_minmaximum_readdata(pdl_trans *__privtrans) {
25             pdl_error PDL_err = {0, NULL, 0};
26             #line 27 "lib/PDL/Ufunc-pp-minmaximum.c"
27 34           register PDL_Indx __n_size = __privtrans->ind_sizes[0];
28 34 50         if (!__privtrans->broadcast.incs) return PDL->make_error(PDL_EUSERERROR, "Error in minmaximum:" "broadcast.incs NULL");
29             /* broadcastloop declarations */
30             int __brcloopval;
31             register PDL_Indx __tind0,__tind1; /* counters along dim */
32 34           register PDL_Indx __tnpdls = __privtrans->broadcast.npdls;
33             /* dims here are how many steps along those dims */
34 34           register PDL_Indx __tinc0_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,0);
35 34           register PDL_Indx __tinc0_cmin = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,0);
36 34           register PDL_Indx __tinc0_cmax = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,0);
37 34           register PDL_Indx __tinc0_cmin_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,0);
38 34           register PDL_Indx __tinc0_cmax_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,0);
39 34           register PDL_Indx __tinc1_a = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,0,1);
40 34           register PDL_Indx __tinc1_cmin = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,1,1);
41 34           register PDL_Indx __tinc1_cmax = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,2,1);
42 34           register PDL_Indx __tinc1_cmin_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,3,1);
43 34           register PDL_Indx __tinc1_cmax_ind = PDL_BRC_INC(__privtrans->broadcast.incs,__tnpdls,4,1);
44             #define PDL_BROADCASTLOOP_START_minmaximum_readdata PDL_BROADCASTLOOP_START( \
45             readdata, \
46             __privtrans->broadcast, \
47             __privtrans->vtable, \
48             a_datap += __offsp[0]; \
49             cmin_datap += __offsp[1]; \
50             cmax_datap += __offsp[2]; \
51             cmin_ind_datap += __offsp[3]; \
52             cmax_ind_datap += __offsp[4]; \
53             , \
54             ( ,a_datap += __tinc1_a - __tinc0_a * __tdims0 \
55             ,cmin_datap += __tinc1_cmin - __tinc0_cmin * __tdims0 \
56             ,cmax_datap += __tinc1_cmax - __tinc0_cmax * __tdims0 \
57             ,cmin_ind_datap += __tinc1_cmin_ind - __tinc0_cmin_ind * __tdims0 \
58             ,cmax_ind_datap += __tinc1_cmax_ind - __tinc0_cmax_ind * __tdims0 \
59             ), \
60             ( ,a_datap += __tinc0_a \
61             ,cmin_datap += __tinc0_cmin \
62             ,cmax_datap += __tinc0_cmax \
63             ,cmin_ind_datap += __tinc0_cmin_ind \
64             ,cmax_ind_datap += __tinc0_cmax_ind \
65             ) \
66             )
67             #define PDL_BROADCASTLOOP_END_minmaximum_readdata PDL_BROADCASTLOOP_END( \
68             __privtrans->broadcast, \
69             a_datap -= __tinc1_a * __tdims1 + __offsp[0]; \
70             cmin_datap -= __tinc1_cmin * __tdims1 + __offsp[1]; \
71             cmax_datap -= __tinc1_cmax * __tdims1 + __offsp[2]; \
72             cmin_ind_datap -= __tinc1_cmin_ind * __tdims1 + __offsp[3]; \
73             cmax_ind_datap -= __tinc1_cmax_ind * __tdims1 + __offsp[4]; \
74             )
75 34           register PDL_Indx __inc_a_n = __privtrans->inc_sizes[PDL_INC_ID(__privtrans->vtable,0,0)]; (void)__inc_a_n;
76             #ifndef PDL_DECLARE_PARAMS_minmaximum_1
77             #define PDL_DECLARE_PARAMS_minmaximum_1(PDL_TYPE_OP,PDL_PPSYM_OP,PDL_TYPE_PARAM_cmin_ind,PDL_PPSYM_PARAM_cmin_ind,PDL_TYPE_PARAM_cmax_ind,PDL_PPSYM_PARAM_cmax_ind) \
78             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, a, (__privtrans->pdls[0]), 1, PDL_PPSYM_OP) \
79             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, cmin, (__privtrans->pdls[1]), 1, PDL_PPSYM_OP) \
80             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_OP, cmax, (__privtrans->pdls[2]), 1, PDL_PPSYM_OP) \
81             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_cmin_ind, cmin_ind, (__privtrans->pdls[3]), 1, PDL_PPSYM_PARAM_cmin_ind) \
82             PDL_DECLARE_PARAMETER_BADVAL(PDL_TYPE_PARAM_cmax_ind, cmax_ind, (__privtrans->pdls[4]), 1, PDL_PPSYM_PARAM_cmax_ind)
83             #endif
84 34 100         if ( __privtrans->bvalflag ) { /* ** do 'bad' Code ** */
85             #define PDL_BAD_CODE
86             #define PDL_IF_BAD(t,f) t
87 6           switch (__privtrans->__datatype) { /* Start generic switch */
88 0           case PDL_SB: {
89 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
90 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_SByte curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
91 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
92 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
93 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,A,a_badval_isnan)) continue;,)
    0          
94             if (PDL_ISNAN_A((a_datap)[0+(__inc_a_n*(n))])) continue;
95 0 0         if (!flag) {
96 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
97 0           curmin_ind = curmax_ind = n;
98 0           flag = 1;
99             } else {
100 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
101 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
102             }
103             }} /* Close n */
104 0 0         if ( !flag ) { /* Handle null ndarray */
105 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
106 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
107 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
108 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
109             } else {
110 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
111 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
112             }
113 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
114 0           } break;
115 0           case PDL_B: {
116 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
117 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Byte curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
118 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
119 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
120 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,B,a_badval_isnan)) continue;,)
    0          
121             if (PDL_ISNAN_B((a_datap)[0+(__inc_a_n*(n))])) continue;
122 0 0         if (!flag) {
123 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
124 0           curmin_ind = curmax_ind = n;
125 0           flag = 1;
126             } else {
127 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
128 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
129             }
130             }} /* Close n */
131 0 0         if ( !flag ) { /* Handle null ndarray */
132 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
133 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
134 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
135 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
136             } else {
137 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
138 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
139             }
140 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
141 0           } break;
142 0           case PDL_S: {
143 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
144 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Short curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
145 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
146 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
147 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,S,a_badval_isnan)) continue;,)
    0          
148             if (PDL_ISNAN_S((a_datap)[0+(__inc_a_n*(n))])) continue;
149 0 0         if (!flag) {
150 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
151 0           curmin_ind = curmax_ind = n;
152 0           flag = 1;
153             } else {
154 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
155 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
156             }
157             }} /* Close n */
158 0 0         if ( !flag ) { /* Handle null ndarray */
159 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
160 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
161 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
162 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
163             } else {
164 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
165 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
166             }
167 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
168 0           } break;
169 0           case PDL_US: {
170 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
171 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Ushort curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
172 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
173 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
174 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,U,a_badval_isnan)) continue;,)
    0          
175             if (PDL_ISNAN_U((a_datap)[0+(__inc_a_n*(n))])) continue;
176 0 0         if (!flag) {
177 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
178 0           curmin_ind = curmax_ind = n;
179 0           flag = 1;
180             } else {
181 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
182 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
183             }
184             }} /* Close n */
185 0 0         if ( !flag ) { /* Handle null ndarray */
186 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
187 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
188 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
189 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
190             } else {
191 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
192 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
193             }
194 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
195 0           } break;
196 0           case PDL_L: {
197 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
198 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Long curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
199 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 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,L,a_badval_isnan)) continue;,)
    0          
202             if (PDL_ISNAN_L((a_datap)[0+(__inc_a_n*(n))])) continue;
203 0 0         if (!flag) {
204 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
205 0           curmin_ind = curmax_ind = n;
206 0           flag = 1;
207             } else {
208 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
209 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
210             }
211             }} /* Close n */
212 0 0         if ( !flag ) { /* Handle null ndarray */
213 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
214 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
215 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
216 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
217             } else {
218 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
219 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
220             }
221 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
222 0           } break;
223 0           case PDL_UL: {
224 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
225 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_ULong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
226 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
227 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
228 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,K,a_badval_isnan)) continue;,)
    0          
229             if (PDL_ISNAN_K((a_datap)[0+(__inc_a_n*(n))])) continue;
230 0 0         if (!flag) {
231 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
232 0           curmin_ind = curmax_ind = n;
233 0           flag = 1;
234             } else {
235 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
236 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
237             }
238             }} /* Close n */
239 0 0         if ( !flag ) { /* Handle null ndarray */
240 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
241 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
242 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
243 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
244             } else {
245 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
246 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
247             }
248 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
249 0           } break;
250 4           case PDL_IND: {
251 4 50         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
252 18 50         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Indx curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    50          
    50          
    50          
    50          
    100          
    100          
253 6           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
254 36 100         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
255 30 50         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,N,a_badval_isnan)) continue;,)
    100          
256             if (PDL_ISNAN_N((a_datap)[0+(__inc_a_n*(n))])) continue;
257 14 100         if (!flag) {
258 6           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
259 6           curmin_ind = curmax_ind = n;
260 6           flag = 1;
261             } else {
262 8 50         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
263 8 50         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
264             }
265             }} /* Close n */
266 6 50         if ( !flag ) { /* Handle null ndarray */
267 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
268 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
269 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
270 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
271             } else {
272 6           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
273 6           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
274             }
275 4 50         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    50          
276 4           } break;
277 0           case PDL_ULL: {
278 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
279 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_ULongLong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
280 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
281 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
282 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,P,a_badval_isnan)) continue;,)
    0          
283             if (PDL_ISNAN_P((a_datap)[0+(__inc_a_n*(n))])) continue;
284 0 0         if (!flag) {
285 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
286 0           curmin_ind = curmax_ind = n;
287 0           flag = 1;
288             } else {
289 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
290 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
291             }
292             }} /* Close n */
293 0 0         if ( !flag ) { /* Handle null ndarray */
294 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
295 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
296 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
297 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
298             } else {
299 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
300 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
301             }
302 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
303 0           } break;
304 0           case PDL_LL: {
305 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
306 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_LongLong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
307 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
308 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
309 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,Q,a_badval_isnan)) continue;,)
    0          
310             if (PDL_ISNAN_Q((a_datap)[0+(__inc_a_n*(n))])) continue;
311 0 0         if (!flag) {
312 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
313 0           curmin_ind = curmax_ind = n;
314 0           flag = 1;
315             } else {
316 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
317 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
318             }
319             }} /* Close n */
320 0 0         if ( !flag ) { /* Handle null ndarray */
321 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
322 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
323 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
324 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
325             } else {
326 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
327 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
328             }
329 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
330 0           } break;
331 0           case PDL_F: {
332 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
333 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Float curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
334 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
335 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
336 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,F,a_badval_isnan)) continue;,)
    0          
337 0 0         if (PDL_ISNAN_F((a_datap)[0+(__inc_a_n*(n))])) continue;
338 0 0         if (!flag) {
339 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
340 0           curmin_ind = curmax_ind = n;
341 0           flag = 1;
342             } else {
343 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
344 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
345             }
346             }} /* Close n */
347 0 0         if ( !flag ) { /* Handle null ndarray */
348 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
349 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
350 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
351 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
352             } else {
353 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
354 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
355             }
356 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
357 0           } break;
358 2           case PDL_D: {
359 2 50         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
360 8 50         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Double curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    50          
    50          
    50          
    50          
    100          
    100          
361 2           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
362 4 100         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
363 2 50         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,D,a_badval_isnan)) continue;,)
    50          
364 0 0         if (PDL_ISNAN_D((a_datap)[0+(__inc_a_n*(n))])) continue;
365 0 0         if (!flag) {
366 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
367 0           curmin_ind = curmax_ind = n;
368 0           flag = 1;
369             } else {
370 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
371 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
372             }
373             }} /* Close n */
374 2 50         if ( !flag ) { /* Handle null ndarray */
375 2           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
376 2           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
377 2           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
378 2           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
379             } else {
380 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
381 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
382             }
383 2 50         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    50          
384 2           } break;
385 0           case PDL_LD: {
386 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
387 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_LDouble curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
388 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
389 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
390 0 0         PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,E,a_badval_isnan)) continue;,)
    0          
391 0 0         if (PDL_ISNAN_E((a_datap)[0+(__inc_a_n*(n))])) continue;
392 0 0         if (!flag) {
393 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
394 0           curmin_ind = curmax_ind = n;
395 0           flag = 1;
396             } else {
397 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
398 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
399             }
400             }} /* Close n */
401 0 0         if ( !flag ) { /* Handle null ndarray */
402 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
403 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
404 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
405 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
406             } else {
407 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
408 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
409             }
410 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
411 0           } break;
412 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in minmaximum: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
413             }
414             #undef PDL_BAD_CODE
415             #undef PDL_IF_BAD
416             } else { /* ** else do 'good' Code ** */
417             #define PDL_IF_BAD(t,f) f
418 28           switch (__privtrans->__datatype) { /* Start generic switch */
419 0           case PDL_SB: {
420 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_SByte,A,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
421 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_SByte curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
422 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
423 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
424             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,A,a_badval_isnan)) continue;,)
425             if (PDL_ISNAN_A((a_datap)[0+(__inc_a_n*(n))])) continue;
426 0 0         if (!flag) {
427 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
428 0           curmin_ind = curmax_ind = n;
429 0           flag = 1;
430             } else {
431 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
432 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
433             }
434             }} /* Close n */
435 0 0         if ( !flag ) { /* Handle null ndarray */
436 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
437 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
438 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
439 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
440             } else {
441 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
442 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
443             }
444 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
445 0           } break;
446 0           case PDL_B: {
447 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Byte,B,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
448 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Byte curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
449 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
450 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
451             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,B,a_badval_isnan)) continue;,)
452             if (PDL_ISNAN_B((a_datap)[0+(__inc_a_n*(n))])) continue;
453 0 0         if (!flag) {
454 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
455 0           curmin_ind = curmax_ind = n;
456 0           flag = 1;
457             } else {
458 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
459 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
460             }
461             }} /* Close n */
462 0 0         if ( !flag ) { /* Handle null ndarray */
463 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
464 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
465 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
466 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
467             } else {
468 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
469 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
470             }
471 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
472 0           } break;
473 0           case PDL_S: {
474 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Short,S,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
475 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Short curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
476 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
477 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
478             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,S,a_badval_isnan)) continue;,)
479             if (PDL_ISNAN_S((a_datap)[0+(__inc_a_n*(n))])) continue;
480 0 0         if (!flag) {
481 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
482 0           curmin_ind = curmax_ind = n;
483 0           flag = 1;
484             } else {
485 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
486 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
487             }
488             }} /* Close n */
489 0 0         if ( !flag ) { /* Handle null ndarray */
490 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
491 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
492 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
493 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
494             } else {
495 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
496 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
497             }
498 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
499 0           } break;
500 0           case PDL_US: {
501 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Ushort,U,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
502 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Ushort curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
503 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
504 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
505             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,U,a_badval_isnan)) continue;,)
506             if (PDL_ISNAN_U((a_datap)[0+(__inc_a_n*(n))])) continue;
507 0 0         if (!flag) {
508 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
509 0           curmin_ind = curmax_ind = n;
510 0           flag = 1;
511             } else {
512 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
513 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
514             }
515             }} /* Close n */
516 0 0         if ( !flag ) { /* Handle null ndarray */
517 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
518 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
519 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
520 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
521             } else {
522 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
523 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
524             }
525 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
526 0           } break;
527 0           case PDL_L: {
528 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Long,L,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
529 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Long curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
530 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
531 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
532             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,L,a_badval_isnan)) continue;,)
533             if (PDL_ISNAN_L((a_datap)[0+(__inc_a_n*(n))])) continue;
534 0 0         if (!flag) {
535 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
536 0           curmin_ind = curmax_ind = n;
537 0           flag = 1;
538             } else {
539 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
540 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
541             }
542             }} /* Close n */
543 0 0         if ( !flag ) { /* Handle null ndarray */
544 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
545 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
546 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
547 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
548             } else {
549 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
550 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
551             }
552 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
553 0           } break;
554 0           case PDL_UL: {
555 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_ULong,K,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
556 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_ULong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
557 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
558 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
559             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,K,a_badval_isnan)) continue;,)
560             if (PDL_ISNAN_K((a_datap)[0+(__inc_a_n*(n))])) continue;
561 0 0         if (!flag) {
562 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
563 0           curmin_ind = curmax_ind = n;
564 0           flag = 1;
565             } else {
566 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
567 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
568             }
569             }} /* Close n */
570 0 0         if ( !flag ) { /* Handle null ndarray */
571 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
572 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
573 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
574 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
575             } else {
576 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
577 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
578             }
579 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
580 0           } break;
581 0           case PDL_IND: {
582 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Indx,N,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
583 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Indx curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
584 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
585 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
586             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,N,a_badval_isnan)) continue;,)
587             if (PDL_ISNAN_N((a_datap)[0+(__inc_a_n*(n))])) continue;
588 0 0         if (!flag) {
589 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
590 0           curmin_ind = curmax_ind = n;
591 0           flag = 1;
592             } else {
593 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
594 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
595             }
596             }} /* Close n */
597 0 0         if ( !flag ) { /* Handle null ndarray */
598 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
599 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
600 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
601 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
602             } else {
603 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
604 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
605             }
606 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
607 0           } break;
608 0           case PDL_ULL: {
609 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_ULongLong,P,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
610 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_ULongLong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
611 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
612 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
613             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,P,a_badval_isnan)) continue;,)
614             if (PDL_ISNAN_P((a_datap)[0+(__inc_a_n*(n))])) continue;
615 0 0         if (!flag) {
616 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
617 0           curmin_ind = curmax_ind = n;
618 0           flag = 1;
619             } else {
620 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
621 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
622             }
623             }} /* Close n */
624 0 0         if ( !flag ) { /* Handle null ndarray */
625 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
626 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
627 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
628 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
629             } else {
630 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
631 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
632             }
633 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
634 0           } break;
635 0           case PDL_LL: {
636 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_LongLong,Q,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
637 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_LongLong curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
638 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
639 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
640             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,Q,a_badval_isnan)) continue;,)
641             if (PDL_ISNAN_Q((a_datap)[0+(__inc_a_n*(n))])) continue;
642 0 0         if (!flag) {
643 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
644 0           curmin_ind = curmax_ind = n;
645 0           flag = 1;
646             } else {
647 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
648 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
649             }
650             }} /* Close n */
651 0 0         if ( !flag ) { /* Handle null ndarray */
652 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
653 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
654 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
655 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
656             } else {
657 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
658 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
659             }
660 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
661 0           } break;
662 0           case PDL_F: {
663 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Float,F,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
664 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Float curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
665 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
666 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
667             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,F,a_badval_isnan)) continue;,)
668 0 0         if (PDL_ISNAN_F((a_datap)[0+(__inc_a_n*(n))])) continue;
669 0 0         if (!flag) {
670 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
671 0           curmin_ind = curmax_ind = n;
672 0           flag = 1;
673             } else {
674 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
675 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
676             }
677             }} /* Close n */
678 0 0         if ( !flag ) { /* Handle null ndarray */
679 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
680 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
681 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
682 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
683             } else {
684 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
685 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
686             }
687 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
688 0           } break;
689 28           case PDL_D: {
690 28 100         PDL_DECLARE_PARAMS_minmaximum_1(PDL_Double,D,PDL_Indx,N,PDL_Indx,N)
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
    50          
691 136 50         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_Double curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    50          
    50          
    50          
    50          
    100          
    100          
692 52           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
693 398 100         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
694             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,D,a_badval_isnan)) continue;,)
695 346 100         if (PDL_ISNAN_D((a_datap)[0+(__inc_a_n*(n))])) continue;
696 344 100         if (!flag) {
697 52           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
698 52           curmin_ind = curmax_ind = n;
699 52           flag = 1;
700             } else {
701 292 100         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
702 292 100         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
703             }
704             }} /* Close n */
705 52 50         if ( !flag ) { /* Handle null ndarray */
706 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
707 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
708 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
709 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
710             } else {
711 52           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
712 52           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
713             }
714 28 50         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    50          
715 28           } break;
716 0           case PDL_LD: {
717 0 0         PDL_DECLARE_PARAMS_minmaximum_1(PDL_LDouble,E,PDL_Indx,N,PDL_Indx,N)
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
718 0 0         PDL_BROADCASTLOOP_START_minmaximum_readdata {PDL_LDouble curmin = 0, curmax = 0; /* Handle null ndarray --CED */
    0          
    0          
    0          
    0          
    0          
    0          
719 0           PDL_Indx curmin_ind = 0, curmax_ind = 0; int flag = 0;
720 0 0         {/* Open n */ PDL_EXPAND2(register PDL_Indx n=0, __n_stop=(__n_size)); for(; n<__n_stop; n+=1) {
721             PDL_IF_BAD(if (PDL_ISBAD2((a_datap)[0+(__inc_a_n*(n))],a_badval,E,a_badval_isnan)) continue;,)
722 0 0         if (PDL_ISNAN_E((a_datap)[0+(__inc_a_n*(n))])) continue;
723 0 0         if (!flag) {
724 0           curmin = curmax = (a_datap)[0+(__inc_a_n*(n))];
725 0           curmin_ind = curmax_ind = n;
726 0           flag = 1;
727             } else {
728 0 0         if ((a_datap)[0+(__inc_a_n*(n))] < curmin) { curmin = (a_datap)[0+(__inc_a_n*(n))]; curmin_ind = n; }
729 0 0         if ((a_datap)[0+(__inc_a_n*(n))] > curmax) { curmax = (a_datap)[0+(__inc_a_n*(n))]; curmax_ind = n; }
730             }
731             }} /* Close n */
732 0 0         if ( !flag ) { /* Handle null ndarray */
733 0           (cmin_datap)[0]=cmin_badval; (cmin_ind_datap)[0]=cmin_ind_badval;
734 0           (cmax_datap)[0]=cmax_badval; (cmax_ind_datap)[0]=cmax_ind_badval;
735 0           __privtrans->pdls[1]->state |= PDL_BADVAL; __privtrans->pdls[3]->state |= PDL_BADVAL;
736 0           __privtrans->pdls[2]->state |= PDL_BADVAL; __privtrans->pdls[4]->state |= PDL_BADVAL;
737             } else {
738 0           (cmin_datap)[0] = curmin; (cmin_ind_datap)[0] = curmin_ind;
739 0           (cmax_datap)[0] = curmax; (cmax_ind_datap)[0] = curmax_ind;
740             }
741 0 0         }PDL_BROADCASTLOOP_END_minmaximum_readdata
    0          
742 0           } break;
743 0           default: return PDL->make_error(PDL_EUSERERROR, "PP INTERNAL ERROR in minmaximum: unhandled datatype(%d), only handles (ABSULKNPQFDE)! PLEASE MAKE A BUG REPORT\n", __privtrans->__datatype);
744             }
745             #undef PDL_IF_BAD
746             }
747 34           return PDL_err;
748             }
749              
750             static pdl_datatypes pdl_minmaximum_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 };
751             static PDL_Indx pdl_minmaximum_vtable_realdims[] = { 1, 0, 0, 0, 0 };
752             static char *pdl_minmaximum_vtable_parnames[] = { "a","cmin","cmax","cmin_ind","cmax_ind" };
753             static short pdl_minmaximum_vtable_parflags[] = {
754             0,
755             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE,
756             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISWRITE,
757             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISTYPED|PDL_PARAM_ISWRITE,
758             PDL_PARAM_ISCREAT|PDL_PARAM_ISOUT|PDL_PARAM_ISTYPED|PDL_PARAM_ISWRITE
759             };
760             static pdl_datatypes pdl_minmaximum_vtable_partypes[] = { -1, -1, -1, PDL_IND, PDL_IND };
761             static PDL_Indx pdl_minmaximum_vtable_realdims_starts[] = { 0, 1, 1, 1, 1 };
762             static PDL_Indx pdl_minmaximum_vtable_realdims_ind_ids[] = { 0 };
763             static char *pdl_minmaximum_vtable_indnames[] = { "n" };
764             pdl_transvtable pdl_minmaximum_vtable = {
765             PDL_TRANS_DO_BROADCAST|PDL_TRANS_BADPROCESS, 0, pdl_minmaximum_vtable_gentypes, 1, 5, NULL /*CORE21*/,
766             pdl_minmaximum_vtable_realdims, pdl_minmaximum_vtable_parnames,
767             pdl_minmaximum_vtable_parflags, pdl_minmaximum_vtable_partypes,
768             pdl_minmaximum_vtable_realdims_starts, pdl_minmaximum_vtable_realdims_ind_ids, 1,
769             1, pdl_minmaximum_vtable_indnames,
770             NULL, pdl_minmaximum_readdata, NULL,
771             NULL,
772             0,"PDL::Ufunc::minmaximum"
773             };
774              
775              
776 34           pdl_error pdl_run_minmaximum(pdl *a,pdl *cmin,pdl *cmax,pdl *cmin_ind,pdl *cmax_ind) {
777 34           pdl_error PDL_err = {0, NULL, 0};
778 34 50         if (!PDL) return (pdl_error){PDL_EFATAL, "PDL core struct is NULL, can't continue",0};
779 34           pdl_trans *__privtrans = PDL->create_trans(&pdl_minmaximum_vtable);
780 34 50         if (!__privtrans) return PDL->make_error_simple(PDL_EFATAL, "Couldn't create trans");
781 34           __privtrans->pdls[0] = a;
782 34           __privtrans->pdls[1] = cmin;
783 34           __privtrans->pdls[2] = cmax;
784 34           __privtrans->pdls[3] = cmin_ind;
785 34           __privtrans->pdls[4] = cmax_ind;
786 34 50         PDL_RETERROR(PDL_err, PDL->type_coerce(__privtrans));
787 34 50         PDL_RETERROR(PDL_err, PDL->make_trans_mutual(__privtrans));
788 34           return PDL_err;
789             }