diff --git a/include/armadillo_bits/fn_accu.hpp b/include/armadillo_bits/fn_accu.hpp index 41fcaadc..3b24e0ce 100644 --- a/include/armadillo_bits/fn_accu.hpp +++ b/include/armadillo_bits/fn_accu.hpp @@ -1408,6 +1408,8 @@ accu(const SpOp& expr) { const SpSubview_col& svcol = reinterpret_cast&>(expr.m); + if(svcol.n_nonzero == 0) { return eT(0); } + if(svcol.n_rows == svcol.m.n_rows) { arma_debug_print("accu(): SpSubview_col spop_square optimisation"); @@ -1460,6 +1462,8 @@ accu_spop_omit_helper(const T1& expr, functor is_omitted) { const SpSubview_col& svcol = reinterpret_cast&>(expr); + if(svcol.n_nonzero == 0) { return eT(0); } + if(svcol.n_rows == svcol.m.n_rows) { arma_debug_print("accu_spop_omit_helper(): SpSubview_col optimisation");