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
func vDSP_fft2d_zipt(_ __Setup: FFTSetup, _ __C: Unsafe Pointer<DSPSplit Complex>, _ __IC1: v DSP _Stride, _ __IC0: v DSP _Stride, _ __Buffer: Unsafe Pointer<DSPSplit Complex>, _ __Log2N0: v DSP _Length, _ __Log2N1: v DSP _Length, _ __Direction: FFTDirection)
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 parameterslog2n
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, ifIC0
is 1 andIC1
is 0, every element of the input /output matrix is processed. IfIC0
is 2 andstride
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, whereNC
is the number of columns (2
raised tolog2N1
) andNR
is the number of rows (2
raised tolog2N0
). 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
forLog2N0
and6
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
.