diff --git a/include/armadillo_bits/op_inv_gen_meat.hpp b/include/armadillo_bits/op_inv_gen_meat.hpp index 74f24a13..c8630345 100644 --- a/include/armadillo_bits/op_inv_gen_meat.hpp +++ b/include/armadillo_bits/op_inv_gen_meat.hpp @@ -185,7 +185,7 @@ op_inv_gen_full::apply_direct(Mat& out, const Base::value || out.is_diagmat()) { - arma_debug_print("op_inv_gen_full: detected diagonal matrix"); + arma_debug_print("op_inv_gen_full: diag optimisation"); eT* colmem = out.memptr(); @@ -216,19 +216,24 @@ op_inv_gen_full::apply_direct(Mat& out, const Base& out, op_inv_gen_stat if(is_op_diagmat::value || out.is_diagmat()) { - arma_debug_print("op_inv_gen_rcond: detected diagonal matrix"); + arma_debug_print("op_inv_gen_rcond: diag optimisation"); out_state.is_diag = true; @@ -387,6 +392,8 @@ op_inv_gen_rcond::apply_direct(Mat& out, op_inv_gen_stat if(is_triu_expr || is_tril_expr || is_triu_mat || is_tril_mat) { + arma_debug_print("op_inv_gen_rcond: tri optimisation"); + return auxlib::inv_tr_rcond(out, out_state.rcond, ((is_triu_expr || is_triu_mat) ? uword(0) : uword(1))); }