5#include <batmat/micro-kernels/potrf/export.h>
21template <
class T,
class Abi, KernelConfig Conf>
23template <
class T,
class Abi, KernelConfig Conf>
26template <
class T,
class Abi, KernelConfig Conf, index_t RowsReg, StorageOrder O1, StorageOrder O2>
29 index_t k2, T regularization,
40template <
class T,
class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OCD>
41BATMAT_LINALG_POTRF_EXPORT
void
47template <
class T,
class Abi>
constexpr index_t RowsReg
Register block size of the matrix-matrix multiplication micro-kernels.
constexpr index_t ColsReg
constexpr index_t RowsReg
Register block size of the matrix-matrix multiplication micro-kernels.
std::conditional_t< Conf.with_diag(), uview_vec< T, Abi >, std::false_type > diag_uview_type
void trsm_copy_microkernel(uview< const T, Abi, O1 > A1, uview< const T, Abi, O1 > B1, uview< const T, Abi, O2 > A2, uview< const T, Abi, O2 > B2, uview< const T, Abi, O2 > L, const T *invL, uview< const T, Abi, O2 > C, uview< T, Abi, O2 > D, index_t k1, index_t k2, diag_uview_type< const T, Abi, Conf > diag) noexcept
void potrf_copy_register(view< const T, Abi, OA > A, view< const T, Abi, OCD > C, view< T, Abi, OCD > D, T regularization, diag_view_type< const T, Abi, Conf > diag) noexcept
std::conditional_t< Conf.with_diag(), view< T, Abi >, std::false_type > diag_view_type
void potrf_copy_microkernel(uview< const T, Abi, O1 > A1, uview< const T, Abi, O2 > A2, uview< const T, Abi, O2 > C, uview< T, Abi, O2 > D, T *invD, index_t k1, index_t k2, T regularization, diag_uview_type< const T, Abi, Conf > diag) noexcept
simd_view_types< std::remove_const_t< T >, Abi >::template view< T, Order > view
enum batmat::linalg::micro_kernels::potrf::KernelConfig::@251003062227232146206006340175351212340342314017 diag_A
@ diag_sign_only
chol(C ± AΣAᵀ) with Σ diagonal and containing only ±0 (just sign bits)
@ diag
chol(C ± AΣAᵀ) with Σ diagonal
constexpr bool with_diag() const noexcept
bool negate_A
Whether to compute chol(C - AAᵀ) instead of chol(C + AAᵀ).