18 #if defined(BASE_LIB) | defined(BASE2017_LIB) 19 # define BASE_EXPORT EXPORT_TAG 21 # define BASE_EXPORT IMPORT_TAG 33 typedef long long Long;
34 typedef unsigned long long ULong;
44 using char16 = char16_t;
46 using int8 =
signed char;
47 using uint8 =
unsigned char;
49 using uint16 =
unsigned short;
51 using uint32 =
unsigned int;
57 #define _EM_OVERFLOW FE_OVERFLOW 58 #define _EM_INVALID FE_INVALID 59 #define _EM_UNDERFLOW FE_UNDERFLOW 60 #define _EM_ZERODIVIDE FE_DIVBYZERO 61 inline unsigned doClearFP() {
62 int ret = fetestexcept(FE_ALL_EXCEPT);
63 feclearexcept(FE_ALL_EXCEPT);
66 #define _clearfp doClearFP 78 # define CHECK_FP_STATUS checkFPStatus(__FILE__,__LINE__) 79 # define CLEAR_FP_STATUS _clearfp() 81 # define CHECK_FP_STATUS __noop() 82 # define CLEAR_FP_STATUS __noop() 85 # define FP_S CHECK_FP_STATUS 87 # define FP_C CLEAR_FP_STATUS 90 BASE_EXPORT const char16 *checkFPStatus(
const char *file=0,
UInt line=0);
91 enum FloatingPointCheck { FloatingPointCheckOff, FloatingPointCheckWarning, FloatingPointCheckException };
92 BASE_EXPORT FloatingPointCheck floatingPointCheckStatus();
93 BASE_EXPORT void floatingPointCheckStatus(FloatingPointCheck fpc);
97 #define FOR(x,y) for (auto x=(y).begin();x!=(y).end();++x) 101 static constexpr
bool isDebugCompile =
false;
103 static constexpr
bool isDebugCompile =
true;
char Byte
signed 8 bit
Definition: basedef.h:26
unsigned short UShort
unsigned 16 bit
Definition: basedef.h:29
unsigned __int64 ULong
unsigned 64 bit
Definition: basedef.h:37
Defines automatic generation of DLL exports and imports for each system supported.
wchar_t Char
string character type, Unicode supporting.
Definition: basedef.h:25
int Int
signed 32 bit
Definition: basedef.h:30
unsigned int UInt
unsigned 32 bit
Definition: basedef.h:31
__int64 Long
signed 64 bit
Definition: basedef.h:36
unsigned int TType
class type indicator
Definition: basedef.h:41
#define BASE_EXPORT
Definition: basedef.h:21
double Double
64 bit floating point
Definition: basedef.h:40
unsigned char UByte
unsigned 8 bit
Definition: basedef.h:27
short Short
signed 16 bit
Definition: basedef.h:28
float Float
32 bit floating point
Definition: basedef.h:39