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