diff --git a/include/armadillo_bits/op_pinv_meat.hpp b/include/armadillo_bits/op_pinv_meat.hpp index 3cd0eb23..7457805a 100644 --- a/include/armadillo_bits/op_pinv_meat.hpp +++ b/include/armadillo_bits/op_pinv_meat.hpp @@ -79,7 +79,9 @@ op_pinv::apply_direct(Mat& out, const Base (is_cx::yes ? uword(20) : uword(40)))) ) { bool is_approx_sym = false; bool is_approx_sympd = false; @@ -87,7 +89,7 @@ op_pinv::apply_direct(Mat& out, const Base::no) ? (is_approx_sym) : (is_approx_sym && is_approx_sympd); - do_sympd = is_approx_sympd && (tol == T(0)) && (method_id == uword(0)); + do_sympd = is_approx_sympd && have_default_args; } #else const bool do_sym = false; @@ -110,7 +112,7 @@ op_pinv::apply_direct(Mat& out, const Base (is_cx::yes ? uword(20) : uword(40)))) + if(do_sym) { arma_extra_debug_print("op_pinv: symmetric/hermitian optimisation");