proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
|
Namespaces | |
namespace | _simd |
namespace | nb |
Classes | |
struct | ConstantR |
struct | ElemAddrImpl |
struct | ElemAddrImpl< false > |
struct | ElemAddrImpl< true > |
struct | IndicesR |
struct | NoCopy |
struct | RankRUpdateLoopImpl |
struct | RankRUpdateLoopImpl< false > |
struct | RankRUpdateLoopImpl< true > |
struct | RankUpdateLoadPMu |
struct | RankUpdateLoadW |
struct | RankUpdateStoreW |
struct | RankUpdateUpdateWAndL |
struct | RowColAccessImpl |
struct | RowColAccessImpl< false > |
struct | RowColAccessImpl< true > |
struct | SimdAlignedSystemAlloc |
Typedefs | |
template<bool COND, typename T > | |
using | const_if = proxsuite::linalg::veg::meta::if_t<COND, T const, T> |
template<typename T > | |
using | ptr_is_const |
template<typename T > | |
using | should_vectorize = proxsuite::linalg::veg::meta::bool_constant<false> |
template<typename T > | |
using | OwnedMatrix |
template<typename T > | |
using | OwnedAll |
template<typename T > | |
using | OwnedRows |
template<typename T > | |
using | OwnedCols |
template<typename T > | |
using | OwnedColVector |
template<typename T > | |
using | OwnedRowVector |
template<typename T > | |
using | StrideOf |
using | factorize_recursive_threshold |
Functions | |
template<typename T > | |
constexpr auto | round_up (T a, T b) noexcept -> T |
template<typename T > | |
auto | adjusted_stride (isize n) noexcept -> isize |
template<typename T > | |
auto | align () noexcept -> isize |
VEG_NIEBLOID (min2) | |
VEG_NIEBLOID (max2) | |
template<typename T > | |
void | set_zero (T *dest, usize n) |
template<typename Dst , typename Lhs , typename Rhs , typename T > | |
void | noalias_mul_add_impl (Dst dst, Lhs lhs, Rhs rhs, T factor) |
template<typename T > | |
VEG_NO_INLINE void | compute_permutation_impl (isize *perm_indices, isize *perm_inv_indices, isize n, T const *diagonal_data, isize stride) |
template<typename Diag > | |
VEG_NO_INLINE void | compute_permutation (isize *perm_indices, isize *perm_inv_indices, Diag const &diagonal) |
template<typename Mat , typename Work > | |
void | apply_permutation_tri_lower (Mat &&mat, Work &&work, isize const *perm_indices) |
template<typename Mat > | |
void | factorize_unblocked_impl (Mat mat, proxsuite::linalg::veg::dynstack::DynStackMut stack) |
template<typename Mat > | |
void | factorize_blocked_impl (Mat mat, isize block_size, proxsuite::linalg::veg::dynstack::DynStackMut stack) |
template<typename Mat > | |
void | factorize_recursive_impl (Mat mat, proxsuite::linalg::veg::dynstack::DynStackMut stack) |
template<typename Mat > | |
void | delete_rows_and_cols_triangular_impl (Mat mat, isize const *indices, isize r) |
template<typename Mat > | |
void | delete_rows_and_cols_triangular (Mat &&mat, isize const *indices, isize r) |
template<typename Mat > | |
void | ldlt_delete_rows_and_cols_impl (Mat ld, isize *indices, isize r, proxsuite::linalg::veg::dynstack::DynStackMut stack) |
template<typename Mat , typename A_1 > | |
void | ldlt_insert_rows_and_cols_impl (Mat ld, isize pos, A_1 a_1, proxsuite::linalg::veg::dynstack::DynStackMut stack) |
template<typename Mat , typename Rhs > | |
void | solve_impl (Mat ld, Rhs rhs) |
auto | bytes_to_prev_aligned (void *ptr, usize align) noexcept -> isize |
auto | bytes_to_next_aligned (void *ptr, usize align) noexcept -> isize |
template<usize... Is, typename Fn > | |
VEG_INLINE void | unroll_impl (proxsuite::linalg::veg::meta::index_sequence< Is... >, Fn fn) |
template<usize N, typename Fn > | |
VEG_INLINE void | unroll (Fn fn) |
template<usize R, typename T , usize N> | |
VEG_INLINE void | rank_r_update_inner_loop_iter (_simd::Pack< T, N > const *p_p, _simd::Pack< T, N > const *p_mu, T *inout_l, T *pw, isize w_stride) |
template<usize R, typename T > | |
VEG_INLINE void | rank_r_update_inner_loop (isize n, T *inout_l, T *pw, isize w_stride, T const *p, T const *mu) |
template<typename LD , typename T , typename Fn > | |
void | rank_r_update_clobber_w_impl (LD ld, T *pw, isize w_stride, T *palpha, Fn r_fn) |
using proxsuite::linalg::dense::_detail::const_if = proxsuite::linalg::veg::meta::if_t<COND, T const, T> |
using proxsuite::linalg::dense::_detail::ptr_is_const |
using proxsuite::linalg::dense::_detail::should_vectorize = proxsuite::linalg::veg::meta::bool_constant<false> |
using proxsuite::linalg::dense::_detail::OwnedMatrix |
using proxsuite::linalg::dense::_detail::OwnedAll |
using proxsuite::linalg::dense::_detail::OwnedRows |
using proxsuite::linalg::dense::_detail::OwnedCols |
using proxsuite::linalg::dense::_detail::OwnedColVector |
using proxsuite::linalg::dense::_detail::OwnedRowVector |
using proxsuite::linalg::dense::_detail::StrideOf |
Definition at line 212 of file factorize.hpp.
|
constexprnoexcept |
|
noexcept |
|
noexcept |
proxsuite::linalg::dense::_detail::VEG_NIEBLOID | ( | min2 | ) |
proxsuite::linalg::dense::_detail::VEG_NIEBLOID | ( | max2 | ) |
void proxsuite::linalg::dense::_detail::set_zero | ( | T * | dest, |
usize | n ) |
void proxsuite::linalg::dense::_detail::noalias_mul_add_impl | ( | Dst | dst, |
Lhs | lhs, | ||
Rhs | rhs, | ||
T | factor ) |
VEG_NO_INLINE void proxsuite::linalg::dense::_detail::compute_permutation_impl | ( | isize * | perm_indices, |
isize * | perm_inv_indices, | ||
isize | n, | ||
T const * | diagonal_data, | ||
isize | stride ) |
Definition at line 19 of file factorize.hpp.
VEG_NO_INLINE void proxsuite::linalg::dense::_detail::compute_permutation | ( | isize * | perm_indices, |
isize * | perm_inv_indices, | ||
Diag const & | diagonal ) |
Definition at line 50 of file factorize.hpp.
void proxsuite::linalg::dense::_detail::apply_permutation_tri_lower | ( | Mat && | mat, |
Work && | work, | ||
isize const * | perm_indices ) |
Definition at line 64 of file factorize.hpp.
void proxsuite::linalg::dense::_detail::factorize_unblocked_impl | ( | Mat | mat, |
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) |
Definition at line 91 of file factorize.hpp.
void proxsuite::linalg::dense::_detail::factorize_blocked_impl | ( | Mat | mat, |
isize | block_size, | ||
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) |
Definition at line 152 of file factorize.hpp.
void proxsuite::linalg::dense::_detail::factorize_recursive_impl | ( | Mat | mat, |
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) |
Definition at line 217 of file factorize.hpp.
void proxsuite::linalg::dense::_detail::delete_rows_and_cols_triangular_impl | ( | Mat | mat, |
isize const * | indices, | ||
isize | r ) |
Definition at line 21 of file modify.hpp.
void proxsuite::linalg::dense::_detail::delete_rows_and_cols_triangular | ( | Mat && | mat, |
isize const * | indices, | ||
isize | r ) |
Definition at line 52 of file modify.hpp.
void proxsuite::linalg::dense::_detail::ldlt_delete_rows_and_cols_impl | ( | Mat | ld, |
isize * | indices, | ||
isize | r, | ||
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) |
Definition at line 82 of file modify.hpp.
void proxsuite::linalg::dense::_detail::ldlt_insert_rows_and_cols_impl | ( | Mat | ld, |
isize | pos, | ||
A_1 | a_1, | ||
proxsuite::linalg::veg::dynstack::DynStackMut | stack ) |
Definition at line 131 of file modify.hpp.
void proxsuite::linalg::dense::_detail::solve_impl | ( | Mat | ld, |
Rhs | rhs ) |
|
inlinenoexcept |
Definition at line 15 of file update.hpp.
|
inlinenoexcept |
Definition at line 25 of file update.hpp.
VEG_INLINE void proxsuite::linalg::dense::_detail::unroll_impl | ( | proxsuite::linalg::veg::meta::index_sequence< Is... > | , |
Fn | fn ) |
Definition at line 37 of file update.hpp.
VEG_INLINE void proxsuite::linalg::dense::_detail::unroll | ( | Fn | fn | ) |
Definition at line 45 of file update.hpp.
VEG_INLINE void proxsuite::linalg::dense::_detail::rank_r_update_inner_loop_iter | ( | _simd::Pack< T, N > const * | p_p, |
_simd::Pack< T, N > const * | p_mu, | ||
T * | inout_l, | ||
T * | pw, | ||
isize | w_stride ) |
Definition at line 94 of file update.hpp.
VEG_INLINE void proxsuite::linalg::dense::_detail::rank_r_update_inner_loop | ( | isize | n, |
T * | inout_l, | ||
T * | pw, | ||
isize | w_stride, | ||
T const * | p, | ||
T const * | mu ) |
Definition at line 208 of file update.hpp.
void proxsuite::linalg::dense::_detail::rank_r_update_clobber_w_impl | ( | LD | ld, |
T * | pw, | ||
isize | w_stride, | ||
T * | palpha, | ||
Fn | r_fn ) |
Definition at line 221 of file update.hpp.