Mercurial > octave
diff liboctave/numeric/oct-fftw.cc @ 29572:aef11bb4e6d1
use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
Files affected: make_int.cc, file-editor-tab.cc, octave-qscintilla.cc,
Cell.cc, Cell.h, call-stack.cc, call-stack.h, cellfun.cc, data.cc,
debug.cc, dlmread.cc, error.cc, event-queue.h, fcn-info.cc,
fcn-info.h, file-io.cc, ft-text-renderer.cc, gl2ps-print.cc,
graphics.cc, graphics.in.h, help.cc, hex2num.cc, input.cc,
latex-text-renderer.cc, load-path.cc, load-save.cc, load-save.h,
ls-hdf5.cc, ls-mat-ascii.cc, ls-mat5.cc, ls-oct-text.cc, mex.cc,
mexproto.h, mxarray.h, oct-map.cc, oct-stream.cc, oct-stream.h,
pager.cc, pager.h, pr-output.cc, regexp.cc, settings.h,
stack-frame.cc, stack-frame.h, strfns.cc, syminfo.cc, symrec.h,
symscope.cc, symscope.h, symtab.cc, sysdep.cc, toplev.cc, utils.cc,
utils.h, variables.cc, __fltk_uigetfile__.cc, __init_fltk__.cc,
audioread.cc, gzip.cc, cdef-class.cc, cdef-manager.cc, cdef-method.cc,
cdef-object.cc, cdef-object.h, ov-base-diag.cc, ov-base-diag.h,
ov-base-mat.cc, ov-base-mat.h, ov-base-scalar.cc, ov-base-scalar.h,
ov-base-sparse.h, ov-base.cc, ov-base.h, ov-cell.cc, ov-cell.h,
ov-ch-mat.cc, ov-class.cc, ov-class.h, ov-classdef.cc,
ov-fcn-handle.cc, ov-java.cc, ov-lazy-idx.h, ov-perm.cc, ov-perm.h,
ov-range.h, ov-str-mat.cc, ov-struct.cc, ov-struct.h, ov-usr-fcn.cc,
ov-usr-fcn.h, ov.cc, ov.h, ovl.cc, octave.cc, bp-table.cc, jit-ir.cc,
jit-ir.h, jit-typeinfo.cc, jit-typeinfo.h, jit-util.h, lex.h, lex.ll,
oct-lvalue.cc, oct-parse.yy, parse.h, profiler.h, pt-eval.cc,
pt-eval.h, pt-jit.cc, pt-jit.h, pt-pr-code.cc, pt-tm-const.cc,
pt-tm-const.h, Array.h, CMatrix.cc, DiagArray2.h, PermMatrix.h,
Sparse.h, dMatrix.cc, fCMatrix.cc, fMatrix.cc, bsxfun-defs.cc,
oct-fftw.cc, oct-fftw.h, randpoisson.cc, sparse-chol.cc,
mx-inlines.cc, file-ops.cc, lo-sysdep.cc, oct-env.cc, oct-time.cc,
action-container.cc, action-container.h, base-list.h, caseless-str.h,
cmd-edit.cc, cmd-hist.cc, data-conv.cc, data-conv.h, f77-fcn.h,
file-info.cc, file-info.h, kpse.cc, kpse.h, lo-cutils.h, lo-hash.h,
lo-regexp.cc, oct-base64.cc, oct-base64.h, oct-binmap.h, oct-glob.cc,
oct-shlib.cc, oct-shlib.h, oct-sort.cc, oct-sparse.h, oct-string.cc,
quit.cc, unwind-prot.h, url-transfer.cc, main.in.cc, mkoctfile.in.cc,
and shared-fcns.h.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 28 Apr 2021 22:57:42 -0400 |
parents | 0a5b15007766 |
children | eb10871a5882 |
line wrap: on
line diff
--- a/liboctave/numeric/oct-fftw.cc Wed Apr 28 22:24:21 2021 -0400 +++ b/liboctave/numeric/oct-fftw.cc Wed Apr 28 22:57:42 2021 -0400 @@ -141,7 +141,7 @@ } #define CHECK_SIMD_ALIGNMENT(x) \ - (((reinterpret_cast<ptrdiff_t> (x)) & 0xF) == 0) + (((reinterpret_cast<std::ptrdiff_t> (x)) & 0xF) == 0) void * fftw_planner::do_create_plan (int dir, const int rank, @@ -241,8 +241,8 @@ // Create matrix with the same size and 16-byte alignment as input OCTAVE_LOCAL_BUFFER (Complex, itmp, nn * howmany + 32); itmp = reinterpret_cast<Complex *> - (((reinterpret_cast<ptrdiff_t> (itmp) + 15) & ~ 0xF) + - ((reinterpret_cast<ptrdiff_t> (in)) & 0xF)); + (((reinterpret_cast<std::ptrdiff_t> (itmp) + 15) & ~ 0xF) + + ((reinterpret_cast<std::ptrdiff_t> (in)) & 0xF)); *cur_plan_p = fftw_plan_many_dft (rank, tmp, howmany, @@ -360,8 +360,8 @@ // Create matrix with the same size and 16-byte alignment as input OCTAVE_LOCAL_BUFFER (double, itmp, nn + 32); itmp = reinterpret_cast<double *> - (((reinterpret_cast<ptrdiff_t> (itmp) + 15) & ~ 0xF) + - ((reinterpret_cast<ptrdiff_t> (in)) & 0xF)); + (((reinterpret_cast<std::ptrdiff_t> (itmp) + 15) & ~ 0xF) + + ((reinterpret_cast<std::ptrdiff_t> (in)) & 0xF)); *cur_plan_p = fftw_plan_many_dft_r2c (rank, tmp, howmany, itmp, @@ -593,8 +593,8 @@ // Create matrix with the same size and 16-byte alignment as input OCTAVE_LOCAL_BUFFER (FloatComplex, itmp, nn * howmany + 32); itmp = reinterpret_cast<FloatComplex *> - (((reinterpret_cast<ptrdiff_t> (itmp) + 15) & ~ 0xF) + - ((reinterpret_cast<ptrdiff_t> (in)) & 0xF)); + (((reinterpret_cast<std::ptrdiff_t> (itmp) + 15) & ~ 0xF) + + ((reinterpret_cast<std::ptrdiff_t> (in)) & 0xF)); *cur_plan_p = fftwf_plan_many_dft (rank, tmp, howmany, @@ -712,8 +712,8 @@ // Create matrix with the same size and 16-byte alignment as input OCTAVE_LOCAL_BUFFER (float, itmp, nn + 32); itmp = reinterpret_cast<float *> - (((reinterpret_cast<ptrdiff_t> (itmp) + 15) & ~ 0xF) + - ((reinterpret_cast<ptrdiff_t> (in)) & 0xF)); + (((reinterpret_cast<std::ptrdiff_t> (itmp) + 15) & ~ 0xF) + + ((reinterpret_cast<std::ptrdiff_t> (in)) & 0xF)); *cur_plan_p = fftwf_plan_many_dft_r2c (rank, tmp, howmany, itmp, @@ -771,15 +771,15 @@ template <typename T> static inline void - convert_packcomplex_1d (T *out, size_t nr, size_t nc, + convert_packcomplex_1d (T *out, std::size_t nr, std::size_t nc, octave_idx_type stride, octave_idx_type dist) { octave_quit (); // Fill in the missing data. - for (size_t i = 0; i < nr; i++) - for (size_t j = nc/2+1; j < nc; j++) + for (std::size_t i = 0; i < nr; i++) + for (std::size_t j = nc/2+1; j < nc; j++) out[j*stride + i*dist] = conj (out[(nc - j)*stride + i*dist]); octave_quit (); @@ -789,21 +789,21 @@ static inline void convert_packcomplex_Nd (T *out, const dim_vector& dv) { - size_t nc = dv(0); - size_t nr = dv(1); - size_t np = (dv.ndims () > 2 ? dv.numel () / nc / nr : 1); - size_t nrp = nr * np; + std::size_t nc = dv(0); + std::size_t nr = dv(1); + std::size_t np = (dv.ndims () > 2 ? dv.numel () / nc / nr : 1); + std::size_t nrp = nr * np; T *ptr1, *ptr2; octave_quit (); // Create space for the missing elements. - for (size_t i = 0; i < nrp; i++) + for (std::size_t i = 0; i < nrp; i++) { ptr1 = out + i * (nc/2 + 1) + nrp*((nc-1)/2); ptr2 = out + i * nc; - for (size_t j = 0; j < nc/2+1; j++) + for (std::size_t j = 0; j < nc/2+1; j++) *ptr2++ = *ptr1++; } @@ -811,13 +811,13 @@ // Fill in the missing data for the rank = 2 case directly for speed. - for (size_t i = 0; i < np; i++) + for (std::size_t i = 0; i < np; i++) { - for (size_t j = 1; j < nr; j++) - for (size_t k = nc/2+1; k < nc; k++) + for (std::size_t j = 1; j < nr; j++) + for (std::size_t k = nc/2+1; k < nc; k++) out[k + (j + i*nr)*nc] = conj (out[nc - k + ((i+1)*nr - j)*nc]); - for (size_t j = nc/2+1; j < nc; j++) + for (std::size_t j = nc/2+1; j < nc; j++) out[j + i*nr*nc] = conj (out[(i*nr+1)*nc - j]); } @@ -825,18 +825,18 @@ // Now do the permutations needed for rank > 2 cases. - size_t jstart = dv(0) * dv(1); - size_t kstep = dv(0); - size_t nel = dv.numel (); + std::size_t jstart = dv(0) * dv(1); + std::size_t kstep = dv(0); + std::size_t nel = dv.numel (); for (int inner = 2; inner < dv.ndims (); inner++) { - size_t jmax = jstart * dv(inner); - for (size_t i = 0; i < nel; i+=jmax) - for (size_t j = jstart, jj = jmax-jstart; j < jj; + std::size_t jmax = jstart * dv(inner); + for (std::size_t i = 0; i < nel; i+=jmax) + for (std::size_t j = jstart, jj = jmax-jstart; j < jj; j+=jstart, jj-=jstart) - for (size_t k = 0; k < jstart; k+= kstep) - for (size_t l = nc/2+1; l < nc; l++) + for (std::size_t k = 0; k < jstart; k+= kstep) + for (std::size_t l = nc/2+1; l < nc; l++) { T tmp = out[i+ j + k + l]; out[i + j + k + l] = out[i + jj + k + l]; @@ -849,8 +849,8 @@ } int - fftw::fft (const double *in, Complex *out, size_t npts, - size_t nsamples, octave_idx_type stride, octave_idx_type dist) + fftw::fft (const double *in, Complex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -870,8 +870,8 @@ } int - fftw::fft (const Complex *in, Complex *out, size_t npts, - size_t nsamples, octave_idx_type stride, octave_idx_type dist) + fftw::fft (const Complex *in, Complex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -889,8 +889,8 @@ } int - fftw::ifft (const Complex *in, Complex *out, size_t npts, - size_t nsamples, octave_idx_type stride, + fftw::ifft (const Complex *in, Complex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -905,8 +905,8 @@ reinterpret_cast<fftw_complex *> (out)); const Complex scale = npts; - for (size_t j = 0; j < nsamples; j++) - for (size_t i = 0; i < npts; i++) + for (std::size_t j = 0; j < nsamples; j++) + for (std::size_t i = 0; i < npts; i++) out[i*stride + j*dist] /= scale; return 0; @@ -974,17 +974,17 @@ reinterpret_cast<fftw_complex *> (const_cast<Complex *>(in)), reinterpret_cast<fftw_complex *> (out)); - const size_t npts = dv.numel (); + const std::size_t npts = dv.numel (); const Complex scale = npts; - for (size_t i = 0; i < npts; i++) + for (std::size_t i = 0; i < npts; i++) out[i] /= scale; return 0; } int - fftw::fft (const float *in, FloatComplex *out, size_t npts, - size_t nsamples, octave_idx_type stride, octave_idx_type dist) + fftw::fft (const float *in, FloatComplex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -1004,8 +1004,8 @@ } int - fftw::fft (const FloatComplex *in, FloatComplex *out, size_t npts, - size_t nsamples, octave_idx_type stride, octave_idx_type dist) + fftw::fft (const FloatComplex *in, FloatComplex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -1023,8 +1023,8 @@ } int - fftw::ifft (const FloatComplex *in, FloatComplex *out, size_t npts, - size_t nsamples, octave_idx_type stride, + fftw::ifft (const FloatComplex *in, FloatComplex *out, std::size_t npts, + std::size_t nsamples, octave_idx_type stride, octave_idx_type dist) { dist = (dist < 0 ? npts : dist); @@ -1040,8 +1040,8 @@ reinterpret_cast<fftwf_complex *> (out)); const FloatComplex scale = npts; - for (size_t j = 0; j < nsamples; j++) - for (size_t i = 0; i < npts; i++) + for (std::size_t j = 0; j < nsamples; j++) + for (std::size_t i = 0; i < npts; i++) out[i*stride + j*dist] /= scale; return 0; @@ -1109,9 +1109,9 @@ reinterpret_cast<fftwf_complex *> (const_cast<FloatComplex *>(in)), reinterpret_cast<fftwf_complex *> (out)); - const size_t npts = dv.numel (); + const std::size_t npts = dv.numel (); const FloatComplex scale = npts; - for (size_t i = 0; i < npts; i++) + for (std::size_t i = 0; i < npts; i++) out[i] /= scale; return 0;