Skip to content

Class dft_stage

class dft_stage<T> dft

template <typename T>
struct dft_stage { … }

Base structure representing a single DFT stage.

variable radix

size_t radix      = 0

Radix of the stage (number of butterfly arms).

Fully qualified name: kfr::dft_stage<T>::radix

Declared at dft/fft.hpp:67

variable stage_size

size_t stage_size = 0

Number of complex elements processed by this stage.

Fully qualified name: kfr::dft_stage<T>::stage_size

Declared at dft/fft.hpp:68

variable data_size

size_t data_size  = 0

Size in bytes of the stage's internal data (e.g. twiddles).

Fully qualified name: kfr::dft_stage<T>::data_size

Declared at dft/fft.hpp:69

variable temp_size

size_t temp_size  = 0

Size in bytes of scratch buffer required by this stage.

Fully qualified name: kfr::dft_stage<T>::temp_size

Declared at dft/fft.hpp:70

variable data

u8* data          = nullptr

Pointer to the stage's internal data buffer.

Fully qualified name: kfr::dft_stage<T>::data

Declared at dft/fft.hpp:71

variable repeats

size_t repeats    = 1

Number of recursive repetitions used during execution.

Fully qualified name: kfr::dft_stage<T>::repeats

Declared at dft/fft.hpp:72

variable out_offset

size_t out_offset = 0

Offset (in complex elements) between successive recursive outputs.

Fully qualified name: kfr::dft_stage<T>::out_offset

Declared at dft/fft.hpp:73

variable blocks

size_t blocks     = 0

Number of independent blocks processed by the stage.

Fully qualified name: kfr::dft_stage<T>::blocks

Declared at dft/fft.hpp:74

variable user

size_t user       = 0

Stage-specific user value (e.g. log2 of the stage size).

Fully qualified name: kfr::dft_stage<T>::user

Declared at dft/fft.hpp:75

variable name

const char* name  = nullptr

Human-readable name of the stage (for

dump() ).

Fully qualified name: kfr::dft_stage<T>::name

Declared at dft/fft.hpp:76

variable recursion

bool recursion    = false

Whether the stage uses recursive execution.

Fully qualified name: kfr::dft_stage<T>::recursion

Declared at dft/fft.hpp:77

variable can_inplace

bool can_inplace  = true

Whether the stage can operate in-place.

Fully qualified name: kfr::dft_stage<T>::can_inplace

Declared at dft/fft.hpp:78

variable need_reorder

bool need_reorder = true

Whether the stage output requires bit-reversal reordering.

Fully qualified name: kfr::dft_stage<T>::need_reorder

Declared at dft/fft.hpp:79

function operator new(size_t)

inline static void* operator new(size_t size) noexcept

Fully qualified name: kfr::dft_stage<T>::operator new(size_t)

Declared at dft/fft.hpp:81

function operator delete(void *)

inline static void operator delete(void* ptr) noexcept

Fully qualified name: kfr::dft_stage<T>::operator delete(void *)

Declared at dft/fft.hpp:85

function operator new(size_t, std::align_val_t)

inline static void* operator new(size_t size, std::align_val_t al) noexcept

Fully qualified name: kfr::dft_stage<T>::operator new(size_t, std::align_val_t)

Declared at dft/fft.hpp:87

function operator delete(void *, std::align_val_t)

inline static void operator delete(void* ptr, std::align_val_t al) noexcept

Fully qualified name: kfr::dft_stage<T>::operator delete(void *, std::align_val_t)

Declared at dft/fft.hpp:91

function initialize(size_t)

void initialize(size_t size)

Fully qualified name: kfr::dft_stage<T>::initialize(size_t)

Declared at dft/fft.hpp:101

function dump()

virtual void dump() const

Prints the stage parameters to stdout for debugging.

Fully qualified name: kfr::dft_stage<T>::dump()

Declared at dft/fft.hpp:104

function copy_input(bool, complex<T> *, const complex<T> *, size_t)

virtual void copy_input(bool invert, complex<T>* out, const complex<T>* in, size_t size)

Copies the input into the stage's working buffer.

Parameters
invert Direction flag (true for inverse).
out Destination buffer.
in Source buffer.
size Number of complex elements to copy.

Fully qualified name: kfr::dft_stage<T>::copy_input(bool, complex<T> *, const complex<T> *, size_t)

Declared at dft/fft.hpp:114

function execute(cdirect_t, complex<T> *, const complex<T> *, u8 *)

Executes the direct (forward) stage.

Parameters
out Output buffer.
in Input buffer.
temp Scratch buffer (may be unused by the stage).

Fully qualified name: kfr::dft_stage<T>::execute(cdirect_t, complex<T> *, const complex<T> *, u8 *)

Declared at dft/fft.hpp:123

function execute(cinvert_t, complex<T> *, const complex<T> *, u8 *)

Executes the inverse stage.

Parameters
out Output buffer.
in Input buffer.
temp Scratch buffer (may be unused by the stage).

Fully qualified name: kfr::dft_stage<T>::execute(cinvert_t, complex<T> *, const complex<T> *, u8 *)

Declared at dft/fft.hpp:131

function execute(bool, complex<T> *, const complex<T> *, u8 *)

Executes the stage in the requested direction.

Parameters
inverse If true, executes the inverse stage; otherwise the direct stage.
out Output buffer.
in Input buffer.
temp Scratch buffer (may be unused by the stage).

Fully qualified name: kfr::dft_stage<T>::execute(bool, complex<T> *, const complex<T> *, u8 *)

Declared at dft/fft.hpp:140

destructor ~dft_stage<T>()

virtual ~dft_stage()

Destructor.

Fully qualified name: kfr::dft_stage<T>::~dft_stage<T>()

Declared at dft/fft.hpp:148

function do_initialize(size_t)

virtual void do_initialize(size_t)

Initializes the stage's internal data for the given DFT size.

Fully qualified name: kfr::dft_stage<T>::do_initialize(size_t)

Declared at dft/fft.hpp:152

function do_execute(cdirect_t, complex<T> *, const complex<T> *, u8 *)

virtual void do_execute(cdirect_t, complex<T>*, const complex<T>*, u8* temp) = 0

Performs the direct stage execution (implemented by derived stages).

Fully qualified name: kfr::dft_stage<T>::do_execute(cdirect_t, complex<T> *, const complex<T> *, u8 *)

Declared at dft/fft.hpp:154

function do_execute(cinvert_t, complex<T> *, const complex<T> *, u8 *)

virtual void do_execute(cinvert_t, complex<T>*, const complex<T>*, u8* temp) = 0

Performs the inverse stage execution (implemented by derived stages).

Fully qualified name: kfr::dft_stage<T>::do_execute(cinvert_t, complex<T> *, const complex<T> *, u8 *)

Declared at dft/fft.hpp:156

Fully qualified name: kfr::dft_stage<T>

Declared at dft/fft.hpp:65

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