gsasl  1.10.0
About: GNU SASL is an implementation of the Simple Authentication and Security Layer (SASL). Development version.
  Fossies Dox: gsasl-1.10.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

intprops.h File Reference
#include <limits.h>
Include dependency graph for intprops.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _GL_INT_CONVERT(e, v)   ((1 ? 0 : (e)) + (v))
 
#define _GL_INT_NEGATE_CONVERT(e, v)   ((1 ? 0 : (e)) - (v))
 
#define TYPE_IS_INTEGER(t)   ((t) 1.5 == 1)
 
#define TYPE_SIGNED(t)   (! ((t) 0 < (t) -1))
 
#define EXPR_SIGNED(e)   (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
 
#define TYPE_WIDTH(t)   (sizeof (t) * CHAR_BIT)
 
#define TYPE_MINIMUM(t)   ((t) ~ TYPE_MAXIMUM (t))
 
#define TYPE_MAXIMUM(t)
 
#define _GL_INT_MINIMUM(e)
 
#define _GL_INT_MAXIMUM(e)
 
#define _GL_SIGNED_INT_MAXIMUM(e)    (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1)
 
#define _GL_HAVE___TYPEOF__   0
 
#define _GL_SIGNED_TYPE_OR_EXPR(t)   1
 
#define INT_BITS_STRLEN_BOUND(b)   (((b) * 146 + 484) / 485)
 
#define INT_STRLEN_BOUND(t)
 
#define INT_BUFSIZE_BOUND(t)   (INT_STRLEN_BOUND (t) + 1)
 
#define INT_ADD_RANGE_OVERFLOW(a, b, min, max)
 
#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max)
 
#define INT_NEGATE_RANGE_OVERFLOW(a, min, max)
 
#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max)
 
#define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max)    ((min) < 0 && (b) == -1 && (a) < - (max))
 
#define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max)    INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)
 
#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max)
 
#define _GL_HAS_BUILTIN_ADD_OVERFLOW   0
 
#define _GL_HAS_BUILTIN_MUL_OVERFLOW   _GL_HAS_BUILTIN_ADD_OVERFLOW
 
#define _GL_HAS_BUILTIN_OVERFLOW_P   (7 <= __GNUC__)
 
#define _GL_ADD_OVERFLOW(a, b, min, max)
 
#define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
 
#define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
 
#define _GL_DIVIDE_OVERFLOW(a, b, min, max)
 
#define _GL_REMAINDER_OVERFLOW(a, b, min, max)
 
#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max)
 
#define INT_ADD_OVERFLOW(a, b)    _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
 
#define INT_SUBTRACT_OVERFLOW(a, b)    _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
 
#define INT_NEGATE_OVERFLOW(a)    INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
 
#define INT_MULTIPLY_OVERFLOW(a, b)    _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
 
#define INT_DIVIDE_OVERFLOW(a, b)    _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW)
 
#define INT_REMAINDER_OVERFLOW(a, b)    _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW)
 
#define INT_LEFT_SHIFT_OVERFLOW(a, b)
 
#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)
 
#define INT_ADD_WRAPV(a, b, r)    _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW)
 
#define INT_SUBTRACT_WRAPV(a, b, r)    _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
 
#define INT_MULTIPLY_WRAPV(a, b, r)    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
 
#define _GL__GENERIC_BOGUS   0
 
#define _GL_INT_OP_WRAPV_SMALLISH(a, b, r, op, overflow, st, smin, smax, ut, umax)
 
#define _GL_INT_OP_WRAPV(a, b, r, op, overflow)
 
#define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)
 
#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax)
 
#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t)    ((t) ((ut) (a) op (ut) (b)))
 
#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax)
 
#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax)
 
#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax)
 
#define INT_ADD_OK(a, b, r)   ! INT_ADD_WRAPV (a, b, r)
 
#define INT_SUBTRACT_OK(a, b, r)   ! INT_SUBTRACT_WRAPV (a, b, r)
 
