From df0d597efec0855fbf5cc694d24e1902af8a68b0 Mon Sep 17 00:00:00 2001 From: conrad Date: Sun, 19 Oct 2025 11:43:13 +1000 Subject: [PATCH] speedup --- include/armadillo_bits/op_accu_meat.hpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/include/armadillo_bits/op_accu_meat.hpp b/include/armadillo_bits/op_accu_meat.hpp index 3771bc9d..2d8f5e75 100644 --- a/include/armadillo_bits/op_accu_meat.hpp +++ b/include/armadillo_bits/op_accu_meat.hpp @@ -642,11 +642,23 @@ op_accu_mat::apply(const subview_row& X) const eT* row_mem = &(X.m.at(X.aux_row1,X.aux_col1)); - eT val = eT(0); + eT val1 = eT(0); + eT val2 = eT(0); - for(uword i=0; i < X_n_cols; ++i) { val += (*row_mem); row_mem += X_m_n_rows; } + uword j; - return val; + for(j=1; j < X_n_cols; j+=2) + { + val1 += (*row_mem); row_mem += X_m_n_rows; + val2 += (*row_mem); row_mem += X_m_n_rows; + } + + if((j-1) < X_n_cols) + { + val1 += (*row_mem); row_mem += X_m_n_rows; + } + + return val1 + val2; }