Mercurial > hg > octave-lyh
diff liboctave/dNDArray.cc @ 5275:23b37da9fd5b
[project @ 2005-04-08 16:07:35 by jwe]
author | jwe |
---|---|
date | Fri, 08 Apr 2005 16:07:37 +0000 |
parents | 57077d0ddc8e |
children | 4c8a2e4e0717 |
line wrap: on
line diff
--- a/liboctave/dNDArray.cc +++ b/liboctave/dNDArray.cc @@ -48,23 +48,23 @@ if (dim > dv.length () || dim < 0) return ComplexNDArray (); - int stride = 1; - int n = dv(dim); + octave_idx_type stride = 1; + octave_idx_type n = dv(dim); for (int i = 0; i < dim; i++) stride *= dv(i); - int howmany = numel () / dv (dim); + octave_idx_type howmany = numel () / dv (dim); howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / dv (dim) / stride); - int dist = (stride == 1 ? n : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / dv (dim) / stride); + octave_idx_type dist = (stride == 1 ? n : 1); const double *in (fortran_vec ()); ComplexNDArray retval (dv); Complex *out (retval.fortran_vec ()); // Need to be careful here about the distance between fft's - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) octave_fftw::fft (in + k * stride * n, out + k * stride * n, n, howmany, stride, dist); @@ -79,22 +79,22 @@ if (dim > dv.length () || dim < 0) return ComplexNDArray (); - int stride = 1; - int n = dv(dim); + octave_idx_type stride = 1; + octave_idx_type n = dv(dim); for (int i = 0; i < dim; i++) stride *= dv(i); - int howmany = numel () / dv (dim); + octave_idx_type howmany = numel () / dv (dim); howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / dv (dim) / stride); - int dist = (stride == 1 ? n : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / dv (dim) / stride); + octave_idx_type dist = (stride == 1 ? n : 1); ComplexNDArray retval (*this); Complex *out (retval.fortran_vec ()); // Need to be careful here about the distance between fft's - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) octave_fftw::ifft (out + k * stride * n, out + k * stride * n, n, howmany, stride, dist); @@ -112,10 +112,10 @@ const double *in = fortran_vec (); ComplexNDArray retval (dv); Complex *out = retval.fortran_vec (); - int howmany = numel() / dv(0) / dv(1); - int dist = dv(0) * dv(1); + octave_idx_type howmany = numel() / dv(0) / dv(1); + octave_idx_type dist = dv(0) * dv(1); - for (int i=0; i < howmany; i++) + for (octave_idx_type i=0; i < howmany; i++) octave_fftw::fftNd (in + i*dist, out + i*dist, 2, dv2); return retval; @@ -131,10 +131,10 @@ dim_vector dv2(dv(0), dv(1)); ComplexNDArray retval (*this); Complex *out = retval.fortran_vec (); - int howmany = numel() / dv(0) / dv(1); - int dist = dv(0) * dv(1); + octave_idx_type howmany = numel() / dv(0) / dv(1); + octave_idx_type dist = dv(0) * dv(1); - for (int i=0; i < howmany; i++) + for (octave_idx_type i=0; i < howmany; i++) octave_fftw::ifftNd (out + i*dist, out + i*dist, 2, dv2); return retval; @@ -181,13 +181,13 @@ // each subroutine. F77_RET_T - F77_FUNC (cffti, CFFTI) (const int&, Complex*); + F77_FUNC (cffti, CFFTI) (const octave_idx_type&, Complex*); F77_RET_T - F77_FUNC (cfftf, CFFTF) (const int&, Complex*, Complex*); + F77_FUNC (cfftf, CFFTF) (const octave_idx_type&, Complex*, Complex*); F77_RET_T - F77_FUNC (cfftb, CFFTB) (const int&, Complex*, Complex*); + F77_FUNC (cfftb, CFFTB) (const octave_idx_type&, Complex*, Complex*); } ComplexNDArray @@ -199,37 +199,37 @@ return ComplexNDArray (); ComplexNDArray retval (dv); - int npts = dv(dim); - int nn = 4*npts+15; + octave_idx_type npts = dv(dim); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); OCTAVE_LOCAL_BUFFER (Complex, tmp, npts); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < dim; i++) stride *= dv(i); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int i = 0; i < npts; i++) + for (octave_idx_type i = 0; i < npts; i++) tmp[i] = elem((i + k*npts)*stride + j*dist); F77_FUNC (cfftf, CFFTF) (npts, tmp, pwsave); - for (int i = 0; i < npts; i++) + for (octave_idx_type i = 0; i < npts; i++) retval ((i + k*npts)*stride + j*dist) = tmp[i]; } } @@ -246,37 +246,37 @@ return ComplexNDArray (); ComplexNDArray retval (dv); - int npts = dv(dim); - int nn = 4*npts+15; + octave_idx_type npts = dv(dim); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); OCTAVE_LOCAL_BUFFER (Complex, tmp, npts); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < dim; i++) stride *= dv(i); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int i = 0; i < npts; i++) + for (octave_idx_type i = 0; i < npts; i++) tmp[i] = elem((i + k*npts)*stride + j*dist); F77_FUNC (cfftb, CFFTB) (npts, tmp, pwsave); - for (int i = 0; i < npts; i++) + for (octave_idx_type i = 0; i < npts; i++) retval ((i + k*npts)*stride + j*dist) = tmp[i] / static_cast<double> (npts); } @@ -292,37 +292,37 @@ dim_vector dv2 (dv(0), dv(1)); int rank = 2; ComplexNDArray retval (*this); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < rank; i++) { - int npts = dv2(i); - int nn = 4*npts+15; + octave_idx_type npts = dv2(i); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); Array<Complex> row (npts); Complex *prow = row.fortran_vec (); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) prow[l] = retval ((l + k*npts)*stride + j*dist); F77_FUNC (cfftf, CFFTF) (npts, prow, pwsave); - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) retval ((l + k*npts)*stride + j*dist) = prow[l]; } } @@ -340,37 +340,37 @@ dim_vector dv2 (dv(0), dv(1)); int rank = 2; ComplexNDArray retval (*this); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < rank; i++) { - int npts = dv2(i); - int nn = 4*npts+15; + octave_idx_type npts = dv2(i); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); Array<Complex> row (npts); Complex *prow = row.fortran_vec (); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) prow[l] = retval ((l + k*npts)*stride + j*dist); F77_FUNC (cfftb, CFFTB) (npts, prow, pwsave); - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) retval ((l + k*npts)*stride + j*dist) = prow[l] / static_cast<double> (npts); } @@ -388,37 +388,37 @@ dim_vector dv = dims (); int rank = dv.length (); ComplexNDArray retval (*this); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < rank; i++) { - int npts = dv(i); - int nn = 4*npts+15; + octave_idx_type npts = dv(i); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); Array<Complex> row (npts); Complex *prow = row.fortran_vec (); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) prow[l] = retval ((l + k*npts)*stride + j*dist); F77_FUNC (cfftf, CFFTF) (npts, prow, pwsave); - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) retval ((l + k*npts)*stride + j*dist) = prow[l]; } } @@ -435,37 +435,37 @@ dim_vector dv = dims (); int rank = dv.length (); ComplexNDArray retval (*this); - int stride = 1; + octave_idx_type stride = 1; for (int i = 0; i < rank; i++) { - int npts = dv(i); - int nn = 4*npts+15; + octave_idx_type npts = dv(i); + octave_idx_type nn = 4*npts+15; Array<Complex> wsave (nn); Complex *pwsave = wsave.fortran_vec (); Array<Complex> row (npts); Complex *prow = row.fortran_vec (); - int howmany = numel () / npts; + octave_idx_type howmany = numel () / npts; howmany = (stride == 1 ? howmany : (howmany > stride ? stride : howmany)); - int nloop = (stride == 1 ? 1 : numel () / npts / stride); - int dist = (stride == 1 ? npts : 1); + octave_idx_type nloop = (stride == 1 ? 1 : numel () / npts / stride); + octave_idx_type dist = (stride == 1 ? npts : 1); F77_FUNC (cffti, CFFTI) (npts, pwsave); - for (int k = 0; k < nloop; k++) + for (octave_idx_type k = 0; k < nloop; k++) { - for (int j = 0; j < howmany; j++) + for (octave_idx_type j = 0; j < howmany; j++) { OCTAVE_QUIT; - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) prow[l] = retval ((l + k*npts)*stride + j*dist); F77_FUNC (cfftb, CFFTB) (npts, prow, pwsave); - for (int l = 0; l < npts; l++) + for (octave_idx_type l = 0; l < npts; l++) retval ((l + k*npts)*stride + j*dist) = prow[l] / static_cast<double> (npts); } @@ -486,7 +486,7 @@ { boolNDArray b (dims ()); - for (int i = 0; i < length (); i++) + for (octave_idx_type i = 0; i < length (); i++) b.elem (i) = ! elem (i); return b; @@ -495,17 +495,17 @@ bool NDArray::any_element_is_negative (bool neg_zero) const { - int nel = nelem (); + octave_idx_type nel = nelem (); if (neg_zero) { - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) if (lo_ieee_signbit (elem (i))) return true; } else { - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) if (elem (i) < 0) return true; } @@ -517,9 +517,9 @@ bool NDArray::any_element_is_inf_or_nan (void) const { - int nel = nelem (); + octave_idx_type nel = nelem (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { double val = elem (i); if (xisinf (val) || xisnan (val)) @@ -532,9 +532,9 @@ bool NDArray::all_elements_are_int_or_inf_or_nan (void) const { - int nel = nelem (); + octave_idx_type nel = nelem (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { double val = elem (i); if (xisnan (val) || D_NINT (val) == val) @@ -552,7 +552,7 @@ bool NDArray::all_integers (double& max_val, double& min_val) const { - int nel = nelem (); + octave_idx_type nel = nelem (); if (nel > 0) { @@ -562,7 +562,7 @@ else return false; - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { double val = elem (i); @@ -582,9 +582,9 @@ bool NDArray::too_large_for_float (void) const { - int nel = nelem (); + octave_idx_type nel = nelem (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { double val = elem (i); @@ -644,12 +644,12 @@ NDArray NDArray::max (int dim) const { - ArrayN<int> dummy_idx; + ArrayN<octave_idx_type> dummy_idx; return max (dummy_idx, dim); } NDArray -NDArray::max (ArrayN<int>& idx_arg, int dim) const +NDArray::max (ArrayN<octave_idx_type>& idx_arg, int dim) const { dim_vector dv = dims (); dim_vector dr = dims (); @@ -662,19 +662,19 @@ NDArray result (dr); idx_arg.resize (dr); - int x_stride = 1; - int x_len = dv(dim); + octave_idx_type x_stride = 1; + octave_idx_type x_len = dv(dim); for (int i = 0; i < dim; i++) x_stride *= dv(i); - for (int i = 0; i < dr.numel (); i++) + for (octave_idx_type i = 0; i < dr.numel (); i++) { - int x_offset; + octave_idx_type x_offset; if (x_stride == 1) x_offset = i * x_len; else { - int x_offset2 = 0; + octave_idx_type x_offset2 = 0; x_offset = i; while (x_offset >= x_stride) { @@ -684,7 +684,7 @@ x_offset += x_offset2 * x_stride * x_len; } - int idx_j; + octave_idx_type idx_j; double tmp_max = octave_NaN; @@ -696,7 +696,7 @@ break; } - for (int j = idx_j+1; j < x_len; j++) + for (octave_idx_type j = idx_j+1; j < x_len; j++) { double tmp = elem (j * x_stride + x_offset); @@ -719,12 +719,12 @@ NDArray NDArray::min (int dim) const { - ArrayN<int> dummy_idx; + ArrayN<octave_idx_type> dummy_idx; return min (dummy_idx, dim); } NDArray -NDArray::min (ArrayN<int>& idx_arg, int dim) const +NDArray::min (ArrayN<octave_idx_type>& idx_arg, int dim) const { dim_vector dv = dims (); dim_vector dr = dims (); @@ -737,19 +737,19 @@ NDArray result (dr); idx_arg.resize (dr); - int x_stride = 1; - int x_len = dv(dim); + octave_idx_type x_stride = 1; + octave_idx_type x_len = dv(dim); for (int i = 0; i < dim; i++) x_stride *= dv(i); - for (int i = 0; i < dr.numel (); i++) + for (octave_idx_type i = 0; i < dr.numel (); i++) { - int x_offset; + octave_idx_type x_offset; if (x_stride == 1) x_offset = i * x_len; else { - int x_offset2 = 0; + octave_idx_type x_offset2 = 0; x_offset = i; while (x_offset >= x_stride) { @@ -759,7 +759,7 @@ x_offset += x_offset2 * x_stride * x_len; } - int idx_j; + octave_idx_type idx_j; double tmp_min = octave_NaN; @@ -771,7 +771,7 @@ break; } - for (int j = idx_j+1; j < x_len; j++) + for (octave_idx_type j = idx_j+1; j < x_len; j++) { double tmp = elem (j * x_stride + x_offset); @@ -792,7 +792,7 @@ } NDArray -NDArray::concat (const NDArray& rb, const Array<int>& ra_idx) +NDArray::concat (const NDArray& rb, const Array<octave_idx_type>& ra_idx) { if (rb.numel () > 0) insert (rb, ra_idx); @@ -800,7 +800,7 @@ } ComplexNDArray -NDArray::concat (const ComplexNDArray& rb, const Array<int>& ra_idx) +NDArray::concat (const ComplexNDArray& rb, const Array<octave_idx_type>& ra_idx) { ComplexNDArray retval (*this); if (rb.numel () > 0) @@ -809,12 +809,12 @@ } charNDArray -NDArray::concat (const charNDArray& rb, const Array<int>& ra_idx) +NDArray::concat (const charNDArray& rb, const Array<octave_idx_type>& ra_idx) { charNDArray retval (dims ()); - int nel = numel (); + octave_idx_type nel = numel (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { double d = elem (i); @@ -826,7 +826,7 @@ } else { - int ival = NINT (d); + octave_idx_type ival = NINTbig (d); if (ival < 0 || ival > UCHAR_MAX) // XXX FIXME XXX -- is there something @@ -847,7 +847,7 @@ NDArray real (const ComplexNDArray& a) { - int a_len = a.length (); + octave_idx_type a_len = a.length (); NDArray retval; if (a_len > 0) retval = NDArray (mx_inline_real_dup (a.data (), a_len), a.dims ()); @@ -857,7 +857,7 @@ NDArray imag (const ComplexNDArray& a) { - int a_len = a.length (); + octave_idx_type a_len = a.length (); NDArray retval; if (a_len > 0) retval = NDArray (mx_inline_imag_dup (a.data (), a_len), a.dims ()); @@ -865,14 +865,14 @@ } NDArray& -NDArray::insert (const NDArray& a, int r, int c) +NDArray::insert (const NDArray& a, octave_idx_type r, octave_idx_type c) { Array<double>::insert (a, r, c); return *this; } NDArray& -NDArray::insert (const NDArray& a, const Array<int>& ra_idx) +NDArray::insert (const NDArray& a, const Array<octave_idx_type>& ra_idx) { Array<double>::insert (a, ra_idx); return *this; @@ -883,9 +883,9 @@ { NDArray retval (dims ()); - int nel = nelem (); + octave_idx_type nel = nelem (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) retval(i) = fabs (elem (i)); return retval; @@ -918,15 +918,15 @@ } void -NDArray::increment_index (Array<int>& ra_idx, +NDArray::increment_index (Array<octave_idx_type>& ra_idx, const dim_vector& dimensions, int start_dimension) { ::increment_index (ra_idx, dimensions, start_dimension); } -int -NDArray::compute_index (Array<int>& ra_idx, +octave_idx_type +NDArray::compute_index (Array<octave_idx_type>& ra_idx, const dim_vector& dimensions) { return ::compute_index (ra_idx, dimensions); @@ -936,9 +936,9 @@ std::ostream& operator << (std::ostream& os, const NDArray& a) { - int nel = a.nelem (); + octave_idx_type nel = a.nelem (); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { os << " "; octave_write_double (os, a.elem (i)); @@ -950,14 +950,14 @@ std::istream& operator >> (std::istream& is, NDArray& a) { - int nel = a.nelem (); + octave_idx_type nel = a.nelem (); if (nel < 1 ) is.clear (std::ios::badbit); else { double tmp; - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { tmp = octave_read_double (is); if (is) @@ -983,13 +983,13 @@ min (double d, const NDArray& m) { dim_vector dv = m.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); EMPTY_RETURN_CHECK (NDArray); NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmin (d, m (i)); @@ -1002,13 +1002,13 @@ min (const NDArray& m, double d) { dim_vector dv = m.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); EMPTY_RETURN_CHECK (NDArray); NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmin (d, m (i)); @@ -1021,7 +1021,7 @@ min (const NDArray& a, const NDArray& b) { dim_vector dv = a.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); if (dv != b.dims ()) { @@ -1034,7 +1034,7 @@ NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmin (a (i), b (i)); @@ -1047,13 +1047,13 @@ max (double d, const NDArray& m) { dim_vector dv = m.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); EMPTY_RETURN_CHECK (NDArray); NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmax (d, m (i)); @@ -1066,13 +1066,13 @@ max (const NDArray& m, double d) { dim_vector dv = m.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); EMPTY_RETURN_CHECK (NDArray); NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmax (d, m (i)); @@ -1085,7 +1085,7 @@ max (const NDArray& a, const NDArray& b) { dim_vector dv = a.dims (); - int nel = dv.numel (); + octave_idx_type nel = dv.numel (); if (dv != b.dims ()) { @@ -1098,7 +1098,7 @@ NDArray result (dv); - for (int i = 0; i < nel; i++) + for (octave_idx_type i = 0; i < nel; i++) { OCTAVE_QUIT; result (i) = xmax (a (i), b (i));