Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
FFTPlan Struct Reference

Reusable 1D complex FFT plan for arbitrary nonzero transform lengths. More...

#include <fft_plan.h>

Collaboration diagram for FFTPlan:

Public Attributes

size_t n
 
bool use_bluestein
 
FFTPow2Plan pow2_plan
 
FFTPow2Plan bluestein_plan
 
size_t bluestein_size
 
double complex * chirp
 
double complex * chirp_conj
 
double complex * b_fft
 
double complex * a_buffer
 
double complex * scratch_n
 

Detailed Description

Reusable 1D complex FFT plan for arbitrary nonzero transform lengths.

Power-of-two lengths use FFTPow2Plan directly; other lengths own the Bluestein chirp/convolution scratch storage needed by fft_plan_forward() and fft_plan_inverse().

Member Data Documentation

◆ a_buffer

double complex* FFTPlan::a_buffer

Owned Bluestein input work buffer.

◆ b_fft

double complex* FFTPlan::b_fft

Owned FFT of the Bluestein chirp kernel.

◆ bluestein_plan

FFTPow2Plan FFTPlan::bluestein_plan

Convolution FFT plan for Bluestein transforms.

◆ bluestein_size

size_t FFTPlan::bluestein_size

Power-of-two convolution length for Bluestein path.

◆ chirp

double complex* FFTPlan::chirp

Owned Bluestein chirp factors.

◆ chirp_conj

double complex* FFTPlan::chirp_conj

Owned conjugated chirp factors.

◆ n

size_t FFTPlan::n

Transform length.

◆ pow2_plan

FFTPow2Plan FFTPlan::pow2_plan

Direct radix-2 plan for power-of-two lengths.

◆ scratch_n

double complex* FFTPlan::scratch_n

Owned output-length scratch buffer.

◆ use_bluestein

bool FFTPlan::use_bluestein

True when non-power-of-two convolution path is active.


The documentation for this struct was generated from the following file: