Skip to content

Function interleavehalves

function interleavehalves(const vec<T, N> &) simd

template <size_t group = 1, typename T, size_t N, size_t size = N / group, size_t side2 = 2,
          size_t side1 = size / side2>
KFR_INTRINSIC vec<T, N> interleavehalves(const vec<T, N>& x)

Interleaves the two halves of x.

Treats x as two halves and interleaves them lane-by-lane (or by group-sized blocks).

Template parameters
group Number of lanes in each interleaved block.
T Element type of the vector.
N Input vector length.
size Number of groups, equals N / group.
side2 Number of halves, fixed at 2.
side1 Groups per half, equals size / side2.
Parameters
x Source vector.
Returns
A vector of length N with the two halves interleaved.

Fully qualified name: kfr::interleavehalves(const vec<T, N> &)

Declared at simd/shuffle.hpp:1299

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