#define INT_MULTIPLY_OK(a, b, r)   ! INT_MULTIPLY_WRAPV (a, b, r)
 

Macro Definition Documentation

◆ _GL__GENERIC_BOGUS

#define _GL__GENERIC_BOGUS   0

Definition at line 418 of file intprops.h.

◆ _GL_ADD_OVERFLOW

#define _GL_ADD_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
: (a) < 0 ? (b) <= (a) + (b) \
: (b) < 0 ? (a) <= (a) + (b) \
: (a) + (b) < (b))
#define INT_ADD_RANGE_OVERFLOW(a, b, min, max)
Definition: intprops.h:166

Definition at line 273 of file intprops.h.

◆ _GL_BINARY_OP_OVERFLOW

#define _GL_BINARY_OP_OVERFLOW (   a,
  b,
  op_result_overflow 
)
Value:
op_result_overflow (a, b, \
#define _GL_INT_MAXIMUM(e)
Definition: intprops.h:68
#define _GL_INT_CONVERT(e, v)
Definition: intprops.h:27
#define _GL_INT_MINIMUM(e)
Definition: intprops.h:64

Definition at line 375 of file intprops.h.

◆ _GL_DIVIDE_OVERFLOW

#define _GL_DIVIDE_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
: (a) < 0 ? (b) <= (a) + (b) - 1 \
: (b) < 0 && (a) + (b) <= (a))
#define _GL_INT_NEGATE_CONVERT(e, v)
Definition: intprops.h:31

Definition at line 287 of file intprops.h.

◆ _GL_HAS_BUILTIN_ADD_OVERFLOW

#define _GL_HAS_BUILTIN_ADD_OVERFLOW   0

Definition at line 236 of file intprops.h.

◆ _GL_HAS_BUILTIN_MUL_OVERFLOW

#define _GL_HAS_BUILTIN_MUL_OVERFLOW   _GL_HAS_BUILTIN_ADD_OVERFLOW

Definition at line 244 of file intprops.h.

◆ _GL_HAS_BUILTIN_OVERFLOW_P

#define _GL_HAS_BUILTIN_OVERFLOW_P   (7 <= __GNUC__)

Definition at line 258 of file intprops.h.

◆ _GL_HAVE___TYPEOF__

#define _GL_HAVE___TYPEOF__   0

Definition at line 94 of file intprops.h.

◆ _GL_INT_ADD_RANGE_OVERFLOW

#define _GL_INT_ADD_RANGE_OVERFLOW (   a,
  b,
  tmin,
  tmax 
)
Value:
((b) < 0 \
? (((tmin) \
? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \
&& (a) < (tmin) - (b)) \
: (a) <= -1 - (b)) \
|| ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \
: (a) < 0 \
? (((tmin) \
? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \
&& (b) < (tmin) - (a)) \
: (b) <= -1 - (a)) \
|| ((EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \
&& (tmax) < (a) + (b))) \
: (tmax) < (b) || (tmax) - (b) < (a))
#define EXPR_SIGNED(e)
Definition: intprops.h:45

Definition at line 552 of file intprops.h.

◆ _GL_INT_CONVERT

#define _GL_INT_CONVERT (   e,
 
)    ((1 ? 0 : (e)) + (v))

Definition at line 27 of file intprops.h.

◆ _GL_INT_MAXIMUM

