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; }