From 175a0bcbd7d83586fc62e42f314160d34bd02005 Mon Sep 17 00:00:00 2001 From: conrad Date: Wed, 31 Mar 2021 14:23:25 +1000 Subject: [PATCH] detect failure --- include/armadillo_bits/fn_log_det.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/armadillo_bits/fn_log_det.hpp b/include/armadillo_bits/fn_log_det.hpp index b8a9918b..6d53e5e0 100644 --- a/include/armadillo_bits/fn_log_det.hpp +++ b/include/armadillo_bits/fn_log_det.hpp @@ -89,21 +89,21 @@ log_det eT x = A[0]; - T sign = (is_cx::no) ? ( (access::tmp_real(x) < T(0)) ? -1 : +1 ) : +1; - eT val = (is_cx::no) ? std::log( (access::tmp_real(x) < T(0)) ? x*T(-1) : x ) : std::log(x); + T sign = (is_cx::no) ? ( (access::tmp_real(x) < T(0)) ? T(-1) : T(1) ) : T(1); + eT val = (is_cx::no) ? std::log( (access::tmp_real(x) < T(0)) ? x*T(-1) : x ) : std::log(x); for(uword i=1; i::no) ? ( (access::tmp_real(x) < T(0)) ? -1 : +1 ) : +1; - val += (is_cx::no) ? std::log( (access::tmp_real(x) < T(0)) ? x*T(-1) : x ) : std::log(x); + sign *= (is_cx::no) ? ( (access::tmp_real(x) < T(0)) ? T(-1) : T(1) ) : T(1); + val += (is_cx::no) ? std::log( (access::tmp_real(x) < T(0)) ? x*T(-1) : x ) : std::log(x); } out_val = val; out_sign = sign; - return true; // TODO: detect failure + return arma_isnan(out_val); }