12 #ifndef QMCPLUSPLUS_SIZELIMITEDDATAQUEUE_H 13 #define QMCPLUSPLUS_SIZELIMITEDDATAQUEUE_H 25 template<
typename T,
size_t NUM_FIELDS>
60 std::array<T, NUM_FIELDS> avg;
61 std::fill(avg.begin(), avg.end(), T(0));
63 for (
auto& element :
data)
65 weight_sum += element.weight;
67 avg[i] += element.properties[i] * element.weight;
78 std::deque<value_type>
data;
std::array< T, NUM_FIELDS > properties
collect data with a history limit.
SizeLimitedDataQueue(size_t size_limit)
helper functions for EinsplineSetBuilder
HistoryElement value_type
void push(value_type &&val)
add a new record
std::deque< value_type > data
auto size() const
return the number of records
void push(const value_type &val)
add a new record
auto weighted_avg() const
return weighted average