simdpp::transpose2

From libsimdpp-docs
template<unsigned N>
void transpose4( Vec<N>& a, Vec<N>& b, Vec<N>& c, Vec<N>& d );

Transposes two vectors at 4x4 element block granularity.

The implementation behaves as if the following set of overloads is provided:

Vec
int16
uint16
int32
uint32
int64
uint64
float32
float64

Parameters[edit]

a, b, c, d - vectors to transpose

Return value[edit]

(none)

Equivalent operation[edit]

a = [ a0 , b0 , c0 , d0  ,  a4 , b4 , c4 , d4 , ... ]
b = [ a1 , b1 , c1 , d1  ,  a5 , b5 , c5 , d5 , ... ]
c = [ a2 , b2 , c2 , d2  ,  a6 , b6 , c6 , d6 , ... ]
d = [ a3 , b3 , c3 , d3  ,  a7 , b7 , c7 , d7 , ... ]

See also[edit]