76 #if defined(__sun) || defined(__sun__) 77 # include <inttypes.h> 78 #elif !defined(WIN32) && !defined(_WIN32) 85 #define SC_DT_MIXED_COMMA_OPERATORS 115 #define SC_NEG -1 // Negative number 116 #define SC_ZERO 0 // Zero 117 #define SC_POS 1 // Positive number 118 #define SC_NOSIGN 2 // Uninitialized sc_signed number 127 #define BITS_PER_BYTE 8 128 #define BYTE_RADIX 256 129 #define BYTE_MASK 255 133 #define LOG2_BITS_PER_BYTE 3 138 #define BYTES_PER_DIGIT_TYPE 4 139 #define BITS_PER_DIGIT_TYPE 32 142 #define BYTES_PER_DIGIT 4 143 #define BITS_PER_DIGIT 30 144 #define DIGIT_RADIX (1ul << BITS_PER_DIGIT) 145 #define DIGIT_MASK (DIGIT_RADIX - 1) 151 #define BITS_PER_HALF_DIGIT (BITS_PER_DIGIT / 2) 152 #define HALF_DIGIT_RADIX (1ul << BITS_PER_HALF_DIGIT) 153 #define HALF_DIGIT_MASK (HALF_DIGIT_RADIX - 1) 156 #define DIV_CEIL2(x, y) (((x) - 1) / (y) + 1) 160 #define DIV_CEIL(x) DIV_CEIL2(x, BITS_PER_DIGIT) 163 static const int MAX_NDIGITS =
DIV_CEIL(SC_MAX_NBITS) + 2;
184 # if defined(__x86_64__) || defined(__aarch64__) 185 typedef long long int64;
186 typedef unsigned long long uint64;
192 typedef __int64
int64;
193 typedef unsigned __int64
uint64;
196 #if !defined(_WIN32) || defined(__MINGW32__) 201 static const uint64 UINT64_ZERO = 0i64;
202 static const uint64 UINT64_ONE = 1i64;
203 static const uint64 UINT64_32ONES = 0x00000000ffffffffi64;
209 #define BITS_PER_CHAR 8 210 #define BITS_PER_INT (sizeof(int) * BITS_PER_CHAR) 211 #define BITS_PER_LONG (sizeof(long) * BITS_PER_CHAR) 212 #define BITS_PER_INT64 (sizeof(::sc_dt::int64) * BITS_PER_CHAR) 213 #define BITS_PER_UINT (sizeof(unsigned int) * BITS_PER_CHAR) 214 #define BITS_PER_ULONG (sizeof(unsigned long) * BITS_PER_CHAR) 215 #define BITS_PER_UINT64 (sizeof(::sc_dt::uint64) * BITS_PER_CHAR) 218 #define DIGITS_PER_CHAR 1 219 #define DIGITS_PER_INT ((BITS_PER_INT+29)/30) 220 #define DIGITS_PER_LONG ((BITS_PER_LONG+29)/30) 221 #define DIGITS_PER_INT64 ((BITS_PER_INT64+29)/30) 222 #define DIGITS_PER_UINT ((BITS_PER_UINT+29)/30) 223 #define DIGITS_PER_ULONG ((BITS_PER_ULONG+29)/30) 224 #define DIGITS_PER_UINT64 ((BITS_PER_UINT64+29)/30) 235 # define SC_INTWIDTH 64
Default constants whose values may need to be.
static const uint64 UINT_ONE
static const small_type NB_DEFAULT_BASE
sc_numrep
Enumeration of number representations for character string conversion.
static const uint64 UINT64_32ONES
static const uint64 UINT_ZERO
static const uint64 UINT64_ZERO
static const uint64 UINT64_ONE