|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
In-place Cooley-Tukey radix-2 DIT FFT for complex data. More...
#include <FFT.h>
Public Member Functions | |
| FFTComplex (size_t size) | |
| Constructs an FFT processor for the given size. | |
| size_t | getSize () const noexcept |
| Returns the FFT size (number of complex points). | |
| void | forward (T *data) noexcept |
| Performs a forward (time->frequency) FFT in-place. | |
| void | inverse (T *data) noexcept |
| Performs an inverse (frequency->time) FFT in-place. | |
In-place Cooley-Tukey radix-2 DIT FFT for complex data.
Data layout: interleaved [re0, im0, re1, im1, ...], total 2*N elements.
| T | Sample type (float or double). |
|
inlineexplicit |
|
inlinenoexcept |
Performs a forward (time->frequency) FFT in-place.
| data | Interleaved complex data [re, im, ...], 2*N elements. |
The pointer does not need to be 16-byte aligned: the SIMD path uses unaligned loads/stores (_mm_loadu_ps/_mm_storeu_ps), which on every x86 CPU released in the last decade run at the same throughput as the aligned variants when the data happens to be aligned.
|
inlinenoexcept |
|
inlinenoexcept |