From 1cf6842543cbbea5564d2908791f3251c60f3d73 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 31 Oct 2015 05:01:07 +0100 Subject: doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- gen/bits/intconf.h | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) (limited to 'gen/bits/intconf.h') diff --git a/gen/bits/intconf.h b/gen/bits/intconf.h index 128b0ba..69ea473 100644 --- a/gen/bits/intconf.h +++ b/gen/bits/intconf.h @@ -24,41 +24,156 @@ //>FAST32=$(bin/gen/bits/intconf fast32) //>FAST64=$(bin/gen/bits/intconf fast64) -#define __MAX_TO_MIN(max) (-(max) - 1) + +/** + * Converts an integer's maximum value to + * its [the integer's] minimum value. + */ +#define __MAX_TO_MIN(max) (-(max) - 1) /* TODO compiler-flag-dependent */ + +/* TODO compiler-flag-dependent */ #if //(bin/gen/bits/intconf char-signed) +/** + * Set if and only if `char` is signed by default. + */ # define __CHAR_SIGNED + +/** + * The default signness-modifiers for `char`. + */ # define __CHAR_SIGNNESS signed #else # define __CHAR_SIGNNESS unsigned #endif + #if //(bin/gen/bits/intconf wchar-signed) +/** + * Set if and only if `wchar_t` is signed by default. + */ # define __WCHAR_SIGNED + +/** + * The default signness-modifiers for `wchar_t`. + */ # define __WCHAR_SIGNNESS signed #else # define __WCHAR_SIGNNESS unsigned #endif + +/** + * The number of bits in `char`. + * (8 is mandatates, but I did it thus way for uniformity.) + */ #define __CHAR_BIT //(bin/gen/bits/intconf | grep ^CHAR_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `short int`. + */ #define __SHORT_BIT //(bin/gen/bits/intconf | grep ^SHORT_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `int`. + */ #define __INT_BIT //(bin/gen/bits/intconf | grep ^INT_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `long int`. + */ #define __LONG_BIT //(bin/gen/bits/intconf | grep ^LONG_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `long long int`. + */ #define __LONG_LONG_BIT //(bin/gen/bits/intconf | grep ^LONG_LONG_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `void*`. + */ #define __PTR_BIT //(bin/gen/bits/intconf | grep ^PTR_BIT | sed "s/^[^ ]* //") + +/** + * The number of bits in `wchar`. + */ #define __WCHAR_BIT //(bin/gen/bits/intconf | grep ^WCHAR_BIT | sed "s/^[^ ]* //") + +/** + * The underlaying intrinsic type for `int8_t` or `uint8_t`. + */ #define __INT8 //(bin/gen/bits/intconf | grep ^INT8 | sed "s/^[^ ]* //" | sed 1q) + +/** + * The underlaying intrinsic type for `int16_t` or `uint16_t`. + */ #define __INT16 //(bin/gen/bits/intconf | grep ^INT16 | sed "s/^[^ ]* //" | sed 1q) + +/** + * The underlaying intrinsic type for `int32_t` or `uint32_t`. + */ #define __INT32 //(bin/gen/bits/intconf | grep ^INT32 | sed "s/^[^ ]* //" | sed 1q) + +/** + * The underlaying intrinsic type for `int64_t` or `uint64_t`. + */ #define __INT64 //(bin/gen/bits/intconf | grep ^INT64 | sed "s/^[^ ]* //" | sed 1q) + +/** + * The underlaying intrinsic type for `int8_t` or `uint8_t`. + */ #define __INT_FAST8 __INT//{FAST8} + +/** + * The underlaying intrinsic type for `int16_t` or `uint16_t`. + */ #define __INT_FAST16 __INT//{FAST16} + +/** + * The underlaying intrinsic type for `int32_t` or `uint32_t`. + */ #define __INT_FAST32 __INT//{FAST32} + +/** + * The underlaying intrinsic type for `int64_t` or `uint64_t`. + */ #define __INT_FAST64 __INT//{FAST64} + +/** + * The maximum value of `int_fast8_t`. + */ #define __INT_FAST8_MAX INT//{FAST8}_MAX + +/** + * The maximum value of `int_fast16_t`. + */ #define __INT_FAST16_MAX INT//{FAST16}_MAX + +/** + * The maximum value of `int_fast32_t`. + */ #define __INT_FAST32_MAX INT//{FAST32}_MAX + +/** + * The maximum value of `int_fast64_t`. + */ #define __INT_FAST64_MAX INT//{FAST64}_MAX + +/** + * The maximum value of `uint_fast8_t`. + */ #define __UINT_FAST8_MAX UINT//{FAST8}_MAX + +/** + * The maximum value of `uint_fast16_t`. + */ #define __UINT_FAST16_MAX UINT//{FAST16}_MAX + +/** + * The maximum value of `uint_fast32_t`. + */ #define __UINT_FAST32_MAX UINT//{FAST32}_MAX + +/** + * The maximum value of `uint_fast64_t`. + */ #define __UINT_FAST64_MAX UINT//{FAST64}_MAX -- cgit v1.2.3-70-g09d2