fix bug in average

This commit is contained in:
Niclas Antti
2019-12-16 09:25:22 +02:00
parent c04b7bc414
commit 41c1ce441a
2 changed files with 2 additions and 5 deletions

View File

@ -60,8 +60,7 @@ public:
CumulativeAverage& operator+=(const CumulativeAverage& rhs); CumulativeAverage& operator+=(const CumulativeAverage& rhs);
private: private:
double m_ave = 0; double m_ave = 0;
int m_num_samples = 0; long m_num_samples = 0;
int m_num_last_added = 0;
}; };
CumulativeAverage operator+(const CumulativeAverage& rhs, const CumulativeAverage& lhs); CumulativeAverage operator+(const CumulativeAverage& rhs, const CumulativeAverage& lhs);

View File

@ -27,10 +27,9 @@ void CumulativeAverage::add(double ave, int num_samples)
} }
else else
{ {
m_ave = (m_ave * (m_num_samples - m_num_last_added) m_ave = (m_ave * (m_num_samples - num_samples)
+ ave * num_samples) / m_num_samples; + ave * num_samples) / m_num_samples;
} }
m_num_last_added = num_samples;
} }
double CumulativeAverage::average() const double CumulativeAverage::average() const
@ -58,7 +57,6 @@ void CumulativeAverage::reset()
{ {
m_ave = 0; m_ave = 0;
m_num_samples = 0; m_num_samples = 0;
m_num_last_added = 0;
} }
EMAverage::EMAverage(double min_alpha, double max_alpha, int sample_max) EMAverage::EMAverage(double min_alpha, double max_alpha, int sample_max)