math.ino 418 B

1234567891011121314151617181920212223
  1. #include <limits>
  2. #include "math.h"
  3. uint32_t getDelta(uint32_t prev, uint32_t now) {
  4. uint32_t delta;
  5. if (now >= prev) {
  6. delta = now - prev;
  7. } else {
  8. delta = std::numeric_limits<uint32_t>().max() - prev - now + 1;
  9. }
  10. return delta;
  11. }
  12. uint32_t getDelta(uint32_t prev, uint32_t now, uint32_t max) {
  13. const auto delta = getDelta(prev, now);
  14. if (delta < max) {
  15. return delta;
  16. }
  17. return max;
  18. }