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.
| 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. |
| x | First source vector. |
| y | Remaining source vectors. |
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.