Function

vDSP_fft2d_zip(_:_:_:_:_:_:_:)

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).

Declaration

func vDSP_fft2d_zip(_ __Setup: FFTSetup, _ __C: UnsafePointer<DSPSplitComplex>, _ __IC0: vDSP_Stride, _ __IC1: vDSP_Stride, _ __Log2N0: vDSP_Length, _ __Log2N1: vDSP_Length, _ __Direction: FFTDirection)

Parameters

__Setup

Points to a structure initialized by a prior call to vDSP_create_fftsetup. The value supplied as parameter Log2n of the setup function must equal or exceed the values supplied as parameters Log2N0 and Log2N1 of this transform function.

__C

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

__IC0

Stride between elements in a row ofC.

__IC1

Stride between elements in a column ofC, and should generally be allowed to default unless the matrix is a submatrix. Parameter IC1 can be defaulted by passing 0. 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 strideInCol is 0, every other element of each row is processed.

If not 0, parameter IC1 represents the distance between adjacent rows of the matrix. If IC1 is 1024, for example, complex element 512 of the matrix equates to element (1,0), element 1024 equates to element (2,0), and so forth.

__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 kFFTDirection_Forward (+1) or kFFTDirection_Inverse (-1).

Discussion

This performs the following operation:

mathematical formula

where F is Direction, N is two raised to Log2N1, M is is two raised to Log2N0, and j is the square root of -1.

See also functions vDSP_create_fftsetup and vDSP_destroy_fftsetup.

See Also

2D Fast Fourier Transforms (In-Place Complex)

func vDSP_fft2d_zipD(FFTSetupD, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, vDSP_Stride, vDSP_Length, vDSP_Length, FFTDirection)

Computes an in-place double-precision complex discrete FFT, either from the spatial domain to the frequency domain (forward) or from the frequency domain to the spatial domain (inverse).

func vDSP_fft2d_zipt(FFTSetup, UnsafePointer<DSPSplitComplex>, vDSP_Stride, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Length, vDSP_Length, FFTDirection)

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.

func vDSP_fft2d_ziptD(FFTSetupD, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, vDSP_Stride, UnsafePointer<DSPDoubleSplitComplex>, vDSP_Length, vDSP_Length, FFTDirection)

Computes an in-place double-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.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software