// SPDX-FileCopyrightText: 2019-2026 Connor McLaughlin <[email protected]>1// SPDX-License-Identifier: CC-BY-NC-ND-4.023#pragma once45#include "types.h"67// BCD helpers8ALWAYS_INLINE constexpr u8 BinaryToBCD(u8 value)9{10return ((value / 10) << 4) + (value % 10);11}12ALWAYS_INLINE constexpr u8 PackedBCDToBinary(u8 value)13{14return ((value >> 4) * 10) + (value % 16);15}16ALWAYS_INLINE constexpr u8 IsValidBCDDigit(u8 digit)17{18return (digit <= 9);19}20ALWAYS_INLINE constexpr u8 IsValidPackedBCD(u8 value)21{22return IsValidBCDDigit(value & 0x0F) && IsValidBCDDigit(value >> 4);23}242526