diff options
author | John Emmas <johne53@tiscali.co.uk> | 2013-08-04 15:36:07 +0100 |
---|---|---|
committer | John Emmas <johne53@tiscali.co.uk> | 2013-08-04 15:36:07 +0100 |
commit | 490311bc081b12d328e6e02cac8170538e96fb2f (patch) | |
tree | 6a938f2619d21a1f669b855f41ea4e6a4fbfcd0b /msvc_extra_headers/ardourext/misc.h.input | |
parent | 07d94b9b4868fad26c9e8ac2ae4901849a09b8ac (diff) |
'libs/ardour' - Main body of changes required for building with MSVC
Diffstat (limited to 'msvc_extra_headers/ardourext/misc.h.input')
-rw-r--r-- | msvc_extra_headers/ardourext/misc.h.input | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/msvc_extra_headers/ardourext/misc.h.input b/msvc_extra_headers/ardourext/misc.h.input index 55eb529f24..dfe9e05336 100644 --- a/msvc_extra_headers/ardourext/misc.h.input +++ b/msvc_extra_headers/ardourext/misc.h.input @@ -36,10 +36,10 @@ #include <ardourext/float_cast.h> // 'std::isnan()' is not available in MSVC. Assume '_isnan(double)' -#define isnan(val) (bool)_isnan((double)val) +#define isnan(val) _isnan((double)val) // 'std::isinf()' is not available in MSVC. Assume '!_finite(double)' -#define isinf(val) !((bool)_finite((double)val)) +#define isinf(val) !_finite((double)val) // 'INFINITY' is not defined in MSVC. Assume 'HUGE_VAL' #ifndef INFINITY @@ -179,7 +179,9 @@ typedef int register_t; // Fortunately, 'round to nearest' seems to be the default action // under Linux, so let's copy that until we find out otherwise. #define rint(value) round(value) -#define round(value) floor((value) + 0.5) +#if !defined(PBD_API) || defined(PBD_IS_IN_WIN_STATIC_LIB) +extern double round(double x); +#endif // System V compatibility typedef unsigned short ushort; @@ -195,6 +197,15 @@ typedef _mode_t mode_t; #endif /* NO_OLDNAMES */ #endif /* _MODE_T_ */ +// int64 abs() +inline uint64_t abs(int64_t val) +{ + if (val < 0) + return val * (-1); + else + return val; +} + // fmin() and fmax() #define fmin(a, b) min((double)a, (double)b) #define fmax(a, b) max((double)a, (double)b) |