From 3e4d4f39ea41cac8149253302d81f8aa145f69ac Mon Sep 17 00:00:00 2001 From: lisyarus Date: Thu, 4 Sep 2025 00:54:04 +0300 Subject: [PATCH] Fix NaN's in profiling statistics --- libs/util/include/psemek/util/statistics.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/util/include/psemek/util/statistics.hpp b/libs/util/include/psemek/util/statistics.hpp index e7643125..7a747f7a 100644 --- a/libs/util/include/psemek/util/statistics.hpp +++ b/libs/util/include/psemek/util/statistics.hpp @@ -120,8 +120,11 @@ namespace psemek::util base_statistics result; result.count_ = s1.count_ + s2.count_; - result.mean_ = (s1.count_ * s1.mean_ + s2.count_ * s2.mean_) / result.count_; - result.variance_ = (s1.count_ * (s1.variance_ + sqr(s1.mean_ - result.mean_)) + s2.count_ * (s2.variance_ + sqr(s2.mean_ - result.mean_))) / result.count_; + if (result.count_ > 0) + { + result.mean_ = (s1.count_ * s1.mean_ + s2.count_ * s2.mean_) / result.count_; + result.variance_ = (s1.count_ * (s1.variance_ + sqr(s1.mean_ - result.mean_)) + s2.count_ * (s2.variance_ + sqr(s2.mean_ - result.mean_))) / result.count_; + } return result; }