Computes an in-place single-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse). A buffer is used for intermediate results.

SDKs

- iOS 4.0+
- macOS 10.0+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+

Framework

- Accelerate

## Declaration

## Parameters

`__Setup`

Points to a structure initialized by a prior call to

`v`

. The value supplied as parameterDSP _create _fftsetup `Log2n`

of the setup function must equal or exceed the values supplied as parameters`log2n`

andIn Col `log2n`

of this transform function.In Row `__C`

A 2-dimensional complex input/output vector, i.e. a matrix.

`__IC0`

Stride between elements in a row of

`C`

.`__IC1`

Stride between elements in a column of

`C`

; should generally be allowed to default (by passing 0) unless the matrix is a submatrix. The default column stride equals the row stride multiplied by the column count. Thus, if`IC0`

is 1 and`IC1`

is 0, every element of the input /output matrix is processed. If`IC0`

is 2 and`stride`

is 0, every other element of each row is processed.In Col If not 0, parameter

`IC1`

represents the distance between adjacent rows of the matrix.`__Buffer`

A temporary matrix used for storing interim results. The minimum size of temporary memory for each part (real and imaginary) is the lower value of 16,384 bytes or the size of

`NR * NC`

elements, where`NC`

is the number of columns (`2`

raised to`log2N1`

) and`NR`

is the number of rows (`2`

raised to`log2N0`

). For best performance, the buffer addresses should be 16-byte aligned or better.`__Log2N0`

The base 2 exponent of the number of columns to process for each row.

`__Log2N1`

The base 2 exponent of the number of rows to process. For example, to process 64 rows of 128 columns, specify

`7`

for`Log2N0`

and`6`

for`_Log2N1`

.`__Direction`

A forward/inverse directional flag; must specify

`k`

(+1) orFFTDirection _Forward `k`

(-1).FFTDirection _Inverse

## Discussion

This performs the following operation:

where F is `_`

, N is two raised to `_`

, M is two raised to `_`

, and j is the square root of `-1`

.

See also functions `v`

and `v`

.