cannam@127: cannam@127: cannam@127: cannam@127: cannam@127:
cannam@127:cannam@127: Next: Advanced Real-to-real Transforms, Previous: Advanced Complex DFTs, Up: Advanced Interface [Contents][Index]
cannam@127:fftw_plan fftw_plan_many_dft_r2c(int rank, const int *n, int howmany, cannam@127: double *in, const int *inembed, cannam@127: int istride, int idist, cannam@127: fftw_complex *out, const int *onembed, cannam@127: int ostride, int odist, cannam@127: unsigned flags); cannam@127: fftw_plan fftw_plan_many_dft_c2r(int rank, const int *n, int howmany, cannam@127: fftw_complex *in, const int *inembed, cannam@127: int istride, int idist, cannam@127: double *out, const int *onembed, cannam@127: int ostride, int odist, cannam@127: unsigned flags); cannam@127:
Like fftw_plan_many_dft, these two functions add howmany,
cannam@127: nembed, stride, and dist parameters to the
cannam@127: fftw_plan_dft_r2c and fftw_plan_dft_c2r functions, but
cannam@127: otherwise behave the same as the basic interface.
cannam@127: 
The interpretation of howmany, stride, and dist are
cannam@127: the same as for fftw_plan_many_dft, above.  Note that the
cannam@127: stride and dist for the real array are in units of
cannam@127: double, and for the complex array are in units of
cannam@127: fftw_complex.
cannam@127: 
If an nembed parameter is NULL, it is interpreted as what
cannam@127: it would be in the basic interface, as described in Real-data DFT Array Format.  That is, for the complex array the size is assumed to be
cannam@127: the same as n, but with the last dimension cut roughly in half.
cannam@127: For the real array, the size is assumed to be n if the transform
cannam@127: is out-of-place, or n with the last dimension “padded” if the
cannam@127: transform is in-place.
cannam@127: 
If an nembed parameter is non-NULL, it is interpreted as
cannam@127: the physical size of the corresponding array, in row-major order, just
cannam@127: as for fftw_plan_many_dft.  In this case, each dimension of
cannam@127: nembed should be >= what it would be in the basic
cannam@127: interface (e.g. the halved or padded n).
cannam@127: 
Arrays n, inembed, and onembed are not used after
cannam@127: this function returns.  You can safely free or reuse them.
cannam@127: 
cannam@127: Next: Advanced Real-to-real Transforms, Previous: Advanced Complex DFTs, Up: Advanced Interface [Contents][Index]
cannam@127: