Class dft_plan_md_real¶
class dft_plan_md_real<T, Dims> dft¶
template <typename T, index_t Dims = dynamic_shape>
struct dft_plan_md_real { … } Multidimensional real-to-complex / complex-to-real DFT plan.
| T | Floating-point type ( float or double ). |
| Dims | Number of dimensions, or dynamic_shape for a runtime rank. |
variable size ¶
shape<Dims> size Per-dimension sizes of the real transform.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::size
Declared at dft/fft.hpp:976
variable temp_size ¶
size_t temp_size Scratch buffer size in bytes required by
execute .
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::temp_size
Declared at dft/fft.hpp:977
variable real_out_is_enough ¶
bool real_out_is_enough If true, the inverse transform may write directly into the real output buffer without an extra complex working region.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::real_out_is_enough
Declared at dft/fft.hpp:980
constructor dft_plan_md_real<T, Dims>(const dft_plan_md_real<T, Dims> &) ¶
dft_plan_md_real(const dft_plan_md_real&) = delete Fully qualified name: kfr::dft_plan_md_real<T, Dims>::dft_plan_md_real<T, Dims>(const dft_plan_md_real<T, Dims> &)
Declared at dft/fft.hpp:982
constructor dft_plan_md_real<T, Dims>(dft_plan_md_real<T, Dims> &&) ¶
dft_plan_md_real(dft_plan_md_real&&) = default Fully qualified name: kfr::dft_plan_md_real<T, Dims>::dft_plan_md_real<T, Dims>(dft_plan_md_real<T, Dims> &&)
Declared at dft/fft.hpp:983
function operator=(const dft_plan_md_real<T, Dims> &) ¶
dft_plan_md_real& operator=(const dft_plan_md_real&) = delete Fully qualified name: kfr::dft_plan_md_real<T, Dims>::operator=(const dft_plan_md_real<T, Dims> &)
Declared at dft/fft.hpp:984
function operator=(dft_plan_md_real<T, Dims> &&) ¶
dft_plan_md_real& operator=(dft_plan_md_real&&) = default Fully qualified name: kfr::dft_plan_md_real<T, Dims>::operator=(dft_plan_md_real<T, Dims> &&)
Declared at dft/fft.hpp:985
function is_initialized() ¶
bool is_initialized() const Checks whether the plan is non-empty.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::is_initialized()
Declared at dft/fft.hpp:988
function dump() ¶
void dump() const Dumps details of the underlying per-axis plans to stdout.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::dump()
Declared at dft/fft.hpp:991
function complex_size() ¶
shape<Dims> complex_size() const Returns the shape of the complex (packed) spectrum.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::complex_size()
Declared at dft/fft.hpp:1001
function complex_size_for(shape<Dims>) ¶
Returns the complex spectrum shape for a given real shape.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::complex_size_for(shape<Dims>)
Declared at dft/fft.hpp:1003
function real_out_size() ¶
size_t real_out_size() const Returns the number of real elements needed to hold the inverse output.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::real_out_size()
Declared at dft/fft.hpp:1011
function real_out_size_for(shape<Dims>) ¶
constexpr static size_t real_out_size_for(shape<Dims> size) { … } Returns the real output element count for a given real shape.
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::real_out_size_for(shape<Dims>)
Declared at dft/fft.hpp:1013
constructor dft_plan_md_real<T, Dims>(shape<Dims>, bool) ¶
explicit dft_plan_md_real(shape<Dims> size, bool real_out_is_enough = false) Constructs a multidimensional real DFT plan.
| size | Per-dimension sizes of the real transform. |
| real_out_is_enough | If true, the inverse transform may write directly into the real output buffer without an extra complex working region. |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::dft_plan_md_real<T, Dims>(shape<Dims>, bool)
Declared at dft/fft.hpp:1024
function execute(complex<T> *, const T *, u8 *, cdirect_t) ¶
Forward transform: real input to packed complex output (raw pointers).
| out | Output complex buffer of complex_size().product() elements. |
| in | Input real buffer of size.product() elements. |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(complex<T> *, const T *, u8 *, cdirect_t)
Declared at dft/fft.hpp:1054
function execute(T *, const complex<T> *, u8 *, cinvert_t) ¶
Inverse transform: packed complex input to real output (raw pointers).
| out | Output real buffer of size.product() elements. |
| in | Input complex buffer of complex_size().product() elements. |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(T *, const complex<T> *, u8 *, cinvert_t)
Declared at dft/fft.hpp:1064
function execute(const tensor<complex<T>, Dims> &, const tensor<T, Dims> &, u8 *, cdirect_t) ¶
void execute(const tensor<complex<T>, Dims>& out, const tensor<T, Dims>& in, u8* temp,
cdirect_t = { … } Forward transform on tensors.
| out | Output complex tensor with shape complex_size() . |
| in | Input real tensor with shape size . |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(const tensor<complex<T>, Dims> &, const tensor<T, Dims> &, u8 *, cdirect_t)
Declared at dft/fft.hpp:1074
function execute(const tensor<T, Dims> &, const tensor<complex<T>, Dims> &, u8 *, cinvert_t) ¶
void execute(const tensor<T, Dims>& out, const tensor<complex<T>, Dims>& in, u8* temp,
cinvert_t = { … } Inverse transform on tensors.
| out | Output real tensor with shape size . |
| in | Input complex tensor with shape complex_size() . |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(const tensor<T, Dims> &, const tensor<complex<T>, Dims> &, u8 *, cinvert_t)
Declared at dft/fft.hpp:1090
function execute(complex<T> *, const T *, u8 *, bool) ¶
Forward transform selected by a runtime flag (raw pointers).
| out | Output complex buffer of complex_size().product() elements. |
| in | Input real buffer of size.product() elements. |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
| inverse | Must be false for the forward transform. |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(complex<T> *, const T *, u8 *, bool)
Declared at dft/fft.hpp:1107
function execute(T *, const complex<T> *, u8 *, bool) ¶
Inverse transform selected by a runtime flag (raw pointers).
| out | Output real buffer of size.product() elements. |
| in | Input complex buffer of complex_size().product() elements. |
| temp | Scratch buffer of at least temp_size bytes (may be nullptr ). |
| inverse | Must be true for the inverse transform. |
Fully qualified name: kfr::dft_plan_md_real<T, Dims>::execute(T *, const complex<T> *, u8 *, bool)
Declared at dft/fft.hpp:1119
Fully qualified name: kfr::dft_plan_md_real<T, Dims>
Declared at dft/fft.hpp:974