64 #ifndef WINDOWED_FILTER_H_ 65 #define WINDOWED_FILTER_H_ 85 if (rhs == 0 || lhs == 0)
109 if (rhs == 0 || lhs == 0)
132 template <
class T,
class Compare,
typename TimeT,
typename TimeDeltaT>
174 void Update (T new_sample, TimeT new_time)
179 || Compare () (new_sample,
m_samples[0].sample)
182 Reset (new_sample, new_time);
185 if (Compare () (new_sample,
m_samples[1].sample))
187 m_samples[1] = Sample (new_sample, new_time);
190 else if (Compare () (new_sample,
m_samples[2].sample))
192 m_samples[2] = Sample (new_sample, new_time);
201 m_samples[2] = Sample (new_sample, new_time);
226 m_samples[2] = Sample (new_sample, new_time);
235 void Reset (T new_sample, TimeT new_time)
299 #endif // WINDOWED_FILTER_H_
T GetBest() const
Returns Max/Min value so far among the windowed samples.
void Update(T new_sample, TimeT new_time)
Updates best estimates with |sample|, and expires and updates best estimates as necessary.
WindowedFilter(TimeDeltaT windowLength, T zeroValue, TimeT zeroTime)
contructor
T GetThirdBest() const
Returns third Max/Min value so far among the windowed samples.
TimeT time
time when the sample was recorded.
T m_zeroValue
Uninitialized value of T.
Construct a windowed filter.
bool operator()(const T &lhs, const T &rhs) const
Compares two values.
WindowedFilter()
contructor
Every class exported by the ns3 library is enclosed in the ns3 namespace.
T GetSecondBest() const
Returns second Max/Min value so far among the windowed samples.
Sample m_samples[3]
Best estimate is element 0.
Sample(T init_sample, TimeT init_time)
constructor
TimeDeltaT m_windowLength
Time length of window.
bool operator()(const T &lhs, const T &rhs) const
Compares two values.
void SetWindowLength(TimeDeltaT windowLength)
Changes the window length.
void Reset(T new_sample, TimeT new_time)
Resets all estimates to new sample.