46 #ifndef XT_ARITHMETIC_UTIL_H 47 #define XT_ARITHMETIC_UTIL_H 65 return ((x >> (
sizeof (
Xt_int) * CHAR_BIT - 1)) |
68 return (
Xt_int)((x >= 0) - (x < 0));
79 return ((x >> (
sizeof (x) * CHAR_BIT - 1)) |
80 (
int)((
unsigned int)(~x) >> (
sizeof (x) * CHAR_BIT - 1)));
82 return (x >= 0) - (x < 0);
93 return x >> (
sizeof (int) * CHAR_BIT - 1);
95 #warning Unusual behaviour of shift operator detected. 108 return x >> (
sizeof (x) * CHAR_BIT - 1);
110 #warning Unusual behaviour of shift operator detected. 111 return (x < 0) * ~(
Xt_int)0;
118 static inline long long 122 return ((x >> (
sizeof (x) * CHAR_BIT - 1)) |
123 (
long long)((
unsigned long long)(~x) >> (
sizeof (x) * CHAR_BIT - 1)));
125 return (x >= 0) - (x < 0);
132 static inline long long 136 return x >> (
sizeof (x) * CHAR_BIT - 1);
138 #warning Unusual behaviour of shift operator detected. 139 return (x < 0) * ~0LL;
149 return a <= b ? a : b;
base definitions header file
static int imin(int a, int b)
static int isign_mask(int x)
static Xt_int Xt_isign_mask(Xt_int x)
static Xt_int Xt_isign(Xt_int x)
static long long llsign_mask(long long x)
static long long llsign(long long x)