Documentation
|
|
C interface for Fast Fourier Transform. More...
| afError | af_fft_S (dim3 dim_O, cfloat *d_O, dim3 dim_I, const float *d_I, unsigned batch, int dim, int direction) |
| Single precision, One dimensional fft along dimension. More... | |
| afError | af_fft_C (dim3 dim_O, cfloat *d_O, dim3 dim_I, const cfloat *d_I, unsigned batch, int dim, int direction) |
| Complex, Single precision, One dimensional fft along dimension. More... | |
| afError | af_fft_D (dim3 dim_O, cdouble *d_O, dim3 dim_I, const double *d_I, unsigned batch, int dim, int direction) |
| Double precision, One dimensional fft along dimension. More... | |
| afError | af_fft_Z (dim3 dim_O, cdouble *d_O, dim3 dim_I, const cdouble *d_I, unsigned batch, int dim, int direction) |
| Complex, Double precision, One dimensional fft along dimension. More... | |
| afError | af_fft2_S (unsigned xo, unsigned yo, cfloat *d_O, unsigned xi, unsigned yi, const float *d_I, unsigned batch, int direction) |
| Single precision, two dimensional fft. More... | |
| afError | af_fft2_C (unsigned xo, unsigned yo, cfloat *d_O, unsigned xi, unsigned yi, const cfloat *d_I, unsigned batch, int direction) |
| Complex, Single precision, two dimensional fft. More... | |
| afError | af_fft2_D (unsigned xo, unsigned yo, cdouble *d_O, unsigned xi, unsigned yi, const double *d_I, unsigned batch, int direction) |
| Double precision, two dimensional fft. More... | |
| afError | af_fft2_Z (unsigned xo, unsigned yo, cdouble *d_O, unsigned xi, unsigned yi, const cdouble *d_I, unsigned batch, int direction) |
| Complex, Double precision, two dimensional fft. More... | |
| afError | af_fft3_S (dim3 dims_O, cfloat *d_O, dim3 dims_I, const float *d_I, unsigned batch, int direction) |
| Single precision, multi-dimensional fft. More... | |
| afError | af_fft3_C (dim3 dims_O, cfloat *d_O, dim3 dims_I, const cfloat *d_I, unsigned batch, int direction) |
| Complex, Single precision, multi-dimensional fft. More... | |
| afError | af_fft3_D (dim3 dims_O, cdouble *d_O, dim3 dims_I, const double *d_I, unsigned batch, int direction) |
| Double precision, multi-dimensional fft. More... | |
| afError | af_fft3_Z (dim3 dims_O, cdouble *d_O, dim3 dims_I, const cdouble *d_I, unsigned batch, int direction) |
| Complex, Double precision, multi-dimensional fft. More... | |
C interface for Fast Fourier Transform.
The Fast Fourier Transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) of a signal or array. This is most commonly used to convert data in the time (or space) domain to the frequency domain, Then, the inverse FFT (iFFT) is used to return the data to the original domain.
There are numerous algorithms to compute the FFT of an array, and the specifics of the algorithm depend on the target hardware. Most algorithms, however, use a Cooley-Tukey scheme in a divide-and-conquer approach.
ArrayFire supports up to three-dimensional FFTs. Typically, these multi-dimensional FFTs are implemented using 1D FFTs combined with transpose operations.
| afError af_fft_S | ( | dim3 | dim_O, |
| cfloat * | d_O, | ||
| dim3 | dim_I, | ||
| const float * | d_I, | ||
| unsigned | batch, | ||
| int | dim, | ||
| int | direction | ||
| ) |
Single precision, One dimensional fft along dimension.
| [in] | dim_O | Dimensions of the output array |
| [out] | d_O | Output array (always complex) |
| [in] | dim_I | Dimensions of the input array |
| [in] | d_I | Input array |
| [in] | batch | Number of input tiles |
| [in] | dim | Dimension along which result is computed (0 along column, 1 along row) |
| [in] | direction | Direction of transform: -1 for forward, 1 for backward (inverse) |
| afError af_fft_C | ( | dim3 | dim_O, |
| cfloat * | d_O, | ||
| dim3 | dim_I, | ||
| const cfloat * | d_I, | ||
| unsigned | batch, | ||
| int | dim, | ||
| int | direction | ||
| ) |
Complex, Single precision, One dimensional fft along dimension.
| afError af_fft_D | ( | dim3 | dim_O, |
| cdouble * | d_O, | ||
| dim3 | dim_I, | ||
| const double * | d_I, | ||
| unsigned | batch, | ||
| int | dim, | ||
| int | direction | ||
| ) |
Double precision, One dimensional fft along dimension.
| afError af_fft_Z | ( | dim3 | dim_O, |
| cdouble * | d_O, | ||
| dim3 | dim_I, | ||
| const cdouble * | d_I, | ||
| unsigned | batch, | ||
| int | dim, | ||
| int | direction | ||
| ) |
Complex, Double precision, One dimensional fft along dimension.
| afError af_fft2_S | ( | unsigned | xo, |
| unsigned | yo, | ||
| cfloat * | d_O, | ||
| unsigned | xi, | ||
| unsigned | yi, | ||
| const float * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Single precision, two dimensional fft.
| [in] | xo | number of rows in the output |
| [in] | yo | number of columns in the output |
| [out] | d_O | Output array (always complex) |
| [in] | xi | number of rows in the input |
| [in] | yi | number of columns in the output |
| [in] | d_I | Input array |
| [in] | batch | Number of input tiles |
| [in] | direction | Direction of transform: -1 for forward, 1 for backward (inverse) |
| afError af_fft2_C | ( | unsigned | xo, |
| unsigned | yo, | ||
| cfloat * | d_O, | ||
| unsigned | xi, | ||
| unsigned | yi, | ||
| const cfloat * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Complex, Single precision, two dimensional fft.
| afError af_fft2_D | ( | unsigned | xo, |
| unsigned | yo, | ||
| cdouble * | d_O, | ||
| unsigned | xi, | ||
| unsigned | yi, | ||
| const double * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Double precision, two dimensional fft.
| afError af_fft2_Z | ( | unsigned | xo, |
| unsigned | yo, | ||
| cdouble * | d_O, | ||
| unsigned | xi, | ||
| unsigned | yi, | ||
| const cdouble * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Complex, Double precision, two dimensional fft.
| afError af_fft3_S | ( | dim3 | dims_O, |
| cfloat * | d_O, | ||
| dim3 | dims_I, | ||
| const float * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Single precision, multi-dimensional fft.
| [in] | dims_O | Dimensions of the output array |
| [out] | d_O | Output array (always complex) |
| [in] | dims_I | Dimensions of the input array |
| [in] | d_I | Input array |
| [in] | batch | Number of input tiles |
| [in] | direction | Direction of transform: -1 for forward, 1 for backward (inverse) |
| afError af_fft3_C | ( | dim3 | dims_O, |
| cfloat * | d_O, | ||
| dim3 | dims_I, | ||
| const cfloat * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Complex, Single precision, multi-dimensional fft.
| afError af_fft3_D | ( | dim3 | dims_O, |
| cdouble * | d_O, | ||
| dim3 | dims_I, | ||
| const double * | d_I, | ||
| unsigned | batch, | ||
| int | direction | ||
| ) |
Double precision, multi-dimensional fft.