batmat 0.0.13
Batched linear algebra routines
Loading...
Searching...
No Matches
compress.hpp File Reference
#include <batmat/assume.hpp>
#include <batmat/linalg/simdify.hpp>
#include <batmat/linalg/uview.hpp>
#include <batmat/loop.hpp>
#include <batmat/ops/gather.hpp>
#include <batmat/unroll.h>
#include <guanaqo/trace.hpp>

Go to the source code of this file.

Compression of masks containing zeros

template<index_t N = 8, simdifiable VA, simdifiable VS, simdifiable VAo, simdifiable VSo>
index_t batmat::linalg::compress_masks (VA &&Ain, VS &&Sin, VAo &&Aout, VSo &&Sout)
template<index_t N = 8, simdifiable VS>
index_t batmat::linalg::compress_masks_count (VS &&Sin)
template<index_t N = 8, simdifiable VA, simdifiable VS, simdifiable VAo>
index_t batmat::linalg::compress_masks_sqrt (VA &&Ain, VS &&Sin, VAo &&Aout)
template<index_t N = 8, simdifiable VA, simdifiable VS, simdifiable VAo, simdifiable VSo>
index_t batmat::linalg::compress_masks_sqrt (VA &&Ain, VS &&Sin, VAo &&Aout, VSo &&Sout)

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::detail

Functions

template<class T, class Abi, index_t N = 8, StorageOrder OAi>
index_t batmat::linalg::detail::compress_masks_impl (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, auto writeS, auto writeA)
template<class T, class Abi, index_t N = 8>
index_t batmat::linalg::detail::compress_masks_count (view< const T, Abi > S_in)
template<class T, class Abi, index_t N = 8, StorageOrder OAi, StorageOrder OAo>
index_t batmat::linalg::detail::compress_masks (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, view< T, Abi, OAo > A_out, view< T, Abi > S_out)
template<class T, class Abi, index_t N = 8, StorageOrder OAi, StorageOrder OAo>
index_t batmat::linalg::detail::compress_masks_sqrt (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, view< T, Abi, OAo > A_out, view< T, Abi > S_sign_out={})