#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