94 lines
1.7 KiB
C
Raw Permalink Normal View History

2024-11-15 20:37:59 +02:00
#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
2024-11-15 20:37:59 +02:00
#endif