Go to the SVN repository for this file.
1 #ifndef CORELIB___NCBITYPE__H 2 #define CORELIB___NCBITYPE__H 56 #ifdef HAVE_INTTYPES_H 57 # ifndef __STDC_CONSTANT_MACROS 58 # define __STDC_CONSTANT_MACROS 60 # ifndef __STDC_FORMAT_MACROS 61 # define __STDC_FORMAT_MACROS 70 #if (SIZEOF_CHAR != 1) 71 # error "Unsupported size of char(must be 1 byte)" 73 #if (SIZEOF_SHORT != 2) 74 # error "Unsupported size of short int(must be 2 bytes)" 77 # error "Unsupported size of int(must be 4 bytes)" 97 #ifdef HAVE_INTTYPES_H 108 # if SIZEOF_LONG == 8 && !defined(NCBI_OS_DARWIN) 109 # define NCBI_INT8_IS_LONG 1 110 # elif SIZEOF_LONG_LONG == 8 111 # define NCBI_INT8_IS_LONG_LONG 1 112 # elif SIZEOF___INT64 == 8 113 # define NCBI_INT8_IS_INT64 1 116 typedef signed char Int1;
117 typedef unsigned char Uint1;
118 typedef signed short Int2;
119 typedef unsigned short Uint2;
120 typedef signed int Int4;
121 typedef unsigned int Uint4;
127 # if (SIZEOF_LONG == 8) 128 # define NCBI_INT8_TYPE long 129 # define NCBI_INT8_IS_LONG 1 130 # elif (SIZEOF_LONG_LONG == 8) 131 # define NCBI_INT8_TYPE long long 132 # define NCBI_INT8_IS_LONG_LONG 1 133 # elif (SIZEOF___INT64 == 8) 134 # define NCBI_INT8_TYPE __int64 135 # define NCBI_INT8_IS_INT64 1 137 # define NCBI_USE_INT64 1 139 # error "This platform does not support 8-byte integer" 143 typedef signedNCBI_INT8_TYPE
Int8;
146 typedef unsignedNCBI_INT8_TYPE
Uint8;
153 #define NCBI_BIG_TYPE Int8 154 #define SIZEOF_NCBI_BIG 8 155 #if (SIZEOF_LONG_DOUBLE > SIZEOF_NCBI_BIG) 156 # undef NCBI_BIG_TYPE 157 # undef SIZEOF_NCBI_BIG 158 # define NCBI_BIG_TYPE long double 159 # define SIZEOF_NCBI_BIG SIZEOF_LONG_DOUBLE 161 #if (SIZEOF_DOUBLE > SIZEOF_NCBI_BIG) 162 # undef NCBI_BIG_TYPE 163 # undef SIZEOF_NCBI_BIG 164 # define NCBI_BIG_TYPE double 165 # define SIZEOF_NCBI_BIG SIZEOF_DOUBLE 167 #if (SIZEOF_VOIDP > SIZEOF_NCBI_BIG) 168 # undef NCBI_BIG_TYPE 169 # undef SIZEOF_NCBI_BIG 170 # define NCBI_BIG_TYPE void* 171 # define SIZEOF_NCBI_BIG SIZEOF_VOIDP 183 #ifndef HAVE_INTPTR_T 184 # if SIZEOF_INT == SIZEOF_VOIDP 186 # elif SIZEOF_LONG == SIZEOF_VOIDP 188 # elif SIZEOF_LONG_LONG == SIZEOF_VOIDP 191 # error No integer type is the same size as a pointer! 195 #ifndef HAVE_UINTPTR_T 196 # if SIZEOF_INT == SIZEOF_VOIDP 198 # elif SIZEOF_LONG == SIZEOF_VOIDP 200 # elif SIZEOF_LONG_LONG == SIZEOF_VOIDP 203 # error No integer type is the same size as a pointer! 211 #ifdef HAVE_INTTYPES_H 212 # define NCBI_CONST_INT8(v) INT64_C(v) 213 # define NCBI_CONST_UINT8(v) UINT64_C(v) 214 # define NCBI_INT8_FORMAT_SPEC PRId64 215 # define NCBI_UINT8_FORMAT_SPEC PRIu64 216 #elif (SIZEOF_LONG == 8) 217 # define NCBI_CONST_INT8(v) v##L 218 # define NCBI_CONST_UINT8(v) v##UL 219 # define NCBI_INT8_FORMAT_SPEC "ld" 220 # define NCBI_UINT8_FORMAT_SPEC "lu" 221 #elif (SIZEOF_LONG_LONG == 8) 222 # define NCBI_CONST_INT8(v) v##LL 223 # define NCBI_CONST_UINT8(v) v##ULL 224 # if defined(__MINGW32__) || defined(__MINGW64__) 225 # define NCBI_INT8_FORMAT_SPEC "I64d" 226 # define NCBI_UINT8_FORMAT_SPEC "I64u" 228 # define NCBI_INT8_FORMAT_SPEC "lld" 229 # define NCBI_UINT8_FORMAT_SPEC "llu" 231 #elif defined(NCBI_USE_INT64) 232 # define NCBI_CONST_INT8(v) v##i64 233 # define NCBI_CONST_UINT8(v) v##ui64 234 # define NCBI_INT8_FORMAT_SPEC "I64d" 235 # define NCBI_UINT8_FORMAT_SPEC "I64u" 237 # define NCBI_CONST_INT8(v) v 238 # define NCBI_CONST_UINT8(v) v 239 # define NCBI_INT8_FORMAT_SPEC "d" 240 # define NCBI_UINT8_FORMAT_SPEC "u" 242 #if (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE) 243 # define NCBI_CONST_LONGDOUBLE(v) v##L 245 # define NCBI_CONST_LONGDOUBLE(v) v 252 #undef SIZEOF_NCBI_BIG 254 #undef NCBI_INT8_TYPEsigned char Schar
Alias for signed char.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
unsigned char Uchar
Alias for unsigned char.
Int8 Ncbi_BigScalar
Define large scalar type.
char Char
Alias for char.
uint32_t Uint4
4-byte (32-bit) unsigned integer
uint16_t Uint2
2-byte (16-bit) unsigned integer
int64_t Int8
8-byte (64-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
int8_t Int1
1-byte (8-bit) signed integer
Front end for a platform-specific configuration summary.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4