Class generator_cossin¶
class generator_cossin<T, VecWidth> base¶
template <typename T, size_t VecWidth = internal::generator_width<T>(1)>
struct generator_cossin : public generator<T, VecWidth, generator_cossin<T, VecWidth>> { … } Generator that produces interleaved cosine and sine values
| T | Value type. |
| VecWidth | Native vector width (must be even). |
constructor generator_cossin<T, VecWidth>(T, T) ¶
generator_cossin(T start, T step) Constructs an interleaved cosine/sine generator.
| start | Starting phase. |
| step | Phase increment between successive values. |
Fully qualified name: kfr::generator_cossin<T, VecWidth>::generator_cossin<T, VecWidth>(T, T)
Declared at base/generators.hpp:365
function sync(T) ¶
Reinitializes the generator so the next vector starts at phase start.
| start | Starting phase. |
Fully qualified name: kfr::generator_cossin<T, VecWidth>::sync(T)
Declared at base/generators.hpp:375
function next() ¶
Advances the rotation by one native vector width using the recurrence relation.
Fully qualified name: kfr::generator_cossin<T, VecWidth>::next()
Declared at base/generators.hpp:381
variable step ¶
T step Fully qualified name: kfr::generator_cossin<T, VecWidth>::step
Declared at base/generators.hpp:387
variable alpha ¶
T alpha Fully qualified name: kfr::generator_cossin<T, VecWidth>::alpha
Declared at base/generators.hpp:388
variable beta ¶
T beta Fully qualified name: kfr::generator_cossin<T, VecWidth>::beta
Declared at base/generators.hpp:389
function init_cossin(T, T) ¶
Initializes a vector of interleaved cosine/sine pairs with angular frequency w and starting phase phase.
| w | Angular frequency increment per sample. |
| phase | Starting phase. |
| Vector of interleaved cosine and sine values. |
Fully qualified name: kfr::generator_cossin<T, VecWidth>::init_cossin(T, T)
Declared at base/generators.hpp:397
Fully qualified name: kfr::generator_cossin<T, VecWidth>
Declared at base/generators.hpp:357