summaryrefslogtreecommitdiff
path: root/src/limits
diff options
context:
space:
mode:
Diffstat (limited to 'src/limits')
-rw-r--r--src/limits/CHAR_BIT.c16
-rw-r--r--src/limits/CHAR_MAX.c21
-rw-r--r--src/limits/CHAR_MIN.c20
-rw-r--r--src/limits/INT_MAX.c22
-rw-r--r--src/limits/INT_MIN.c16
-rw-r--r--src/limits/LLONG_MAX.c10
-rw-r--r--src/limits/LLONG_MIN.c9
-rw-r--r--src/limits/LONG_MAX.c19
-rw-r--r--src/limits/LONG_MIN.c15
-rw-r--r--src/limits/MB_LEN_MAX.c16
-rw-r--r--src/limits/SCHAR_MAX.c16
-rw-r--r--src/limits/SCHAR_MIN.c16
-rw-r--r--src/limits/SHRT_MAX.c15
-rw-r--r--src/limits/SHRT_MIN.c15
-rw-r--r--src/limits/UCHAR_MAX.c16
-rw-r--r--src/limits/UINT_MAX.c22
-rw-r--r--src/limits/ULLONG_MAX.c8
-rw-r--r--src/limits/ULONG_MAX.c19
-rw-r--r--src/limits/USHRT_MAX.c15
19 files changed, 306 insertions, 0 deletions
diff --git a/src/limits/CHAR_BIT.c b/src/limits/CHAR_BIT.c
new file mode 100644
index 00000000..29445ce9
--- /dev/null
+++ b/src/limits/CHAR_BIT.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define CHAR_BIT (8)
+
+/** bits per byte **/
+
+/***
+is the number of bits in a TYPE(char).
+***/
+
+/*
+VALUE_MIN(8)
+P_OSIX(VALUE_FIXED(8))
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/CHAR_MAX.c b/src/limits/CHAR_MAX.c
new file mode 100644
index 00000000..e746e32e
--- /dev/null
+++ b/src/limits/CHAR_MAX.c
@@ -0,0 +1,21 @@
+#include <limits.h>
+#ifdef __CHAR_IS_SIGNED
+#define CHAR_MAX (127)
+#else
+#define CHAR_MAX (255)
+#endif
+
+/** char maximum **/
+
+/***
+is the maximum value representable as a TYPE(char).
+***/
+
+/*
+VALUE_SELECT(CONSTANT(UCHAR_MAX), on systems where TYPE(char) is default TYPE(unsigned))
+VALUE_SELECT(CONSTANT(SCHAR_MAX), on systems where TYPE(char) is default TYPE(signed))
+SEE_ALSO(CONSTANT(CHAR_MIN))
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/CHAR_MIN.c b/src/limits/CHAR_MIN.c
new file mode 100644
index 00000000..8db46640
--- /dev/null
+++ b/src/limits/CHAR_MIN.c
@@ -0,0 +1,20 @@
+#include <limits.h>
+#ifdef __CHAR_IS_SIGNED
+#define CHAR_MIN (-128)
+#else
+#define CHAR_MIN (0)
+#endif
+
+/** char minimum **/
+
+/***
+is the minimum value representable as a TYPE(char).
+***/
+
+/*
+VALUE_SELECT(LITERAL(0), on systems where TYPE(char) is default TYPE(unsigned))
+VALUE_SELECT(CONSTANT(SCHAR_MIN), on systems where TYPE(char) is default TYPE(signed))
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/INT_MAX.c b/src/limits/INT_MAX.c
new file mode 100644
index 00000000..d500ee79
--- /dev/null
+++ b/src/limits/INT_MAX.c
@@ -0,0 +1,22 @@
+#include <limits.h>
+#if defined __LP32__
+#define INT_MAX (32767)
+#elif defined __ILP32__ || defined __LLP64__ || defined __LP64__
+#define INT_MAX (2147483647)
+#elif defined __ILP64__
+#define INT_MAX (9223372036854775807)
+#endif
+
+/** int maximum **/
+
+/***
+is the maximum value representable as a TYPE(int).
+***/
+
+/*
+VALUE_MIN(32767)
+POSIX_SPECIFIC (issue >= 5): +2147483647
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/INT_MIN.c b/src/limits/INT_MIN.c
new file mode 100644
index 00000000..acbb1fdf
--- /dev/null
+++ b/src/limits/INT_MIN.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define INT_MIN (-INT_MAX -1)
+
+/** int minimum **/
+
+/***
+is the minimum value representable as a TYPE(int).
+***/
+
+/*
+VALUE_MIN(-32767)
+POSIX_SPECIFIC(>= issue 5): MIN: -2147483647
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/LLONG_MAX.c b/src/limits/LLONG_MAX.c
new file mode 100644
index 00000000..2052034d
--- /dev/null
+++ b/src/limits/LLONG_MAX.c
@@ -0,0 +1,10 @@
+#include <limits.h>
+
+#define LLONG_MAX (9223372036854775807LL)
+
+/* MIN: 9223372036854775807 */
+/** maximum value of a type(long long int) **/
+
+/*
+STDC(199901)
+*/
diff --git a/src/limits/LLONG_MIN.c b/src/limits/LLONG_MIN.c
new file mode 100644
index 00000000..a28952fe
--- /dev/null
+++ b/src/limits/LLONG_MIN.c
@@ -0,0 +1,9 @@
+#include <limits.h>
+#define LLONG_MIN (-9223372036854775808LL)
+
+/* MIN: -9223372036854775807 */
+/** minimum value of a type(long long int) **/
+
+/*
+STDC(199901)
+*/
diff --git a/src/limits/LONG_MAX.c b/src/limits/LONG_MAX.c
new file mode 100644
index 00000000..2612cd1f
--- /dev/null
+++ b/src/limits/LONG_MAX.c
@@ -0,0 +1,19 @@
+#include <limits.h>
+#if defined __LP32__ || defined __ILP32__ || defined __LLP64__
+#define LONG_MAX (2147483647L)
+#elif defined __ILP64__ || defined __LP64__
+#define LONG_MAX (9223372036854775807L)
+#endif
+
+/** long maximum **/
+
+/***
+is the maximum value representable as a TYPE(long int).
+***/
+
+/*
+VALUE_MIN(2147483647)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/LONG_MIN.c b/src/limits/LONG_MIN.c
new file mode 100644
index 00000000..eb3d713c
--- /dev/null
+++ b/src/limits/LONG_MIN.c
@@ -0,0 +1,15 @@
+#include <limits.h>
+#define LONG_MIN (-LONG_MAX - 1L)
+
+/** long minimum **/
+
+/***
+is the minimum value representable as a TYPE(long int).
+***/
+
+/*
+VALUE_MIN(-2147483647)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/MB_LEN_MAX.c b/src/limits/MB_LEN_MAX.c
new file mode 100644
index 00000000..ef9cf495
--- /dev/null
+++ b/src/limits/MB_LEN_MAX.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define MB_LEN_MAX (4)
+
+/** multibyte character length **/
+
+/***
+is the maximum number of bytes in a multibyte character for any
+supported locale.
+***/
+
+/*
+VALUE_MIN(1)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/SCHAR_MAX.c b/src/limits/SCHAR_MAX.c
new file mode 100644
index 00000000..667b025e
--- /dev/null
+++ b/src/limits/SCHAR_MAX.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define SCHAR_MAX (127)
+
+/** signed char maximum **/
+
+/***
+is the maximum value representable as a TYPE(signed char).
+***/
+
+/*
+VALUE_MIN(127)
+POSIX_SPECIFIC(V_ALUE_FIXED(127)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/SCHAR_MIN.c b/src/limits/SCHAR_MIN.c
new file mode 100644
index 00000000..2b82cf8b
--- /dev/null
+++ b/src/limits/SCHAR_MIN.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define SCHAR_MIN (-128)
+
+/** signed char minimum **/
+
+/***
+is the minimum value representable as a TYPE(signed char).
+***/
+
+/*
+VALUE_MIN(-127)
+POSIX_SPECIFIC(V_ALUE_FIXED(-128)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/SHRT_MAX.c b/src/limits/SHRT_MAX.c
new file mode 100644
index 00000000..66e67acf
--- /dev/null
+++ b/src/limits/SHRT_MAX.c
@@ -0,0 +1,15 @@
+#include <limits.h>
+#define SHRT_MAX (32767)
+
+/** short maximum **/
+
+/***
+is the maximum value representable as a TYPE(short int).
+***/
+
+/*
+VALUE_MIN(32767)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/SHRT_MIN.c b/src/limits/SHRT_MIN.c
new file mode 100644
index 00000000..e0c52b9b
--- /dev/null
+++ b/src/limits/SHRT_MIN.c
@@ -0,0 +1,15 @@
+#include <limits.h>
+#define SHRT_MIN (-32768)
+
+/** short minimum **/
+
+/***
+is the minimum value representable as a TYPE(short int).
+***/
+
+/*
+VALUE_MIN(-32767)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/UCHAR_MAX.c b/src/limits/UCHAR_MAX.c
new file mode 100644
index 00000000..1b2aac68
--- /dev/null
+++ b/src/limits/UCHAR_MAX.c
@@ -0,0 +1,16 @@
+#include <limits.h>
+#define UCHAR_MAX (255)
+
+/** usigned char maximum **/
+
+/***
+is the maximum value representable as a TYPE(unsigned char).
+***/
+
+/*
+VALUE_MIN(255)
+POSIX_SPECIFIC(V_ALUE_FIXED(255)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/UINT_MAX.c b/src/limits/UINT_MAX.c
new file mode 100644
index 00000000..1fa8b4ee
--- /dev/null
+++ b/src/limits/UINT_MAX.c
@@ -0,0 +1,22 @@
+#include <limits.h>
+#if defined __LP32__
+#define UINT_MAX (65535U)
+#elif defined __ILP32__ || defined __LLP64__ || defined __LP64__
+#define UINT_MAX (4294967295U)
+#elif defined __ILP64__
+#define UINT_MAX (18446744073709551616U)
+#endif
+
+/** unsigned int maximum **/
+
+/***
+is the maximum value representable as a TYPE(unsigned int).
+***/
+
+/*
+VALUE_MIN(65535)
+POSIX_SPECIFIC(issue >= 5): MIN: 4294967295
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/ULLONG_MAX.c b/src/limits/ULLONG_MAX.c
new file mode 100644
index 00000000..3aac6f79
--- /dev/null
+++ b/src/limits/ULLONG_MAX.c
@@ -0,0 +1,8 @@
+#include <limits.h>
+#define ULLONG_MAX (18446744073709551615ULL)
+
+/* MIN: 18446744073709551615 */
+
+/*
+STDC(199901)
+*/
diff --git a/src/limits/ULONG_MAX.c b/src/limits/ULONG_MAX.c
new file mode 100644
index 00000000..4243c6d9
--- /dev/null
+++ b/src/limits/ULONG_MAX.c
@@ -0,0 +1,19 @@
+#include <limits.h>
+#if defined __LP32__ || defined __ILP32__ || defined __LLP64__
+#define ULONG_MAX (4294967295UL)
+#elif defined __ILP64__ || defined __LP64__
+#define ULONG_MAX (18446744073709551615UL)
+#endif
+
+/** unsigned long maximum **/
+
+/***
+is the maximum value representable as a TYPE(unsigned long int).
+***/
+
+/*
+VALUE_MIN(4294967295)
+*/
+/*
+STDC(1)
+*/
diff --git a/src/limits/USHRT_MAX.c b/src/limits/USHRT_MAX.c
new file mode 100644
index 00000000..9f326c5c
--- /dev/null
+++ b/src/limits/USHRT_MAX.c
@@ -0,0 +1,15 @@
+#include <limits.h>
+#define USHRT_MAX (65535)
+
+/** unsigned short maximum **/
+
+/***
+is the maximum value representable as a TYPE(unsigned short int).
+***/
+
+/*
+VALUE_MIN(65535)
+*/
+/*
+STDC(1)
+*/