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) ¶
Copies the input into the stage's working buffer.
| 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.
| 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.
| 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.
| 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() 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 *) ¶
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 *) ¶
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