summaryrefslogtreecommitdiff
path: root/msvc_extra_headers
diff options
context:
space:
mode:
Diffstat (limited to 'msvc_extra_headers')
-rw-r--r--msvc_extra_headers/ardourext/float_cast.h.input24
-rw-r--r--msvc_extra_headers/ardourext/misc.h.input5
2 files changed, 24 insertions, 5 deletions
diff --git a/msvc_extra_headers/ardourext/float_cast.h.input b/msvc_extra_headers/ardourext/float_cast.h.input
index 2ba3bbbe62..94433da965 100644
--- a/msvc_extra_headers/ardourext/float_cast.h.input
+++ b/msvc_extra_headers/ardourext/float_cast.h.input
@@ -56,6 +56,18 @@
return intgr ;
}
+ __inline double
+ rint (double flt)
+ { long long int intgr;
+
+ _asm
+ { fld flt
+ fistp intgr
+ } ;
+
+ return (double) intgr ;
+ }
+
__inline long int
lrintf (float flt)
{ int intgr;
@@ -68,6 +80,18 @@
return intgr ;
}
+ __inline float
+ rintf (float flt)
+ { int intgr;
+
+ _asm
+ { fld flt
+ fistp intgr
+ } ;
+
+ return (float) intgr ;
+ }
+
__inline long long int
llrint (double flt)
{ long long int intgr;
diff --git a/msvc_extra_headers/ardourext/misc.h.input b/msvc_extra_headers/ardourext/misc.h.input
index 5da7c41564..9bcba6f327 100644
--- a/msvc_extra_headers/ardourext/misc.h.input
+++ b/msvc_extra_headers/ardourext/misc.h.input
@@ -247,11 +247,6 @@ inline int64_t abs(int64_t val) throw()
extern bool operator == (const Type& lhs, const Type& rhs);
#endif
-// round().... Unlike Linux, Windows doesn't seem to support the
-// concept of a system-wide (or programmable) rounding direction.
-// 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)
#if !defined(LIBPBD_API) || defined(PBD_IS_IN_WIN_STATIC_LIB)
extern double round(double x);