Skip to content

Function enumerate

function enumerate() simd

template <typename T, size_t N, size_t start = 0, size_t stride = 1>
constexpr KFR_INTRINSIC vec<T, N> enumerate() { … }

Generates a vector with an arithmetic sequence of values.

Lane i is set to start + i * stride .

Template parameters
T Element type of the resulting vector.
N Output vector length.
start Value of the first lane.
stride Difference between consecutive lanes.
Returns
A vector of length N holding the arithmetic sequence.

Fully qualified name: kfr::enumerate()

Declared at simd/shuffle.hpp:1415

Function enumerate

function enumerate(vec_shape<T, N>) simd

template <size_t start = 0, size_t stride = 1, typename T, size_t N>
constexpr KFR_INTRINSIC vec<T, N> enumerate(vec_shape<T, N>) { … }

Shape-driven overload of enumerate() for type deduction.

enumerate

Fully qualified name: kfr::enumerate(vec_shape<T, N>)

Declared at simd/shuffle.hpp:1424

Function enumerate

function enumerate(vec_shape<T, N>, std::type_identity_t<T>) simd

template <typename T, size_t N>
KFR_INTRINSIC vec<T, N> enumerate(vec_shape<T, N> sh, std::type_identity_t<T> step)

Generates a vector with an arithmetic sequence using a runtime step.

Lane i is set to i * step . Uses a doubling accumulation strategy for power-of-two N; non-power-of-two lengths are handled by slicing from the next power of two.

Template parameters
T Element type of the resulting vector.
N Output vector length.
Parameters
sh Shape tag for type deduction.
step Difference between consecutive lanes.
Returns
A vector of length N holding the sequence 0, step, 2*step, ... .

Fully qualified name: kfr::enumerate(vec_shape<T, N>, std::type_identity_t<T>)

Declared at simd/shuffle.hpp:1439

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