#define _GL_INT_MAXIMUM (   e)
Value:
(EXPR_SIGNED (e) \
#define _GL_SIGNED_INT_MAXIMUM(e)
Definition: intprops.h:72

Definition at line 68 of file intprops.h.

◆ _GL_INT_MINIMUM

#define _GL_INT_MINIMUM (   e)
Value:

Definition at line 64 of file intprops.h.

◆ _GL_INT_MULTIPLY_RANGE_OVERFLOW

#define _GL_INT_MULTIPLY_RANGE_OVERFLOW (   a,
  b,
  tmin,
  tmax 
)
Value:
((b) < 0 \
? ((a) < 0 \
? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \
? (a) < (tmax) / (b) \
? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (+ (b)) - 1) \
: (tmax) / -(b)) \
<= -1 - (a))) \
: INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \
? (EXPR_SIGNED (a) \
? 0 < (a) + (tmin) \
: 0 < (a) && -1 - (tmin) < (a) - 1) \
: (tmin) / (b) < (a)) \
: (b) == 0 \
? 0 \
: ((a) < 0 \
? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \
? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \
: (tmin) / (a) < (b)) \
: (tmax) / (b) < (a)))
#define INT_NEGATE_OVERFLOW(a)
Definition: intprops.h:358
#define TYPE_WIDTH(t)
Definition: intprops.h:53

Definition at line 579 of file intprops.h.

◆ _GL_INT_NEGATE_CONVERT

#define _GL_INT_NEGATE_CONVERT (   e,
 
)    ((1 ? 0 : (e)) - (v))

Definition at line 31 of file intprops.h.

◆ _GL_INT_OP_CALC

#define _GL_INT_OP_CALC (   a,
  b,
  r,
  op,
  overflow,
  ut,
  t,
  tmin,
  tmax 
)
Value:
(overflow (a, b, tmin, tmax) \
? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \
: (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0))
#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t)
Definition: intprops.h:545

Definition at line 523 of file intprops.h.

◆ _GL_INT_OP_WRAPV

#define _GL_INT_OP_WRAPV (   a,
  b,
  r,
  op,
  overflow 
)
Value:
(sizeof *(r) == sizeof (signed char) \
? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \
signed char, SCHAR_MIN, SCHAR_MAX, \
unsigned char, UCHAR_MAX) \
: sizeof *(r) == sizeof (short int) \
? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \
short int, SHRT_MIN, SHRT_MAX, \
unsigned short int, USHRT_MAX) \
: sizeof *(r) == sizeof (int) \
? (EXPR_SIGNED (*(r)) \
? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
int, INT_MIN, INT_MAX) \
: _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
unsigned int, 0, UINT_MAX)) \
: _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
#define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)
Definition: intprops.h:510
#define _GL_INT_OP_WRAPV_SMALLISH(a, b, r, op, overflow, st, smin, smax, ut, umax)
Definition: intprops.h:470
#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax)
Definition: intprops.h:523

Definition at line 480 of file intprops.h.

◆ _GL_INT_OP_WRAPV_LONGISH

#define _GL_INT_OP_WRAPV_LONGISH (   a,
  b,
  r,
  op,
  overflow 
)
Value:
(EXPR_SIGNED (*(r)) \
? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
long int, LONG_MIN, LONG_MAX) \
: _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
unsigned long int, 0, ULONG_MAX))

Definition at line 510 of file intprops.h.

◆ _GL_INT_OP_WRAPV_SMALLISH

#define _GL_INT_OP_WRAPV_SMALLISH (   a,
  b,
  r,
  op,
  overflow,
  st,
  smin,
  smax,
  ut,
  umax 
)
Value:
(overflow (a, b, smin, smax) \
? (overflow (a, b, 0, umax) \
? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \
: (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \
: (overflow (a, b, 0, umax) \
? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \
: (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0)))

Definition at line 470 of file intprops.h.

◆ _GL_INT_OP_WRAPV_VIA_UNSIGNED

#define _GL_INT_OP_WRAPV_VIA_UNSIGNED (   a,
  b,
  op,
  ut,
 
)     ((t) ((ut) (a) op (ut) (b)))

Definition at line 545 of file intprops.h.

◆ _GL_INT_SUBTRACT_RANGE_OVERFLOW

#define _GL_INT_SUBTRACT_RANGE_OVERFLOW (   a,
  b,
  tmin,
  tmax 
)
Value:
(((a) < 0) == ((b) < 0) \
? ((a) < (b) \
? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \
: (tmax) < (a) - (b)) \
: (a) < 0 \
? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \
|| (a) - (tmin) < (b)) \
: ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \
&& EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \
&& (tmax) <= -1 - (b)) \
|| (tmax) + (b) < (a)))

