Fast Fourier Transform with an arbitrary number of samples.
void FFT(
XMVECTOR __restrict *pReal,
XMVECTOR __restrict *pImaginary,
const XMVECTOR __restrict *pUnityTable,
const UINT32 uLength,
const UINT32 uCount = 1
)
pReal
Type: XMVECTOR __restrict *
[in, out] Real components of the FFT. Must have as least (uLength × uCount) ÷ 4 elements.
pImaginary
Type: XMVECTOR __restrict *
[in, out] Imaginary components of the FFT. Must have at least (uLength × uCount) ÷ 4 elements.
pUnityTable
Type: XMVECTOR __restrict *
[in] Unity table the FFT should use. Must have at least uLength × uCount XMVECTORs. See FFTInitializeUnityTable for more information.
uLength
Type: UINT32
[in] FFT length in samples. uLength must be a power of two and must be greater than 16.
uCount
Type: UINT32
[in] Number of FFT iterations.
Type: void
For FFTs with a number of samples less than or equal to 16 use FFT16, FFT8 or FFT4.
All buffer parameters must be 16-byte aligned. Audio data must be FLOAT32 mono.
Header: Declared in XDSP.h.
Namespace: Use XDSP.