52 explicit MeanFilter(
const std::uint_fast8_t window_size);
65 double Update(
const double measurement);
68 void RemoveEarliest();
69 void Insert(
const double value);
70 double GetMin()
const;
71 double GetMax()
const;
72 bool ShouldPopOldestCandidate(
const std::uint_fast8_t old_time)
const;
73 std::uint_fast8_t window_size_ = 0;
75 std::uint_fast8_t time_ = 0;
77 std::deque<double> values_;
79 std::deque<std::pair<std::uint_fast8_t, double>> min_candidates_;
81 std::deque<std::pair<std::uint_fast8_t, double>> max_candidates_;
82 bool initialized_ =
false;