#pragma once #include "types.hpp" namespace JabyEngine { template static constexpr pair div_and_mod(T value, T div) { const auto result = value/div; return {static_cast(result), static_cast(value - (result*div))}; } static constexpr uint8_t to_bcd(uint8_t value) { const auto [tenth, rest] = div_and_mod(value, static_cast(10)); return (tenth << 4 | rest); } }