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.
| 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.
| 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)
Declared at base/generators.hpp:315
function sync(T) ¶
Reinitializes the generator so the next vector starts at start.
| start | Exponent of the starting value. |
Fully qualified name: kfr::generator_exp2<T, VecWidth>::sync(T)
Declared at base/generators.hpp:325
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()
Declared at base/generators.hpp:334
variable step ¶
T step Fully qualified name: kfr::generator_exp2<T, VecWidth>::step
Declared at base/generators.hpp:337
variable vstep ¶
T vstep Fully qualified name: kfr::generator_exp2<T, VecWidth>::vstep
Declared at base/generators.hpp:338
Fully qualified name: kfr::generator_exp2<T, VecWidth>
Declared at base/generators.hpp:308