GNU Info

Info Node: (fftw.info)fftwnd

(fftw.info)fftwnd


Next: fftwnd_destroy_plan Prev: fftwnd_create_plan Up: Multi-dimensional Transforms Reference
Enter node , (file) or (file)node

Computing 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