blob: 0c5b4c9cca94caece32dce02753d0fd5df7f36c5 [file] [log] [blame]
#pragma once
#include <arch/types.h>
/* Limits of integral types. */
/* Minimum of signed integral types. */
# define INT8_MIN (-128)
# define INT16_MIN (-32767-1)
# define INT32_MIN (-2147483647-1)
# define INT64_MIN (-__INT64_C(9223372036854775807)-1)
/* Maximum of signed integral types. */
# define INT8_MAX (127)
# define INT16_MAX (32767)
# define INT32_MAX (2147483647)
# define INT64_MAX (__INT64_C(9223372036854775807))
/* Maximum of unsigned integral types. */
# define UINT8_MAX (255)
# define UINT16_MAX (65535)
# define UINT32_MAX (4294967295U)
# define UINT64_MAX (__UINT64_C(18446744073709551615))
#if NUM_ADDR_BITS == 64
# define SIZE_MAX UINT64_MAX
# define LONG_MAX INT64_MAX
# define ULONG_MAX UINT64_MAX
#elif NUM_ADDR_BITS == 32
# define SIZE_MAX UINT32_MAX
# define LONG_MAX INT32_MAX
# define ULONG_MAX UINT32_MAX
#else
# error "NUM_ADDR_BITS is not set"
#endif