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