Class ngfft_plan¶
class ngfft_plan<T> dft¶
template <typename T>
struct ngfft_plan { … } Plan structure for the ng FFT algorithms (new in KFR 7.1).
The ngFFT family provides lightweight, in-place FFT computation that requires only a pre-computed twiddle factor table and no additional scratch (temporary) buffer. This makes it suitable for environments where memory allocations must be minimised or fully controlled by the caller.#### Lifetime & ownership: The plan does **not** own the twiddle buffer. The caller is responsible for allocating (with sufficient alignment) and deallocating it.#### Usage example:
ngfft_plan<float> plan{ 16 }; // log2 of FFT size → 2^16 = 65536
plan.twiddles = aligned_allocate<complex<float>>(ngfft_twiddle_count(plan));
ngfft_initialize(plan); // precompute twiddle factors
ngfft_execute(plan, false, data); // forward FFT, in-place
aligned_deallocate(plan.twiddles); // free twiddle buffer when done
| T | Floating-point scalar type (float or double). |
variable l2fftsize ¶
uint8_t l2fftsize Log2 of the FFT size (e.g. 16 means a 65536-point FFT).
Fully qualified name: kfr::ngfft_plan<T>::l2fftsize
Declared at dft/fft.hpp:1451
variable twiddles ¶
complex<T>* twiddles = nullptr User-allocated pointer to twiddle factors. The required element count is obtained from ngfft_twiddle_count(); the buffer must be cache-line aligned. Initialise via ngfft_initialize() before first use.
Fully qualified name: kfr::ngfft_plan<T>::twiddles
Declared at dft/fft.hpp:1455
Fully qualified name: kfr::ngfft_plan<T>
Declared at dft/fft.hpp:1448