Function shuffle¶
function shuffle(const vec<T, N> &, const vec<T, N> &, elements_t<Indices...>) simd¶
template <size_t... Indices, typename T, size_t N, size_t count = sizeof...(Indices)>
KFR_INTRINSIC vec<T, N> shuffle(const vec<T, N>& x, const vec<T, N>& y,
elements_t<Indices...> i = elements_t<Indices...>()) Shuffles the concatenation of two equal-length vectors using a repeating index pattern.
The index pattern i is tiled to cover all N output lanes, with each tile offset by its tile index times count. The result is drawn from the concatenated sequence of x and y.
| Indices | Compile-time index list defining the per-tile source selection. |
| T | Element type of the vectors. |
| N | Length of each input vector. |
| count | Number of indices in Indices. |
| x | First source vector. |
| y | Second source vector. |
| i | Index pattern selector. |
A vector of length N drawn from the concatenated sequence. |
Fully qualified name: kfr::shuffle(const vec<T, N> &, const vec<T, N> &, elements_t<Indices...>)
Declared at simd/shuffle.hpp:715
This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.