Skip to content

Class generator_expj

class generator_expj<T, VecWidth> base

template <typename T, size_t VecWidth = internal::generator_width<T>(2)>
struct generator_expj : public generator<T, VecWidth, generator_expj<T, VecWidth>> { … }

Generator that produces a complex exponential \(x_i = e^{ j ( start + i \cdot step ) }\) .

Template parameters
T Complex value type.
VecWidth Native vector width.

typedef ST

using ST = deep_subtype<T>

Fully qualified name: kfr::generator_expj<T, VecWidth>::ST

constructor generator_expj<T, VecWidth>(ST, ST)

generator_expj(ST start_, ST step_)

Constructs a complex exponential generator.

Parameters
start_ Phase of the first value to produce.
step_ Phase increment between successive values.

Fully qualified name: kfr::generator_expj<T, VecWidth>::generator_expj<T, VecWidth>(ST, ST)

function sync(T)

Reinitializes the generator so the next vector starts at phase start.

Parameters
start Starting phase (complex value).

Fully qualified name: kfr::generator_expj<T, VecWidth>::sync(T)

function next()

Advances the complex rotation by one native vector width using the recurrence relation.

Fully qualified name: kfr::generator_expj<T, VecWidth>::next()

variable step

ST step

Fully qualified name: kfr::generator_expj<T, VecWidth>::step

variable alpha

ST alpha

Fully qualified name: kfr::generator_expj<T, VecWidth>::alpha

variable beta

ST beta

Fully qualified name: kfr::generator_expj<T, VecWidth>::beta

function init_cossin(ST, ST)

Initializes a vector of complex exponentials with angular frequency w and starting phase phase.

Parameters
w Angular frequency increment per sample.
phase Starting phase.
Returns
Vector of complex exponentials.

Fully qualified name: kfr::generator_expj<T, VecWidth>::init_cossin(ST, ST)

Fully qualified name: kfr::generator_expj<T, VecWidth>

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