jabyengine/include/PSX/Auxiliary/math_helper.hpp

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);
}
}