Skip to content

Function shuffleindexbits

function shuffleindexbits(const vec<T, N> &, elements_t<A...>) simd

template <size_t group = 1, typename T, size_t N, size_t... A>
KFR_INTRINSIC vec<T, N> shuffleindexbits(const vec<T, N>& x, elements_t<A...>)

Shuffles lanes of x by permuting the bits of each lane index.

Each lane index i in [0, N / group) is decomposed into bits, and the bits are reordered: bit A[j] of i is moved to bit position j (LSB-first) of the new index. This implements an arbitrary bit-permutation of the index space, useful for FFT-style reordering.

Template parameters
group Number of lanes in each element group, must be a power of two.
T Element type of the vector.
N Input vector length, must be a power of two.
A Bit position specifiers; the count must equal ilog2( N / group).
Parameters
x Source vector.
Returns
A vector of length N with lanes reordered by the bit permutation.

Fully qualified name: kfr::shuffleindexbits(const vec<T, N> &, elements_t<A...>)

Declared at simd/shuffle.hpp:1208

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