#pragma once typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; typedef char int8_t; typedef short int16_t; typedef int int32_t; typedef long long int64_t; typedef unsigned int uintptr_t; typedef int intptr_t; _Static_assert(sizeof (uint8_t) == 1, "invalid size"); _Static_assert(sizeof (uint16_t) == 2, "invalid size"); _Static_assert(sizeof (uint32_t) == 4, "invalid size"); _Static_assert(sizeof (uint64_t) == 8, "invalid size"); _Static_assert(sizeof (int8_t) == 1, "invalid size"); _Static_assert(sizeof (int16_t) == 2, "invalid size"); _Static_assert(sizeof (int32_t) == 4, "invalid size"); _Static_assert(sizeof (int64_t) == 8, "invalid size"); _Static_assert(sizeof (uintptr_t) == sizeof (intptr_t), "invalid size"); _Static_assert(sizeof (uintptr_t) == sizeof (void*), "invalid size"); _Static_assert(sizeof (uintptr_t) == 4, "invalid size"); #define UINT8_MAX 0xFF #define UINT16_MAX 0xFFFF #define UINT32_MAX 0xFFFFFFFFUL #define UINT64_MAX 0xFFFFFFFFFFFFFFFFULL #define INT8_MAX 0x7F #define INT16_MAX 0x7FFF #define INT32_MAX 0x7FFFFFFF #define INT64_MAX 0x7FFFFFFFFFFFFFFF #define INT8_MIN (-0x80) #define INT16_MIN (-0x8000) #define INT32_MIN (-0x80000000L) #define INT64_MIN (-0x8000000000000000LL)