94 lines
1.7 KiB
C
94 lines
1.7 KiB
C
#ifndef _YGGDRASIL_LIMITS_H
|
|
#define _YGGDRASIL_LIMITS_H 1
|
|
|
|
#define CHAR_BIT 8
|
|
|
|
// char
|
|
#if !defined(SCHAR_MAX)
|
|
#define SCHAR_MAX 127
|
|
#endif
|
|
#if !defined(SCHAR_MIN)
|
|
#define SCHAR_MIN (-128)
|
|
#endif
|
|
#if !defined(UCHAR_MAX)
|
|
#define UCHAR_MAX 255
|
|
#endif
|
|
#if !defined(CHAR_MAX)
|
|
#if defined(__CHAR_UNSIGNED__)
|
|
#define CHAR_MAX UCHAR_MAX
|
|
#else
|
|
#define CHAR_MAX SCHAR_MAX
|
|
#endif
|
|
#endif
|
|
#if !defined(CHAR_MIN)
|
|
#if defined(__CHAR_UNSIGNED__)
|
|
#define CHAR_MIN 0
|
|
#else
|
|
#define CHAR_MIN SCHAR_MIN
|
|
#endif
|
|
#endif
|
|
|
|
// short
|
|
#if !defined(SHRT_MAX)
|
|
#define SHRT_MAX (__SHRT_MAX__)
|
|
#endif
|
|
#if !defined(SHRT_MIN)
|
|
#define SHRT_MIN (-__SHRT_MAX__ - 1)
|
|
#endif
|
|
#if !defined(USHRT_MAX)
|
|
#define USHRT_MAX (__USHRT_MAX__)
|
|
#endif
|
|
#if !defined(SSHRT_MAX)
|
|
#define SSHRT_MAX SHRT_MAX
|
|
#endif
|
|
#if !defined(SSHRT_MIN)
|
|
#define SSHRT_MIN SHRT_MIN
|
|
#endif
|
|
|
|
// int
|
|
#if !defined(INT_MAX)
|
|
#define INT_MAX (__INT_MAX__)
|
|
#endif
|
|
#if !defined(INT_MIN)
|
|
#define INT_MIN (-__INT_MAX__ - 1)
|
|
#endif
|
|
#if !defined(UINT_MAX)
|
|
#define UINT_MAX (__UINT_MAX__)
|
|
#endif
|
|
#if !defined(SINT_MAX)
|
|
#define SINT_MAX INT_MAX
|
|
#endif
|
|
#if !defined(SINT_MIN)
|
|
#define SINT_MIN INT_MIN
|
|
#endif
|
|
|
|
// long
|
|
#if !defined(LONG_MAX)
|
|
#define LONG_MAX (__LONG_MAX__)
|
|
#endif
|
|
#if !defined(LONG_MIN)
|
|
#define LONG_MIN (-__LONG_MAX__ - 1)
|
|
#endif
|
|
#if !defined(ULONG_MAX)
|
|
#define ULONG_MAX (__ULONG_MAX__)
|
|
#endif
|
|
#if !defined(SLONG_MAX)
|
|
#define SLONG_MAX LONG_MAX
|
|
#endif
|
|
#if !defined(SLONG_MIN)
|
|
#define SLONG_MIN LONG_MIN
|
|
#endif
|
|
|
|
// long long
|
|
#if !defined(LLONG_MAX)
|
|
#define LLONG_MAX (__LONG_LONG_MAX__)
|
|
#endif
|
|
#if !defined(LLONG_MIN)
|
|
#define LLONG_MIN (-__LONG_LONG_MAX__ - 1)
|
|
#endif
|
|
#if !defined(ULLONG_MAX)
|
|
#define ULLONG_MAX (__ULONG_LONG_MAX__)
|
|
#endif
|
|
|
|
#endif
|