Go to the documentation of this file.Go to the SVN repository for this file.
1 #ifndef CORELIB___NCBI_LIMITS__H
2 #define CORELIB___NCBI_LIMITS__H
78 #if (SIZEOF_LONG == 8)
79 # define NCBI_MIN_I8 LONG_MIN
80 # define NCBI_MAX_I8 LONG_MAX
81 # define NCBI_MAX_UI8 ULONG_MAX
82 #elif (SIZEOF_LONG_LONG == 8)
83 # define NCBI_MIN_I8 0x8000000000000000LL
84 # define NCBI_MAX_I8 0x7FFFFFFFFFFFFFFFLL
85 # define NCBI_MAX_UI8 0xFFFFFFFFFFFFFFFFULL
86 #elif defined(NCBI_INT8_IS_INT64)
87 # define NCBI_MIN_I8 0x8000000000000000i64
88 # define NCBI_MAX_I8 0x7FFFFFFFFFFFFFFFi64
89 # define NCBI_MAX_UI8 0xFFFFFFFFFFFFFFFFui64
106 #if defined(HAVE_WCHAR_H) && defined(WCHAR_MIN)
107 const wchar_t kMin_WChar = WCHAR_MIN;
115 const signed int kMin_Int = INT_MIN;
116 const signed int kMax_Int = INT_MAX;
119 const signed long kMin_Long = LONG_MIN;
120 const signed long kMax_Long = LONG_MAX;
121 const unsigned long kMax_ULong = ULONG_MAX;
123 # if (SIZEOF_LONG_LONG == 8)
124 const signed long long kMin_LongLong = 0x8000000000000000LL;
125 const signed long long kMax_LongLong = 0x7FFFFFFFFFFFFFFFLL;
126 const unsigned long long kMax_ULongLong = 0xFFFFFFFFFFFFFFFFULL;
127 # elif (SIZEOF_LONG_LONG == 4)
128 const signed long long kMin_LongLong = 0x80000000LL;
129 const signed long long kMax_LongLong = 0x7FFFFFFFLL;
130 const unsigned long long kMax_ULongLong = 0xFFFFFFFFULL;
133 # if defined(NCBI_INT8_IS_INT64)
134 const signed __int64 kMin_Int64 = NCBI_MIN_I8;
135 const signed __int64 kMax_Int64 = NCBI_MAX_I8;
136 const unsigned __int64 kMax_UInt64 = NCBI_MAX_UI8;
173 # define kMin_Char CHAR_MIN
174 # define kMax_Char CHAR_MAX
175 # define kMin_SChar SCHAR_MIN
176 # define kMax_SChar SCHAR_MAX
177 # define kMax_UChar UCHAR_MAX
179 # define kMin_Short SHRT_MIN
180 # define kMax_Short SHRT_MAX
181 # define kMax_UShort USHRT_MAX
183 # define kMin_Int INT_MIN
184 # define kMax_Int INT_MAX
185 # define kMax_UInt UINT_MAX
187 # if (SIZEOF_LONG_LONG == 8)
188 # define kMin_LongLong 0x8000000000000000LL
189 # define kMax_LongLong 0x7FFFFFFFFFFFFFFFLL
190 # define kMax_ULongLong 0xFFFFFFFFFFFFFFFFULL
191 # elif (SIZEOF_LONG_LONG == 4)
192 # define kMin_LongLong 0x80000000LL
193 # define kMax_LongLong 0x7FFFFFFFLL
194 # define kMax_ULongLong 0xFFFFFFFFULL
197 # if (SIZEOF___INT64 == 8)
198 # define kMin_Int64 NCBI_CONST_INT8(0x8000000000000000)
199 # define kMax_Int64 NCBI_CONST_INT8(0x7FFFFFFFFFFFFFFF)
200 # define kMax_UInt64 NCBI_CONST_UINT8(0xFFFFFFFFFFFFFFFF)
204 # define kMin_Float FLT_MIN;
205 # define kMax_Float FLT_MAX;
207 # define kMin_Double DBL_MIN;
208 # define kMax_Double DBL_MAX;
211 # define kMin_I1 SCHAR_MIN
212 # define kMax_I1 SCHAR_MAX
213 # define kMax_UI1 UCHAR_MAX
214 # define kMin_I2 SHRT_MIN
215 # define kMax_I2 SHRT_MAX
216 # define kMax_UI2 USHRT_MAX
217 # define kMin_I4 INT_MIN
218 # define kMax_I4 INT_MAX
219 # define kMax_UI4 UINT_MAX
220 # define kMin_I8 NCBI_MIN_I8
221 # define kMax_I8 NCBI_MAX_I8
222 # define kMax_UI8 NCBI_MAX_UI8
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
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
Defines Limits for the types used in NCBI C/C++ toolkit.