From 2cb9b6fdc38a5df00ade737f90a9daf685ab89c3 Mon Sep 17 00:00:00 2001 From: flu0r1ne Date: Thu, 13 Jul 2023 12:20:29 -0500 Subject: Init commit --- src/models/counter.hpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/models/counter.hpp (limited to 'src/models/counter.hpp') diff --git a/src/models/counter.hpp b/src/models/counter.hpp new file mode 100644 index 0000000..d1b68fc --- /dev/null +++ b/src/models/counter.hpp @@ -0,0 +1,33 @@ +#pragma once + +#include +#include +#include "models/timer.hpp" + +class FreqCounter { + + public: + + FreqCounter(FreqTimer const & timer) + : _timer(&timer) + {} + + void reset() { _cnt = _overtime_cnt = 0; } + + void inc(); + + uint32_t cnt() const { return _cnt; } + + [[nodiscard]] double rate() const; + + [[nodiscard]] double overtime_rate() const; + + [[nodiscard]] std::string display_value() const; + + + private: + + uint32_t _cnt; + uint32_t _overtime_cnt; + FreqTimer const * _timer; +}; -- cgit v1.2.3