File Coverage

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