Class generator_exp¶
class generator_exp<T, VecWidth> base¶
template <typename T, size_t VecWidth = internal::generator_width<T>(1)>
struct generator_exp : public generator<T, VecWidth, generator_exp<T, VecWidth>> { … } Generator that produces an exponential sequence \(x_i = e^{ 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_exp<T, VecWidth>(T, T) ¶
generator_exp(T start, T step) noexcept Constructs an exponential generator.
| start | Exponent of the first value to produce. |
| step | Increment added to the exponent between successive values. |
Fully qualified name: kfr::generator_exp<T, VecWidth>::generator_exp<T, VecWidth>(T, T)
Declared at base/generators.hpp:210
function sync(T) ¶
Reinitializes the generator so the next vector starts at start.
| start | Exponent of the starting value. |
Fully qualified name: kfr::generator_exp<T, VecWidth>::sync(T)
Declared at base/generators.hpp:220
function next() ¶
Advances the generator state by one native vector width using the precomputed multiplicative growth factor.
Fully qualified name: kfr::generator_exp<T, VecWidth>::next()
Declared at base/generators.hpp:229
variable step ¶
T step Fully qualified name: kfr::generator_exp<T, VecWidth>::step
Declared at base/generators.hpp:232
variable vstep ¶
T vstep Fully qualified name: kfr::generator_exp<T, VecWidth>::vstep
Declared at base/generators.hpp:233
Fully qualified name: kfr::generator_exp<T, VecWidth>
Declared at base/generators.hpp:203