|
|
@ -43,6 +43,23 @@ static const int64 CENT = 1000000; |
|
|
|
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0])) |
|
|
|
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0])) |
|
|
|
#define printf OutputDebugStringF |
|
|
|
#define printf OutputDebugStringF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Unfortunately there's no standard way of preventing a function from being
|
|
|
|
|
|
|
|
// inlined, so we define a macro for it.
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// You should use it like this:
|
|
|
|
|
|
|
|
// NOINLINE void function() {...}
|
|
|
|
|
|
|
|
#if defined(__GNUC__) |
|
|
|
|
|
|
|
// This also works and will be defined for any compiler implementing gcc
|
|
|
|
|
|
|
|
// extensions, such as clang and icc.
|
|
|
|
|
|
|
|
#define NOINLINE __attribute__((noinline)) |
|
|
|
|
|
|
|
#elif defined(_MSC_VER) |
|
|
|
|
|
|
|
#define NOINLINE __declspec(noinline) |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
// We give out a warning because it impacts the correctness of one bignum test.
|
|
|
|
|
|
|
|
#warning You should define NOINLINE for your compiler. |
|
|
|
|
|
|
|
#define NOINLINE |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef snprintf |
|
|
|
#ifdef snprintf |
|
|
|
#undef snprintf |
|
|
|
#undef snprintf |
|
|
|
#endif |
|
|
|
#endif |
|
|
|