Skip to content

DFT


dct_plan class

template <typename T> dct_plan

DCT type 2 (unscaled)


dft function

template <typename T, univector_tag Tag>
univector<complex<T>>
dft(const univector<complex<T>, Tag> &input)

Performs Direct DFT using cached plan


dft_plan class

template <typename T> dft_plan

1D DFT/FFT


template <typename T> dft_plan

1D DFT/FFT


dft_plan_md class

template <typename T, index_t Dims = dynamic_shape>
dft_plan_md

Multidimensional DFT


dft_plan_md_real class

template <typename T, index_t Dims = dynamic_shape>
dft_plan_md_real

Multidimensional DFT


dft_plan_real class

template <typename T> dft_plan_real

Real-to-complex and Complex-to-real 1D DFT


template <typename T> dft_plan_real

Real-to-complex and Complex-to-real 1D DFT


idft function

template <typename T, univector_tag Tag>
univector<complex<T>>
idft(const univector<complex<T>, Tag> &input)

Performs Inverse DFT using cached plan


irealdft function

template <typename T, univector_tag Tag>
univector<T>
irealdft(const univector<complex<T>, Tag> &input)

Permorms Real Inverse DFT using cached plan


realdft function

template <typename T, univector_tag Tag>
univector<complex<T>>
realdft(const univector<T, Tag> &input)

Performs Real Direct DFT using cached plan


reference_dft function

template <typename T>
void reference_dft(complex<T> *out, const complex<T> *in,
                   size_t size, bool inversion = false,
                   size_t out_delta = 1,
                   size_t in_delta = 1)

Performs Complex DFT using reference implementation (slow, used for testing)


template <typename T>
void reference_dft(complex<T> *out, const T *in,
                   size_t size, size_t out_delta = 1,
                   size_t in_delta = 1)

Performs Direct Real DFT using reference implementation (slow, used for testing)


reference_dft_md function

template <typename T>
void reference_dft_md(complex<T> *out, const complex<T> *in,
                      shape<dynamic_shape> size,
                      bool inversion = false,
                      size_t out_delta = 1,
                      size_t in_delta = 1)

Performs Multidimensional Complex DFT using reference implementation (slow, used for testing)


template <typename T>
void reference_dft_md(complex<T> *out, const T *in,
                      shape<dynamic_shape> shape,
                      bool inversion = false,
                      size_t out_delta = 1,
                      size_t in_delta = 1)

Performs Multidimensional Direct Real DFT using reference implementation (slow, used for testing)


reference_dft_nonpo2 function

template <typename T>
void reference_dft_nonpo2(complex<T> *out,
                          const complex<T> *in, size_t size,
                          bool inversion,
                          size_t out_delta = 1,
                          size_t in_delta = 1)

Performs Complex FFT using reference implementation (slow, used for testing)


Auto-generated from sources, Revision 6aea976a464de59d522d0c629e64bf0c044e6777, https://github.com/kfrlib/kfr/blob/6aea976a464de59d522d0c629e64bf0c044e6777/include/kfr/