From 3b896ccecba8effae0fb68ae6b656a9525d6614c Mon Sep 17 00:00:00 2001 From: Thiago Santini Date: Thu, 17 Jan 2019 17:12:08 +0100 Subject: [PATCH] Adds mean and makes median more generic --- EyeRecToo/src/utils.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/EyeRecToo/src/utils.h b/EyeRecToo/src/utils.h index 65973f7..275b3e4 100644 --- a/EyeRecToo/src/utils.h +++ b/EyeRecToo/src/utils.h @@ -100,12 +100,17 @@ void set(const QSettings* settings, const QString key, T& v) void loadSoundEffect(const QString& fileName, const QString& exeDir, QSoundEffect& effect); template -double median(std::vector v) +double median(T v) { - int size = static_cast(v.size()); std::sort(v.begin(), v.end()); - int mid = size / 2; - return size % 2 == 0 ? (v[mid] + v[mid - 1]) / 2 : v[mid]; + size_t mid = v.size() / 2; + return v.size() % 2 == 0 ? (v[mid] + v[mid - 1]) / 2 : v[mid]; +} + +template +double mean(T v) +{ + return std::accumulate(v.begin(), v.end(), 0.0) / v.size(); } template -- GitLab