Definition at line 567 of file intprops.h.

◆ _GL_MULTIPLY_OVERFLOW

#define _GL_MULTIPLY_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
(((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \
|| INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max)
Definition: intprops.h:189

Definition at line 283 of file intprops.h.

◆ _GL_REMAINDER_OVERFLOW

#define _GL_REMAINDER_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
: (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \
: (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max))
#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max)
Definition: intprops.h:300

Definition at line 291 of file intprops.h.

◆ _GL_SIGNED_INT_MAXIMUM

#define _GL_SIGNED_INT_MAXIMUM (   e)     (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1)

Definition at line 72 of file intprops.h.

◆ _GL_SIGNED_TYPE_OR_EXPR

#define _GL_SIGNED_TYPE_OR_EXPR (   t)    1

Definition at line 104 of file intprops.h.

◆ _GL_SUBTRACT_OVERFLOW

#define _GL_SUBTRACT_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max) \
: (a) < 0 ? 1 \
: (b) < 0 ? (a) - (b) <= (a) \
: (a) < (b))
#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max)
Definition: intprops.h:173

Definition at line 278 of file intprops.h.

◆ _GL_UNSIGNED_NEG_MULTIPLE

#define _GL_UNSIGNED_NEG_MULTIPLE (   a,
  b,
  max 
)
Value:
(((b) < -_GL_SIGNED_INT_MAXIMUM (b) \
? (_GL_SIGNED_INT_MAXIMUM (b) == (max) \
? (a) \
: (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1)) \
: (a) % - (b)) \
== 0)

Definition at line 300 of file intprops.h.

◆ EXPR_SIGNED

#define EXPR_SIGNED (   e)    (_GL_INT_NEGATE_CONVERT (e, 1) < 0)

Definition at line 45 of file intprops.h.

◆ INT_ADD_OK

#define INT_ADD_OK (   a,
  b,
 
)    ! INT_ADD_WRAPV (a, b, r)

Definition at line 626 of file intprops.h.

◆ INT_ADD_OVERFLOW

#define INT_ADD_OVERFLOW (   a,
 
)     _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)

Definition at line 351 of file intprops.h.

◆ INT_ADD_RANGE_OVERFLOW

#define INT_ADD_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((b) < 0 \
? (a) < (min) - (b) \
: (max) - (b) < (a))

Definition at line 166 of file intprops.h.

◆ INT_ADD_WRAPV

#define INT_ADD_WRAPV (   a,
  b,
 
)     _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW)

Definition at line 386 of file intprops.h.

◆ INT_BITS_STRLEN_BOUND

#define INT_BITS_STRLEN_BOUND (   b)    (((b) * 146 + 484) / 485)

Definition at line 110 of file intprops.h.

◆ INT_BUFSIZE_BOUND

#define INT_BUFSIZE_BOUND (   t)    (INT_STRLEN_BOUND (t) + 1)

Definition at line 127 of file intprops.h.

◆ INT_DIVIDE_OVERFLOW

#define INT_DIVIDE_OVERFLOW (   a,
 
)     _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW)

Definition at line 363 of file intprops.h.

◆ INT_DIVIDE_RANGE_OVERFLOW

#define INT_DIVIDE_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)     ((min) < 0 && (b) == -1 && (a) < - (max))

Definition at line 204 of file intprops.h.

◆ INT_LEFT_SHIFT_OVERFLOW

#define INT_LEFT_SHIFT_OVERFLOW (   a,
 
)
Value:
#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max)
Definition: intprops.h:222

Definition at line 367 of file intprops.h.

◆ INT_LEFT_SHIFT_RANGE_OVERFLOW

#define INT_LEFT_SHIFT_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((a) < 0 \
? (a) < (min) >> (b) \
: (max) >> (b) < (a))

Definition at line 222 of file intprops.h.

◆ INT_MULTIPLY_OK

