52 xelem (i) =
static_cast<unsigned char> (a(i));
55 #if defined (HAVE_FFTW)
62 if (dim > dv.
length () || dim < 0)
68 for (
int i = 0; i < dim; i++)
72 howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany));
83 n, howmany, stride, dist);
93 if (dim > dv.
length () || dim < 0)
99 for (
int i = 0; i < dim; i++)
103 howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany));
114 n, howmany, stride, dist);
205 F77_FUNC (
zfftb, ZFFTB) (
const octave_idx_type&, Complex*, Complex*);
213 if (dim > dv.
length () || dim < 0)
220 Complex *pwsave = wsave.fortran_vec ();
226 for (
int i = 0; i < dim; i++)
230 howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany));
243 tmp[i] =
elem ((i + k*npts)*stride + j*dist);
248 retval((i + k*npts)*stride + j*dist) = tmp[i];
260 if (dim > dv.
length () || dim < 0)
267 Complex *pwsave = wsave.fortran_vec ();
273 for (
int i = 0; i < dim; i++)
277 howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany));
290 tmp[i] =
elem ((i + k*npts)*stride + j*dist);
295 retval((i + k*npts)*stride + j*dist) = tmp[i] /
296 static_cast<double> (npts);
312 for (
int i = 0; i < rank; i++)
317 Complex *pwsave = wsave.fortran_vec ();
322 howmany = (stride == 1 ? howmany :
323 (howmany > stride ? stride : howmany));
336 prow[l] = retval((l + k*npts)*stride + j*dist);
341 retval((l + k*npts)*stride + j*dist) = prow[l];
360 for (
int i = 0; i < rank; i++)
365 Complex *pwsave = wsave.fortran_vec ();
370 howmany = (stride == 1 ? howmany :
371 (howmany > stride ? stride : howmany));
384 prow[l] = retval((l + k*npts)*stride + j*dist);
389 retval((l + k*npts)*stride + j*dist) =
390 prow[l] / static_cast<double> (npts);
408 for (
int i = 0; i < rank; i++)
413 Complex *pwsave = wsave.fortran_vec ();
418 howmany = (stride == 1 ? howmany :
419 (howmany > stride ? stride : howmany));
432 prow[l] = retval((l + k*npts)*stride + j*dist);
437 retval((l + k*npts)*stride + j*dist) = prow[l];
455 for (
int i = 0; i < rank; i++)
460 Complex *pwsave = wsave.fortran_vec ();
465 howmany = (stride == 1 ? howmany :
466 (howmany > stride ? stride : howmany));
479 prow[l] = retval((l + k*npts)*stride + j*dist);
484 retval((l + k*npts)*stride + j*dist) =
485 prow[l] / static_cast<double> (npts);
593 return do_mx_red_op<bool, Complex> (*
this, dim,
mx_inline_all);
599 return do_mx_red_op<bool, Complex> (*
this, dim,
mx_inline_any);
617 return do_mx_red_op<Complex, Complex> (*
this, dim,
mx_inline_prod);
623 return do_mx_red_op<Complex, Complex> (*
this, dim,
mx_inline_sum);
629 return do_mx_red_op<Complex, Complex> (*
this, dim,
mx_inline_xsum);
641 return do_mx_diff_op<Complex> (*
this, dim, order,
mx_inline_diff);
667 retval.
insert (rb, ra_idx);
682 return do_mx_minmax_op<Complex> (*
this, idx_arg, dim,
mx_inline_max);
694 return do_mx_minmax_op<Complex> (*
this, idx_arg, dim,
mx_inline_min);
724 return do_mx_unary_map<double, Complex, std::abs> (*this);
730 return do_mx_unary_map<bool, Complex, xisnan> (*this);
736 return do_mx_unary_map<bool, Complex, xisinf> (*this);
742 return do_mx_unary_map<bool, Complex, xfinite> (*this);
748 return do_mx_unary_map<Complex, Complex, std::conj<double> > (a);
762 a_ra_idx.
elem (0) = r;
763 a_ra_idx.
elem (1) = c;
765 for (
int i = 0; i < n; i++)
767 if (a_ra_idx (i) < 0 || (a_ra_idx (i) + a_dv (i)) >
dimensions (i))
769 (*current_liboctave_error_handler)
770 (
"Array<T>::insert: range error for insert");
775 a_ra_idx.
elem (0) = 0;
776 a_ra_idx.
elem (1) = 0;
786 ra_idx.
elem (0) = a_ra_idx (0) + r;
787 ra_idx.
elem (1) = a_ra_idx (1) + c;
796 (
"Array<T>::insert: invalid indexing operation");
826 (
"invalid conversion of ComplexNDArray to ComplexMatrix");
883 tmp = octave_read_value<Complex> (is);
907 ComplexNDArray& operator *= (ComplexNDArray& a,
double s)