Mirror of espurna firmware for wireless switches and more
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
661 B

  1. // -----------------------------------------------------------------------------
  2. // Max Filter
  3. // Copyright (C) 2017-2019 by Xose Pérez <xose dot perez at gmail dot com>
  4. // -----------------------------------------------------------------------------
  5. #pragma once
  6. #include "BaseFilter.h"
  7. #include <algorithm>
  8. class MaxFilter : public BaseFilter {
  9. public:
  10. void update(double value) override {
  11. _value = std::max(value, _value);
  12. }
  13. size_t capacity() const override {
  14. return 1;
  15. }
  16. void reset() override {
  17. _value = 0;
  18. }
  19. double value() const {
  20. return _value;
  21. }
  22. private:
  23. double _value = 0;
  24. };