Copyright (C) 2000-2012 |
GNU Info (fftw.info)fftwndComputing the Multi-dimensional Transform ----------------------------------------- #include <fftw.h> void fftwnd(fftwnd_plan plan, int howmany, fftw_complex *in, int istride, int idist, fftw_complex *out, int ostride, int odist); void fftwnd_one(fftwnd_plan p, fftw_complex *in, fftw_complex *out); The function `fftwnd' computes one or more multi-dimensional Fourier Transforms, using a plan created by `fftwnd_create_plan' (Note: Plan Creation for Multi-dimensional Transforms.). (Note that the plan determines the rank and dimensions of the array to be transformed.) The function `fftwnd_one' provides a simplified interface for the common case of single input array of stride 1. Arguments ......... * `plan' is the plan created by `fftwnd_create_plan'. (Note: Plan Creation for Multi-dimensional Transforms.). In the case of two and three-dimensional transforms, it could also have been created by `fftw2d_create_plan' or `fftw3d_create_plan', respectively. * `howmany' is the number of multi-dimensional transforms `fftwnd' will compute. * `in', `istride' and `idist' describe the input array(s). There are `howmany' multi-dimensional input arrays; the first one is pointed to by `in', the second one is pointed to by `in + idist', and so on, up to `in + (howmany - 1) * idist'. Each multi-dimensional input array consists of complex numbers (Note: Data Types.), stored in row-major format (Note: Multi-dimensional Array Format.), which are not necessarily contiguous in memory. Specifically, `in[0]' is the first element of the first array, `in[istride]' is the second element of the first array, and so on. In general, the `i'-th element of the `j'-th input array will be in position `in[i * istride + j * idist]'. Note that, here, `i' refers to an index into the row-major format for the multi-dimensional array, rather than an index in any particular dimension. - *In-place transforms*: For plans created with the `FFTW_IN_PLACE' option, the transform is computed in-place--the output is returned in the `in' array, using the same strides, etcetera, as were used in the input. * `out', `ostride' and `odist' describe the output array(s). The format is the same as for the input array. - *In-place transforms*: These parameters are ignored for plans created with the `FFTW_IN_PLACE' option. The function `fftwnd_one' transforms a single, contiguous input array to a contiguous output array. By definition, the call fftwnd_one(plan, in, out) is equivalent to fftwnd(plan, 1, in, 1, 1, out, 1, 1) automatically generated by info2www version 1.2.2.9 |