The Intel MKL FFT functions are provided with the Fortran and C interfaces. Fortran stands for Fortran 95. The FFT interface relies critically on many modern features offered in Fortran 95, which have no counterpart in FORTRAN 77.
The Fortran interface of the FFT computation functions requires one-dimensional data arrays for any dimension of FFT problem. To meet this requirement for multidimensional transforms, you can pass the address of the first column of the multidimensional data to the computation functions.
The materials presented in this section assume the availability of native complex types in C as they are specified in C9X.
You can find code examples that use FFT interface functions to compute transform results in Fourier Transform Functions Code Examples.
For most common situations, an FFT computation can be effected by four function calls. The approach adopted in Intel MKL for FFT computation uses one single data structure, the descriptor, to record flexible configuration whose parameters can be changed independently. This results in enhanced functionality and ease of use.
The descriptor data structure, when created, contains information about the length and domain of the FFT to be computed, as well as the setting of rather a large number of configuration parameters. The default settings for all of these parameters include, for example, the following:
the FFT to be computed does not have a scale factor;
there is only one set of data to be transformed;
the data is stored contiguously in memory;
the computed result overwrites (in place) the input data; etc.
Should any one of these many default settings be inappropriate, they can be changed one-at-a-time through the function DftiSetValue as illustrated in the Example "Changing Default Settings (Fortran)" and Example "Changing Default Settings (C)".
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.