Support util::statistics_lite::push(value,count)
This commit is contained in:
parent
dc232b8fba
commit
f3d005b4f3
1 changed files with 5 additions and 5 deletions
|
|
@ -44,7 +44,7 @@ namespace psemek::util
|
|||
template <typename T>
|
||||
struct statistics_lite
|
||||
{
|
||||
void push(T const & value);
|
||||
void push(T const & value, std::size_t count = 1);
|
||||
|
||||
std::size_t count() const { return count_; }
|
||||
T mean() const;
|
||||
|
|
@ -64,11 +64,11 @@ namespace psemek::util
|
|||
};
|
||||
|
||||
template <typename T>
|
||||
void statistics_lite<T>::push(T const & value)
|
||||
void statistics_lite<T>::push(T const & value, std::size_t count)
|
||||
{
|
||||
++count_;
|
||||
sum_ += value;
|
||||
sum_sqr_ += value * value;
|
||||
count_ += count;
|
||||
sum_ += value * static_cast<T>(count);
|
||||
sum_sqr_ += value * value * static_cast<T>(count);
|
||||
min_ = std::min(min_, value);
|
||||
max_ = std::max(max_, value);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue