#static_assert(sizeof(:i8) == 1);
#static_assert(sizeof(:i16) == 2);
#static_assert(sizeof(:i32) == 4);
#static_assert(sizeof(:i64) == 8);
#static_assert(sizeof(:u8) == 1);
#static_assert(sizeof(:u16) == 2);
#static_assert(sizeof(:u32) == 4);
#static_assert(sizeof(:u64) == 8);

f32 :: typedef float;  @weak @foreign
f64 :: typedef double; @weak @foreign

UINT64_MAX :: 0xffffffffffffffff;
UINT64_MIN :: 0;
UINT32_MAX :: 0xffffffff;
UINT32_MIN :: 0;
UINT16_MAX :: 0xffff;
UINT16_MIN :: 0;
UINT8_MAX  :: 0xff;
UINT8_MIN  :: 0;
INT64_MAX  :: 9223372036854775807;
INT64_MIN  :: -9223372036854775808;
INT32_MAX  :: 2147483647;
INT32_MIN  :: -2147483648;
INT16_MAX  :: 32767;
INT16_MIN  :: -32768;
INT8_MAX   :: 127;
INT8_MIN   :: -128;
CHAR_MAX   :: INT8_MAX;
CHAR_MIN   :: INT8_MIN;
UCHAR_MAX  :: UINT8_MAX;
UCHAR_MIN  :: UINT8_MIN;
SHORT_MAX  :: INT16_MAX;
SHORT_MIN  :: INT16_MIN;
USHORT_MAX :: UINT16_MAX;
USHORT_MIN :: UINT16_MIN;
INT_MAX    :: INT32_MAX;
INT_MIN    :: INT32_MIN;
UINT_MAX   :: UINT32_MAX;
UINT_MIN   :: UINT32_MIN;
LLONG_MAX  :: INT64_MAX;
LLONG_MIN  :: INT64_MIN;
ULLONG_MAX :: UINT64_MAX;
ULLONG_MIN :: UINT64_MIN;