#define INT_MULTIPLY_OK (   a,
  b,
 
)    ! INT_MULTIPLY_WRAPV (a, b, r)

Definition at line 628 of file intprops.h.

◆ INT_MULTIPLY_OVERFLOW

#define INT_MULTIPLY_OVERFLOW (   a,
 
)     _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)

Definition at line 361 of file intprops.h.

◆ INT_MULTIPLY_RANGE_OVERFLOW

#define INT_MULTIPLY_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((b) < 0 \
? ((a) < 0 \
? (a) < (max) / (b) \
: (b) == -1 \
? 0 \
: (min) / (b) < (a)) \
: (b) == 0 \
? 0 \
: ((a) < 0 \
? (a) < (min) / (b) \
: (max) / (b) < (a)))

Definition at line 189 of file intprops.h.

◆ INT_MULTIPLY_WRAPV

#define INT_MULTIPLY_WRAPV (   a,
  b,
 
)     _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)

Definition at line 405 of file intprops.h.

◆ INT_NEGATE_OVERFLOW

#define INT_NEGATE_OVERFLOW (   a)     INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))

Definition at line 358 of file intprops.h.

◆ INT_NEGATE_RANGE_OVERFLOW

#define INT_NEGATE_RANGE_OVERFLOW (   a,
  min,
  max 
)
Value:
((min) < 0 \
? (a) < - (max) \
: 0 < (a))

Definition at line 180 of file intprops.h.

◆ INT_REMAINDER_OVERFLOW

#define INT_REMAINDER_OVERFLOW (   a,
 
)     _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW)

Definition at line 365 of file intprops.h.

◆ INT_REMAINDER_RANGE_OVERFLOW

#define INT_REMAINDER_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)     INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)

Definition at line 212 of file intprops.h.

◆ INT_STRLEN_BOUND

#define INT_STRLEN_BOUND (   t)
Value:
#define _GL_SIGNED_TYPE_OR_EXPR(t)
Definition: intprops.h:104
#define INT_BITS_STRLEN_BOUND(b)
Definition: intprops.h:110

Definition at line 121 of file intprops.h.

◆ INT_SUBTRACT_OK

#define INT_SUBTRACT_OK (   a,
  b,
 
)    ! INT_SUBTRACT_WRAPV (a, b, r)

Definition at line 627 of file intprops.h.

◆ INT_SUBTRACT_OVERFLOW

#define INT_SUBTRACT_OVERFLOW (   a,
 
)     _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)

Definition at line 353 of file intprops.h.

◆ INT_SUBTRACT_RANGE_OVERFLOW

#define INT_SUBTRACT_RANGE_OVERFLOW (   a,
  b,
  min,
  max 
)
Value:
((b) < 0 \
? (max) + (b) < (a) \
: (a) < (min) + (b))

Definition at line 173 of file intprops.h.

◆ INT_SUBTRACT_WRAPV

#define INT_SUBTRACT_WRAPV (   a,
  b,
 
)     _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW)

Definition at line 388 of file intprops.h.

◆ TYPE_IS_INTEGER

#define TYPE_IS_INTEGER (   t)    ((t) 1.5 == 1)

Definition at line 38 of file intprops.h.

◆ TYPE_MAXIMUM

#define TYPE_MAXIMUM (   t)
Value:
((t) (! TYPE_SIGNED (t) \
? (t) -1 \
: ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
#define TYPE_SIGNED(t)
Definition: intprops.h:41

Definition at line 57 of file intprops.h.

◆ TYPE_MINIMUM

#define TYPE_MINIMUM (   t)    ((t) ~ TYPE_MAXIMUM (t))

Definition at line 56 of file intprops.h.

◆ TYPE_SIGNED

#define TYPE_SIGNED (   t)    (! ((t) 0 < (t) -1))

Definition at line 41 of file intprops.h.

◆ TYPE_WIDTH

#define TYPE_WIDTH (   t)    (sizeof (t) * CHAR_BIT)

Definition at line 53 of file intprops.h.