op_rank_meat.hpp (armadillo-10.8.2.tar.xz) | : | op_rank_meat.hpp (armadillo-11.0.0.tar.xz) | ||
---|---|---|---|---|
skipping to change at line 41 | skipping to change at line 41 | |||
if(A.is_empty()) { out = uword(0); return true; } | if(A.is_empty()) { out = uword(0); return true; } | |||
if(is_op_diagmat<T1>::value || A.is_diagmat()) | if(is_op_diagmat<T1>::value || A.is_diagmat()) | |||
{ | { | |||
arma_extra_debug_print("op_rank::apply(): detected diagonal matrix"); | arma_extra_debug_print("op_rank::apply(): detected diagonal matrix"); | |||
return op_rank::apply_diag(out, A, tol); | return op_rank::apply_diag(out, A, tol); | |||
} | } | |||
#if defined(ARMA_OPTIMISE_SYMPD) | bool do_sym = false; | |||
bool do_sym = false; | ||||
if((auxlib::crippled_lapack(A) == false) && (A.n_rows >= (is_cx<eT>::yes ? u | if((arma_config::optimise_sympd) && (auxlib::crippled_lapack(A) == false) && ( | |||
word(64) : uword(128)))) | A.n_rows >= (is_cx<eT>::yes ? uword(64) : uword(128)))) | |||
{ | { | |||
bool is_approx_sym = false; | bool is_approx_sym = false; | |||
bool is_approx_sympd = false; | bool is_approx_sympd = false; | |||
sympd_helper::analyse_matrix(is_approx_sym, is_approx_sympd, A); | sympd_helper::analyse_matrix(is_approx_sym, is_approx_sympd, A); | |||
do_sym = (is_cx<eT>::no) ? (is_approx_sym) : (is_approx_sym && is_approx_s | do_sym = (is_cx<eT>::no) ? (is_approx_sym) : (is_approx_sym && is_approx_sym | |||
ympd); | pd); | |||
} | } | |||
#else | ||||
const bool do_sym = false; | ||||
#endif | ||||
if(do_sym) | if(do_sym) | |||
{ | { | |||
arma_extra_debug_print("op_rank::apply(): symmetric/hermitian optimisation") ; | arma_extra_debug_print("op_rank::apply(): symmetric/hermitian optimisation") ; | |||
return op_rank::apply_sym(out, A, tol); | return op_rank::apply_sym(out, A, tol); | |||
} | } | |||
return op_rank::apply_gen(out, A, tol); | return op_rank::apply_gen(out, A, tol); | |||
} | } | |||
End of changes. 2 change blocks. | ||||
16 lines changed or deleted | 12 lines changed or added |