Skip to content

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.

Template parameters
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.
Parameters
x First source vector.
y Second source vector.
i Index pattern selector.
Returns
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.