Skip to content

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
Template parameters
T Floating-point scalar type (float or double).
See also: ngfft_twiddle_count()
See also: ngfft_initialize()
See also: ngfft_execute()
See also: dft_algorithm

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

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.