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 .
| T | Element type of the resulting vector. |
| N | Output vector length. |
| start | Value of the first lane. |
| stride | Difference between consecutive lanes. |
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.
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.
| T | Element type of the resulting vector. |
| N | Output vector length. |
| sh | Shape tag for type deduction. |
| step | Difference between consecutive lanes. |
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.