bedrock/src/numbers.cppm
2025-06-07 14:17:56 -06:00

31 lines
903 B
C++

export module bedrock.numbers;
namespace br {
export using usize = decltype(sizeof 0);
export using isize = decltype(static_cast<usize*>(nullptr) - static_cast<usize*>(nullptr));
export using uint8 = unsigned char;
static_assert(sizeof(uint8) == 1);
export using uint16 = unsigned short;
static_assert(sizeof(uint16) == 2);
export using uint32 = unsigned int;
static_assert(sizeof(uint32) == 4);
export using uint64 = unsigned long;
static_assert(sizeof(uint64) == 8);
export using int8 = signed char;
static_assert(sizeof(int8) == 1);
export using int16 = signed short;
static_assert(sizeof(int16) == 2);
export using int32 = signed int;
static_assert(sizeof(int32) == 4);
export using int64 = signed long;
static_assert(sizeof(int64) == 8);
export using float32 = float;
static_assert(sizeof(float32) == 4);
export using float64 = double;
static_assert(sizeof(float64) == 8);
} // namespace br