From 06e82f803f06a731e3a49b3818be3e45fc577a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 15 Jul 2024 18:20:26 +0200 Subject: [PATCH] Simplification using std::accumulate --- mex/sources/libkorder/tl/equivalence.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mex/sources/libkorder/tl/equivalence.cc b/mex/sources/libkorder/tl/equivalence.cc index 5728679fc6..d471bcca84 100644 --- a/mex/sources/libkorder/tl/equivalence.cc +++ b/mex/sources/libkorder/tl/equivalence.cc @@ -23,6 +23,7 @@ #include "tl_exception.hh" #include <iostream> +#include <numeric> int OrdSequence::operator[](int i) const @@ -102,11 +103,8 @@ OrdSequence::has(int i) const double OrdSequence::average() const { - double res = 0; - for (int i : data) - res += i; - TL_RAISE_IF(data.size() == 0, "Attempt to take average of empty class in OrdSequence::average"); - return res / data.size(); + TL_RAISE_IF(data.empty(), "Attempt to take average of empty class in OrdSequence::average"); + return std::accumulate(data.begin(), data.end(), 0.) / data.size(); } /* Debug print. */ -- GitLab