Class generator_linear¶
class generator_linear<T, VecWidth> base¶
template <typename T, size_t VecWidth = internal::generator_width<T>(1)>
struct generator_linear : public generator<T, VecWidth, generator_linear<T, VecWidth>> { … } Generator that produces an arithmetic progression \(x_i = start + i \cdot step\) .
| T | Value type. |
| VecWidth | Native vector width. |
constructor generator_linear<T, VecWidth>(T, T) ¶
generator_linear(T start, T step) noexcept Constructs a linear generator.
| start | First value to produce. |
| step | Increment between successive values. |
Fully qualified name: kfr::generator_linear<T, VecWidth>::generator_linear<T, VecWidth>(T, T)
Declared at base/generators.hpp:173
function sync(T) ¶
Reinitializes the generator so the next vector starts at start.
| start | Starting value. |
Fully qualified name: kfr::generator_linear<T, VecWidth>::sync(T)
Declared at base/generators.hpp:179
function next() ¶
Advances the generator state by one native vector width.
Fully qualified name: kfr::generator_linear<T, VecWidth>::next()
Declared at base/generators.hpp:187
variable vstep ¶
T vstep Fully qualified name: kfr::generator_linear<T, VecWidth>::vstep
Declared at base/generators.hpp:189
Fully qualified name: kfr::generator_linear<T, VecWidth>
Declared at base/generators.hpp:166