Skip to content

Class generator_exp2

class generator_exp2<T, VecWidth> base

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

Generator that produces a base-2 exponential sequence \(x_i = 2^{ start + i \cdot step }\) .

The state is advanced multiplicatively using a precomputed per-vector growth factor so that each generated vector is contiguous with the previous one.

Template parameters
T Value type.
VecWidth Native vector width.

constructor generator_exp2<T, VecWidth>(T, T)

generator_exp2(T start, T step) noexcept

Constructs a base-2 exponential generator.

Parameters
start Exponent of the first value to produce.
step Increment added to the exponent between successive values.

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

function sync(T)

Reinitializes the generator so the next vector starts at start.

Parameters
start Exponent of the starting value.

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

function next()

Advances the generator state by one native vector width using the precomputed multiplicative growth factor.

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

variable step

T step

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

variable vstep

T vstep

Fully qualified name: kfr::generator_exp2<T, VecWidth>::vstep

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

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