For MSVC builds, implement 'rint()' and 'rintf()' to supplement the ones that were already implemented
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user