Skip to content

Function transposeinverse

function transposeinverse(const vec<T, N> &) simd

template <size_t side2, size_t group = 1, typename T, size_t N, size_t size = N / group,
          size_t side1 = size / side2>
    requires(size > 3)
KFR_INTRINSIC vec<T, N> transposeinverse(const vec<T, N>& x)

Inverse transpose of a vector viewed as a side1 x side2 matrix (row-major).

Interprets the vector as a matrix with side2 columns and side1 = size / side2 rows, then transposes. Active when size > 3.

Template parameters
side2 Number of columns in the interpreted matrix.
group Number of lanes in each element group.
T Element type of the vector.
N Input vector length.
size Number of elements per group, equals N / group.
side1 Number of rows, equals size / side2.
Parameters
x Source vector.
Returns
A vector of length N representing the inverse-transposed matrix.

Fully qualified name: kfr::transposeinverse(const vec<T, N> &)

Declared at simd/shuffle.hpp:1101

Function transposeinverse

function transposeinverse(const vec<T, N> &) simd

template <size_t side, size_t groupsize = 1, typename T, size_t N>
    requires(N / groupsize <= 3)
KFR_INTRINSIC vec<T, N> transposeinverse(const vec<T, N>& x)

Identity overload of transposeinverse() for small vectors (size <= 3).

transposeinverse

Fully qualified name: kfr::transposeinverse(const vec<T, N> &)

Declared at simd/shuffle.hpp:1112

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