MCPcopy Create free account
hub / github.com/numpy/numpy / npyv_unzip_u8

Function npyv_unzip_u8

numpy/core/src/common/simd/vec/reorder.h:72–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70
71// deinterleave two vectors
72NPY_FINLINE npyv_u8x2 npyv_unzip_u8(npyv_u8 ab0, npyv_u8 ab1)
73{
74 const npyv_u8 idx_even = npyv_set_u8(
75 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30
76 );
77 const npyv_u8 idx_odd = npyv_set_u8(
78 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31
79 );
80 npyv_u8x2 r;
81 r.val[0] = vec_perm(ab0, ab1, idx_even);
82 r.val[1] = vec_perm(ab0, ab1, idx_odd);
83 return r;
84}
85NPY_FINLINE npyv_s8x2 npyv_unzip_s8(npyv_s8 ab0, npyv_s8 ab1)
86{
87 npyv_u8x2 ru = npyv_unzip_u8((npyv_u8)ab0, (npyv_u8)ab1);

Callers 1

npyv_unzip_s8Function · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected