comparison main/fixed/src/fixedCNDArray.cc @ 9481:d84d2fea3c90 octave-forge

Re-enable compilation of fixed package
author jordigh
date Wed, 22 Feb 2012 22:07:33 +0000
parents 0924c374b60d
children
comparison
equal deleted inserted replaced
9480:954f2f00d782 9481:d84d2fea3c90
43 43
44 #include "fixed-inline.cc" 44 #include "fixed-inline.cc"
45 45
46 // Fixed Point Complex Matrix class. 46 // Fixed Point Complex Matrix class.
47 47
48 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 48 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
49 const MArrayN<int> &ds) 49 const MArray<int> &ds)
50 : MArrayN<FixedPointComplex> (is.dims()) 50 : MArray<FixedPointComplex> (is.dims())
51 { 51 {
52 if (dims () != ds.dims ()) { 52 if (dims () != ds.dims ()) {
53 (*current_liboctave_error_handler) ("NDArray size mismatch"); 53 (*current_liboctave_error_handler) ("NDArray size mismatch");
54 return; 54 return;
55 } 55 }
58 elem (i) = FixedPointComplex((unsigned int)is(i), (unsigned int)ds(i)); 58 elem (i) = FixedPointComplex((unsigned int)is(i), (unsigned int)ds(i));
59 } 59 }
60 60
61 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 61 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
62 const NDArray &ds) 62 const NDArray &ds)
63 : MArrayN<FixedPointComplex> (is.dims()) 63 : MArray<FixedPointComplex> (is.dims())
64 { 64 {
65 if (dims () != ds.dims ()) { 65 if (dims () != ds.dims ()) {
66 (*current_liboctave_error_handler) ("NDArray size mismatch"); 66 (*current_liboctave_error_handler) ("NDArray size mismatch");
67 return; 67 return;
68 } 68 }
71 elem (i) = FixedPointComplex((unsigned int)is(i), (unsigned int)ds(i)); 71 elem (i) = FixedPointComplex((unsigned int)is(i), (unsigned int)ds(i));
72 } 72 }
73 73
74 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 74 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
75 const ComplexNDArray &ds) 75 const ComplexNDArray &ds)
76 : MArrayN<FixedPointComplex> (is.dims()) 76 : MArray<FixedPointComplex> (is.dims())
77 { 77 {
78 if (dims () != ds.dims ()) { 78 if (dims () != ds.dims ()) {
79 (*current_liboctave_error_handler) ("NDArray size mismatch"); 79 (*current_liboctave_error_handler) ("NDArray size mismatch");
80 return; 80 return;
81 } 81 }
85 } 85 }
86 86
87 FixedComplexNDArray::FixedComplexNDArray (unsigned int is, 87 FixedComplexNDArray::FixedComplexNDArray (unsigned int is,
88 unsigned int ds, 88 unsigned int ds,
89 const FixedComplexNDArray& a) 89 const FixedComplexNDArray& a)
90 : MArrayN<FixedPointComplex> (a.dims()) 90 : MArray<FixedPointComplex> (a.dims())
91 { 91 {
92 for (int i = 0; i < nelem (); i++) 92 for (int i = 0; i < nelem (); i++)
93 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 93 elem (i) = FixedPointComplex(is, ds, a.elem (i));
94 } 94 }
95 95
96 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds, 96 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds,
97 const FixedComplexNDArray& a) 97 const FixedComplexNDArray& a)
98 : MArrayN<FixedPointComplex> (a.dims()) 98 : MArray<FixedPointComplex> (a.dims())
99 { 99 {
100 for (int i = 0; i < nelem (); i++) 100 for (int i = 0; i < nelem (); i++)
101 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 101 elem (i) = FixedPointComplex(is, ds, a.elem (i));
102 } 102 }
103 103
104 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 104 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
105 const MArrayN<int> &ds, 105 const MArray<int> &ds,
106 const FixedComplexNDArray& a) 106 const FixedComplexNDArray& a)
107 : MArrayN<FixedPointComplex> (a.dims()) 107 : MArray<FixedPointComplex> (a.dims())
108 { 108 {
109 if ((dims() != is.dims()) || (dims() != ds.dims())) { 109 if ((dims() != is.dims()) || (dims() != ds.dims())) {
110 (*current_liboctave_error_handler) ("NDArray size mismatch"); 110 (*current_liboctave_error_handler) ("NDArray size mismatch");
111 return; 111 return;
112 } 112 }
117 } 117 }
118 118
119 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 119 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
120 const NDArray &ds, 120 const NDArray &ds,
121 const FixedComplexNDArray& a) 121 const FixedComplexNDArray& a)
122 : MArrayN<FixedPointComplex> (a.dims()) 122 : MArray<FixedPointComplex> (a.dims())
123 { 123 {
124 if ((dims() != is.dims()) || (dims() != ds.dims())) { 124 if ((dims() != is.dims()) || (dims() != ds.dims())) {
125 (*current_liboctave_error_handler) ("NDArray size mismatch"); 125 (*current_liboctave_error_handler) ("NDArray size mismatch");
126 return; 126 return;
127 } 127 }
132 } 132 }
133 133
134 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 134 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
135 const ComplexNDArray &ds, 135 const ComplexNDArray &ds,
136 const FixedComplexNDArray& a) 136 const FixedComplexNDArray& a)
137 : MArrayN<FixedPointComplex> (a.dims()) 137 : MArray<FixedPointComplex> (a.dims())
138 { 138 {
139 if ((dims() != is.dims()) || (dims() != ds.dims())) { 139 if ((dims() != is.dims()) || (dims() != ds.dims())) {
140 (*current_liboctave_error_handler) ("NDArray size mismatch"); 140 (*current_liboctave_error_handler) ("NDArray size mismatch");
141 return; 141 return;
142 } 142 }
146 } 146 }
147 147
148 FixedComplexNDArray::FixedComplexNDArray (unsigned int is, 148 FixedComplexNDArray::FixedComplexNDArray (unsigned int is,
149 unsigned int ds, 149 unsigned int ds,
150 const FixedNDArray& a) 150 const FixedNDArray& a)
151 : MArrayN<FixedPointComplex> (a.dims()) 151 : MArray<FixedPointComplex> (a.dims())
152 { 152 {
153 for (int i = 0; i < nelem (); i++) 153 for (int i = 0; i < nelem (); i++)
154 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 154 elem (i) = FixedPointComplex(is, ds, a.elem (i));
155 } 155 }
156 156
157 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds, 157 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds,
158 const FixedNDArray& a) 158 const FixedNDArray& a)
159 : MArrayN<FixedPointComplex> (a.dims()) 159 : MArray<FixedPointComplex> (a.dims())
160 { 160 {
161 for (int i = 0; i < nelem (); i++) 161 for (int i = 0; i < nelem (); i++)
162 elem (i) = FixedPointComplex(is, ds, FixedPointComplex(a.elem (i))); 162 elem (i) = FixedPointComplex(is, ds, FixedPointComplex(a.elem (i)));
163 } 163 }
164 164
165 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 165 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
166 const MArrayN<int> &ds, 166 const MArray<int> &ds,
167 const FixedNDArray& a) 167 const FixedNDArray& a)
168 : MArrayN<FixedPointComplex> (a.dims()) 168 : MArray<FixedPointComplex> (a.dims())
169 { 169 {
170 if ((dims() != is.dims()) || (dims() != ds.dims())) { 170 if ((dims() != is.dims()) || (dims() != ds.dims())) {
171 (*current_liboctave_error_handler) ("NDArray size mismatch"); 171 (*current_liboctave_error_handler) ("NDArray size mismatch");
172 return; 172 return;
173 } 173 }
178 } 178 }
179 179
180 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 180 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
181 const NDArray &ds, 181 const NDArray &ds,
182 const FixedNDArray& a) 182 const FixedNDArray& a)
183 : MArrayN<FixedPointComplex> (a.dims()) 183 : MArray<FixedPointComplex> (a.dims())
184 { 184 {
185 if ((dims() != is.dims()) || (dims() != ds.dims())) { 185 if ((dims() != is.dims()) || (dims() != ds.dims())) {
186 (*current_liboctave_error_handler) ("NDArray size mismatch"); 186 (*current_liboctave_error_handler) ("NDArray size mismatch");
187 return; 187 return;
188 } 188 }
193 } 193 }
194 194
195 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 195 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
196 const ComplexNDArray &ds, 196 const ComplexNDArray &ds,
197 const FixedNDArray& a) 197 const FixedNDArray& a)
198 : MArrayN<FixedPointComplex> (a.dims()) 198 : MArray<FixedPointComplex> (a.dims())
199 { 199 {
200 if ((dims() != is.dims()) || (dims() != ds.dims())) { 200 if ((dims() != is.dims()) || (dims() != ds.dims())) {
201 (*current_liboctave_error_handler) ("NDArray size mismatch"); 201 (*current_liboctave_error_handler) ("NDArray size mismatch");
202 return; 202 return;
203 } 203 }
207 } 207 }
208 208
209 FixedComplexNDArray::FixedComplexNDArray (unsigned int is, 209 FixedComplexNDArray::FixedComplexNDArray (unsigned int is,
210 unsigned int ds, 210 unsigned int ds,
211 const ComplexNDArray& a) 211 const ComplexNDArray& a)
212 : MArrayN<FixedPointComplex> (a.dims()) 212 : MArray<FixedPointComplex> (a.dims())
213 { 213 {
214 for (int i = 0; i < nelem (); i++) 214 for (int i = 0; i < nelem (); i++)
215 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 215 elem (i) = FixedPointComplex(is, ds, a.elem (i));
216 } 216 }
217 217
218 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds, 218 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds,
219 const ComplexNDArray& a) 219 const ComplexNDArray& a)
220 : MArrayN<FixedPointComplex> (a.dims()) 220 : MArray<FixedPointComplex> (a.dims())
221 { 221 {
222 for (int i = 0; i < nelem (); i++) 222 for (int i = 0; i < nelem (); i++)
223 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 223 elem (i) = FixedPointComplex(is, ds, a.elem (i));
224 } 224 }
225 225
226 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 226 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
227 const MArrayN<int> &ds, 227 const MArray<int> &ds,
228 const ComplexNDArray& a) 228 const ComplexNDArray& a)
229 : MArrayN<FixedPointComplex> (a.dims()) 229 : MArray<FixedPointComplex> (a.dims())
230 { 230 {
231 if ((dims() != is.dims()) || (dims() != ds.dims())) { 231 if ((dims() != is.dims()) || (dims() != ds.dims())) {
232 (*current_liboctave_error_handler) ("NDArray size mismatch"); 232 (*current_liboctave_error_handler) ("NDArray size mismatch");
233 return; 233 return;
234 } 234 }
239 } 239 }
240 240
241 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 241 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
242 const NDArray &ds, 242 const NDArray &ds,
243 const ComplexNDArray& a) 243 const ComplexNDArray& a)
244 : MArrayN<FixedPointComplex> (a.dims()) 244 : MArray<FixedPointComplex> (a.dims())
245 { 245 {
246 if ((dims() != is.dims()) || (dims() != ds.dims())) { 246 if ((dims() != is.dims()) || (dims() != ds.dims())) {
247 (*current_liboctave_error_handler) ("NDArray size mismatch"); 247 (*current_liboctave_error_handler) ("NDArray size mismatch");
248 return; 248 return;
249 } 249 }
254 } 254 }
255 255
256 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 256 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
257 const ComplexNDArray &ds, 257 const ComplexNDArray &ds,
258 const ComplexNDArray& a) 258 const ComplexNDArray& a)
259 : MArrayN<FixedPointComplex> (a.dims()) 259 : MArray<FixedPointComplex> (a.dims())
260 { 260 {
261 if ((dims() != is.dims()) || (dims() != ds.dims())) { 261 if ((dims() != is.dims()) || (dims() != ds.dims())) {
262 (*current_liboctave_error_handler) ("NDArray size mismatch"); 262 (*current_liboctave_error_handler) ("NDArray size mismatch");
263 return; 263 return;
264 } 264 }
268 } 268 }
269 269
270 FixedComplexNDArray::FixedComplexNDArray (unsigned int is, 270 FixedComplexNDArray::FixedComplexNDArray (unsigned int is,
271 unsigned int ds, 271 unsigned int ds,
272 const NDArray& a) 272 const NDArray& a)
273 : MArrayN<FixedPointComplex> (a.dims()) 273 : MArray<FixedPointComplex> (a.dims())
274 { 274 {
275 for (int i = 0; i < nelem (); i++) 275 for (int i = 0; i < nelem (); i++)
276 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 276 elem (i) = FixedPointComplex(is, ds, a.elem (i));
277 } 277 }
278 278
279 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds, 279 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds,
280 const NDArray& a) 280 const NDArray& a)
281 : MArrayN<FixedPointComplex> (a.dims()) 281 : MArray<FixedPointComplex> (a.dims())
282 { 282 {
283 for (int i = 0; i < nelem (); i++) 283 for (int i = 0; i < nelem (); i++)
284 elem (i) = FixedPointComplex(is, ds, a.elem (i)); 284 elem (i) = FixedPointComplex(is, ds, a.elem (i));
285 } 285 }
286 286
287 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 287 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
288 const MArrayN<int> &ds, 288 const MArray<int> &ds,
289 const NDArray& a) 289 const NDArray& a)
290 : MArrayN<FixedPointComplex> (a.dims()) 290 : MArray<FixedPointComplex> (a.dims())
291 { 291 {
292 if ((dims() != is.dims()) || (dims() != ds.dims())) { 292 if ((dims() != is.dims()) || (dims() != ds.dims())) {
293 (*current_liboctave_error_handler) ("NDArray size mismatch"); 293 (*current_liboctave_error_handler) ("NDArray size mismatch");
294 return; 294 return;
295 } 295 }
300 } 300 }
301 301
302 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 302 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
303 const NDArray &ds, 303 const NDArray &ds,
304 const NDArray& a) 304 const NDArray& a)
305 : MArrayN<FixedPointComplex> (a.dims()) 305 : MArray<FixedPointComplex> (a.dims())
306 { 306 {
307 if ((dims() != is.dims()) || (dims() != ds.dims())) { 307 if ((dims() != is.dims()) || (dims() != ds.dims())) {
308 (*current_liboctave_error_handler) ("NDArray size mismatch"); 308 (*current_liboctave_error_handler) ("NDArray size mismatch");
309 return; 309 return;
310 } 310 }
315 } 315 }
316 316
317 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 317 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
318 const ComplexNDArray &ds, 318 const ComplexNDArray &ds,
319 const NDArray& a) 319 const NDArray& a)
320 : MArrayN<FixedPointComplex> (a.dims()) 320 : MArray<FixedPointComplex> (a.dims())
321 { 321 {
322 if ((dims() != is.dims()) || (dims() != ds.dims())) { 322 if ((dims() != is.dims()) || (dims() != ds.dims())) {
323 (*current_liboctave_error_handler) ("NDArray size mismatch"); 323 (*current_liboctave_error_handler) ("NDArray size mismatch");
324 return; 324 return;
325 } 325 }
330 330
331 FixedComplexNDArray::FixedComplexNDArray (unsigned int is, 331 FixedComplexNDArray::FixedComplexNDArray (unsigned int is,
332 unsigned int ds, 332 unsigned int ds,
333 const ComplexNDArray& a, 333 const ComplexNDArray& a,
334 const ComplexNDArray& b) 334 const ComplexNDArray& b)
335 : MArrayN<FixedPointComplex> (a.dims()) 335 : MArray<FixedPointComplex> (a.dims())
336 { 336 {
337 if (dims() != b.dims()) { 337 if (dims() != b.dims()) {
338 (*current_liboctave_error_handler) ("NDArray size mismatch"); 338 (*current_liboctave_error_handler) ("NDArray size mismatch");
339 return; 339 return;
340 } 340 }
344 } 344 }
345 345
346 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds, 346 FixedComplexNDArray::FixedComplexNDArray (Complex is, Complex ds,
347 const ComplexNDArray& a, 347 const ComplexNDArray& a,
348 const ComplexNDArray& b) 348 const ComplexNDArray& b)
349 : MArrayN<FixedPointComplex> (a.dims()) 349 : MArray<FixedPointComplex> (a.dims())
350 { 350 {
351 if (dims() != b.dims()) { 351 if (dims() != b.dims()) {
352 (*current_liboctave_error_handler) ("NDArray size mismatch"); 352 (*current_liboctave_error_handler) ("NDArray size mismatch");
353 return; 353 return;
354 } 354 }
355 355
356 for (int i = 0; i < nelem (); i++) 356 for (int i = 0; i < nelem (); i++)
357 elem (i) = FixedPointComplex(is, ds, a.elem (i), b.elem (i)); 357 elem (i) = FixedPointComplex(is, ds, a.elem (i), b.elem (i));
358 } 358 }
359 359
360 FixedComplexNDArray::FixedComplexNDArray (const MArrayN<int> &is, 360 FixedComplexNDArray::FixedComplexNDArray (const MArray<int> &is,
361 const MArrayN<int> &ds, 361 const MArray<int> &ds,
362 const ComplexNDArray& a, 362 const ComplexNDArray& a,
363 const ComplexNDArray& b) 363 const ComplexNDArray& b)
364 : MArrayN<FixedPointComplex> (a.dims()) 364 : MArray<FixedPointComplex> (a.dims())
365 { 365 {
366 if ((dims() != b.dims()) || (dims() != is.dims()) 366 if ((dims() != b.dims()) || (dims() != is.dims())
367 || (dims() != ds.dims())) { 367 || (dims() != ds.dims())) {
368 (*current_liboctave_error_handler) ("NDArray size mismatch"); 368 (*current_liboctave_error_handler) ("NDArray size mismatch");
369 return; 369 return;
375 375
376 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is, 376 FixedComplexNDArray::FixedComplexNDArray (const NDArray &is,
377 const NDArray &ds, 377 const NDArray &ds,
378 const ComplexNDArray& a, 378 const ComplexNDArray& a,
379 const ComplexNDArray& b) 379 const ComplexNDArray& b)
380 : MArrayN<FixedPointComplex> (a.dims()) 380 : MArray<FixedPointComplex> (a.dims())
381 { 381 {
382 if ((dims() != b.dims()) || (dims() != is.dims()) 382 if ((dims() != b.dims()) || (dims() != is.dims())
383 || (dims() != ds.dims())) { 383 || (dims() != ds.dims())) {
384 (*current_liboctave_error_handler) ("NDArray size mismatch"); 384 (*current_liboctave_error_handler) ("NDArray size mismatch");
385 return; 385 return;
392 } 392 }
393 393
394 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is, 394 FixedComplexNDArray::FixedComplexNDArray (const ComplexNDArray &is,
395 const ComplexNDArray &ds, const ComplexNDArray& a, 395 const ComplexNDArray &ds, const ComplexNDArray& a,
396 const ComplexNDArray& b) 396 const ComplexNDArray& b)
397 : MArrayN<FixedPointComplex> (a.dims()) 397 : MArray<FixedPointComplex> (a.dims())
398 { 398 {
399 if ((dims() != b.dims()) || (dims() != is.dims()) 399 if ((dims() != b.dims()) || (dims() != is.dims())
400 || (dims() != ds.dims())) { 400 || (dims() != ds.dims())) {
401 (*current_liboctave_error_handler) ("NDArray size mismatch"); 401 (*current_liboctave_error_handler) ("NDArray size mismatch");
402 return; 402 return;
405 for (int i = 0; i < nelem (); i++) 405 for (int i = 0; i < nelem (); i++)
406 elem (i) = FixedPointComplex(is (i), ds (i), a.elem (i), b.elem (i)); 406 elem (i) = FixedPointComplex(is (i), ds (i), a.elem (i), b.elem (i));
407 } 407 }
408 408
409 FixedComplexNDArray::FixedComplexNDArray (const FixedNDArray& m) 409 FixedComplexNDArray::FixedComplexNDArray (const FixedNDArray& m)
410 : MArrayN<FixedPointComplex> (m.dims (), FixedPointComplex()) 410 : MArray<FixedPointComplex> (m.dims (), FixedPointComplex())
411 { 411 {
412 for (int i = 0; i < nelem (); i++) 412 for (int i = 0; i < nelem (); i++)
413 elem (i) = FixedPointComplex(m.elem (i)); 413 elem (i) = FixedPointComplex(m.elem (i));
414 } 414 }
415 415
416 FixedComplexNDArray::FixedComplexNDArray (const FixedNDArray& a, 416 FixedComplexNDArray::FixedComplexNDArray (const FixedNDArray& a,
417 const FixedNDArray& b) 417 const FixedNDArray& b)
418 : MArrayN<FixedPointComplex> (a.dims (), FixedPointComplex()) 418 : MArray<FixedPointComplex> (a.dims (), FixedPointComplex())
419 { 419 {
420 if (dims() != b.dims()) { 420 if (dims() != b.dims()) {
421 (*current_liboctave_error_handler) ("NDArray size mismatch"); 421 (*current_liboctave_error_handler) ("NDArray size mismatch");
422 return; 422 return;
423 } 423 }
574 } 574 }
575 575
576 boolNDArray 576 boolNDArray
577 FixedComplexNDArray::all (octave_idx_type dim) const 577 FixedComplexNDArray::all (octave_idx_type dim) const
578 { 578 {
579 return do_mx_red_op<boolNDArray> (*this, dim, mx_inline_all); 579 return do_mx_red_op<bool, FixedPointComplex> (*this, dim, mx_inline_all);
580 } 580 }
581 581
582 boolNDArray 582 boolNDArray
583 FixedComplexNDArray::any (octave_idx_type dim) const 583 FixedComplexNDArray::any (octave_idx_type dim) const
584 { 584 {
585 return do_mx_red_op<boolNDArray> (*this, dim, mx_inline_any); 585 return do_mx_red_op<bool, FixedPointComplex> (*this, dim, mx_inline_any);
586 } 586 }
587 587
588 FixedComplexNDArray 588 FixedComplexNDArray
589 FixedComplexNDArray::cumprod (octave_idx_type dim) const 589 FixedComplexNDArray::cumprod (octave_idx_type dim) const
590 { 590 {
591 return do_mx_cum_op<FixedComplexNDArray> (*this, dim, mx_inline_cumprod); 591 return do_mx_cum_op<FixedPointComplex, FixedPointComplex> (*this, dim, mx_inline_cumprod);
592 } 592 }
593 593
594 FixedComplexNDArray 594 FixedComplexNDArray
595 FixedComplexNDArray::cumsum (octave_idx_type dim) const 595 FixedComplexNDArray::cumsum (octave_idx_type dim) const
596 { 596 {
597 return do_mx_cum_op<FixedComplexNDArray> (*this, dim, mx_inline_cumsum); 597 return do_mx_cum_op<FixedPointComplex, FixedPointComplex> (*this, dim, mx_inline_cumsum);
598 } 598 }
599 599
600 FixedComplexNDArray 600 FixedComplexNDArray
601 FixedComplexNDArray::prod (octave_idx_type dim) const 601 FixedComplexNDArray::prod (octave_idx_type dim) const
602 { 602 {
603 return do_mx_red_op<FixedComplexNDArray> (*this, dim, mx_inline_prod); 603 return do_mx_red_op<FixedPointComplex, FixedPointComplex> (*this, dim, mx_inline_prod);
604 } 604 }
605 605
606 FixedComplexNDArray 606 FixedComplexNDArray
607 FixedComplexNDArray::sum (octave_idx_type dim) const 607 FixedComplexNDArray::sum (octave_idx_type dim) const
608 { 608 {
609 return do_mx_red_op<FixedComplexNDArray> (*this, dim, mx_inline_sum); 609 return do_mx_red_op<FixedPointComplex, FixedPointComplex> (*this, dim, mx_inline_sum);
610 } 610 }
611 611
612 FixedComplexNDArray 612 FixedComplexNDArray
613 FixedComplexNDArray::sumsq (octave_idx_type dim) const 613 FixedComplexNDArray::sumsq (octave_idx_type dim) const
614 { 614 {
615 return do_mx_red_op<FixedComplexNDArray> (*this, dim, mx_inline_sumsq); 615 return do_mx_red_op<FixedPointComplex, FixedPointComplex> (*this, dim, mx_inline_sumsq);
616 } 616 }
617 617
618 FixedNDArray 618 FixedNDArray
619 FixedComplexNDArray::abs (void) const 619 FixedComplexNDArray::abs (void) const
620 { 620 {
706 return retval; 706 return retval;
707 } 707 }
708 708
709 FixedComplexNDArray elem_pow (const FixedComplexNDArray &a, const FixedPointComplex &b) 709 FixedComplexNDArray elem_pow (const FixedComplexNDArray &a, const FixedPointComplex &b)
710 { 710 {
711 return elem_pow (a, FixedComplexNDArray(dim_vector(1), b)); 711 return elem_pow (a, FixedComplexNDArray(dim_vector (1, 1), b));
712 } 712 }
713 713
714 FixedComplexNDArray elem_pow (const FixedPointComplex &a, const FixedComplexNDArray &b) 714 FixedComplexNDArray elem_pow (const FixedPointComplex &a, const FixedComplexNDArray &b)
715 { 715 {
716 return elem_pow (FixedComplexNDArray(dim_vector(1), a), b); 716 return elem_pow (FixedComplexNDArray(dim_vector (1, 1), a), b);
717 } 717 }
718 718
719 FixedComplexNDArray 719 FixedComplexNDArray
720 FixedComplexNDArray::max (octave_idx_type dim) const 720 FixedComplexNDArray::max (octave_idx_type dim) const
721 { 721 {
722 ArrayN<octave_idx_type> dummy_idx; 722 Array<octave_idx_type> dummy_idx;
723 return max (dummy_idx, dim); 723 return max (dummy_idx, dim);
724 } 724 }
725 725
726 FixedComplexNDArray 726 FixedComplexNDArray
727 FixedComplexNDArray::max (ArrayN<octave_idx_type>& idx_arg, octave_idx_type dim) const 727 FixedComplexNDArray::max (Array<octave_idx_type>& idx_arg, octave_idx_type dim) const
728 { 728 {
729 dim_vector dv = dims (); 729 dim_vector dv = dims ();
730 dim_vector dr = dims (); 730 dim_vector dr = dims ();
731 731
732 if (dv.numel () == 0 || dim > dv.length () || dim < 0) 732 if (dv.numel () == 0 || dim > dv.length () || dim < 0)
784 } 784 }
785 785
786 FixedComplexNDArray 786 FixedComplexNDArray
787 FixedComplexNDArray::min (octave_idx_type dim) const 787 FixedComplexNDArray::min (octave_idx_type dim) const
788 { 788 {
789 ArrayN<octave_idx_type> dummy_idx; 789 Array<octave_idx_type> dummy_idx;
790 return min (dummy_idx, dim); 790 return min (dummy_idx, dim);
791 } 791 }
792 792
793 FixedComplexNDArray 793 FixedComplexNDArray
794 FixedComplexNDArray::min (ArrayN<octave_idx_type>& idx_arg, octave_idx_type dim) const 794 FixedComplexNDArray::min (Array<octave_idx_type>& idx_arg, octave_idx_type dim) const
795 { 795 {
796 dim_vector dv = dims (); 796 dim_vector dv = dims ();
797 dim_vector dr = dims (); 797 dim_vector dr = dims ();
798 798
799 if (dv.numel () == 0 || dim > dv.length () || dim < 0) 799 if (dv.numel () == 0 || dim > dv.length () || dim < 0)
858 octave_idx_type nd = ndims (); 858 octave_idx_type nd = ndims ();
859 859
860 switch (nd) 860 switch (nd)
861 { 861 {
862 case 1: 862 case 1:
863 retval = FixedComplexMatrix (Array2<FixedPointComplex> 863 retval = FixedComplexMatrix (Array<FixedPointComplex>
864 (*this, dimensions(0), 1)); 864 (*this, dim_vector (dimensions(0), 1)));
865 break; 865 break;
866 866
867 case 2: 867 case 2:
868 retval = FixedComplexMatrix (Array2<FixedPointComplex> 868 retval = FixedComplexMatrix (Array<FixedPointComplex>
869 (*this, dimensions(0), dimensions(1))); 869 (*this, dim_vector (dimensions(0), dimensions(1))));
870 break; 870 break;
871 871
872 default: 872 default:
873 (*current_liboctave_error_handler) 873 (*current_liboctave_error_handler)
874 ("invalid conversion of FixedComplexNDArray to FixedComplexMatrix"); 874 ("invalid conversion of FixedComplexNDArray to FixedComplexMatrix");
1092 } 1092 }
1093 1093
1094 return result; 1094 return result;
1095 } 1095 }
1096 1096
1097 NDS_CMP_OPS(FixedComplexNDArray, real, FixedPointComplex, real) 1097 NDS_CMP_OPS(FixedComplexNDArray, FixedPointComplex)
1098 NDS_BOOL_OPS(FixedComplexNDArray, FixedPointComplex, FixedPointComplex()) 1098 NDS_BOOL_OPS(FixedComplexNDArray, FixedPointComplex)
1099 1099
1100 SND_CMP_OPS(FixedPointComplex, real, FixedComplexNDArray, real) 1100 SND_CMP_OPS(FixedPointComplex, FixedComplexNDArray)
1101 SND_BOOL_OPS(FixedPointComplex, FixedComplexNDArray, FixedPointComplex()) 1101 SND_BOOL_OPS(FixedPointComplex, FixedComplexNDArray)
1102 1102
1103 NDND_CMP_OPS(FixedComplexNDArray, real, FixedComplexNDArray, real) 1103 NDND_CMP_OPS(FixedComplexNDArray, FixedComplexNDArray)
1104 NDND_BOOL_OPS(FixedComplexNDArray, FixedComplexNDArray, FixedPointComplex()) 1104 NDND_BOOL_OPS(FixedComplexNDArray, FixedComplexNDArray)
1105 1105
1106 /* 1106 /*
1107 ;;; Local Variables: *** 1107 ;;; Local Variables: ***
1108 ;;; mode: C++ *** 1108 ;;; mode: C++ ***
1109 ;;; End: *** 1109 ;;; End: ***