Skip to content

Function zip

function zip(const vec<T, N1> &, const vec<T, Ns> &...) simd

template <typename T, size_t N1, size_t... Ns, size_t size = N1 + csum<size_t, Ns...>(),
          size_t side2 = 1 + sizeof...(Ns), size_t side1 = size / side2>
KFR_INTRINSIC vec<vec<T, side2>, side1> zip(const vec<T, N1>& x, const vec<T, Ns>&... y)

Zips multiple vectors into a vector of vectors.

The inputs are interleaved and regrouped into inner vectors of length side2 (the number of inputs). The number of inputs must be a power of two.

Template parameters
T Element type of the vectors.
N1 Length of the first input vector.
Ns Lengths of the remaining input vectors.
size Total number of scalar elements, equals N1 + csum(Ns...).
side2 Number of input vectors.
side1 Number of inner vectors in the result, equals size / side2.
Parameters
x First source vector.
y Remaining source vectors.
Returns
A vector of side1 inner vectors, each of length side2.

Fully qualified name: kfr::zip(const vec<T, N1> &, const vec<T, Ns> &...)

Declared at simd/shuffle.hpp:1260

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