Simulate 'trunc()' which isn't available in MSVC
(needed by 'gtk2_ardour/editor.cc')
This commit is contained in:
@@ -241,6 +241,27 @@ round(double x)
|
||||
return (floor(x));
|
||||
}
|
||||
|
||||
//***************************************************************
|
||||
//
|
||||
// trunc()
|
||||
//
|
||||
// Emulates trunc() using floor() and ceil().
|
||||
//
|
||||
// Returns:
|
||||
//
|
||||
// On Success: The largest integer whose magnitude is less
|
||||
// than or equal to 'x' (regardless of sign).
|
||||
// On Failure: None
|
||||
//
|
||||
LIBPBD_API double PBD_APICALLTYPE
|
||||
trunc(double x)
|
||||
{
|
||||
if (x < 0)
|
||||
return (ceil(x));
|
||||
|
||||
return (floor(x));
|
||||
}
|
||||
|
||||
namespace PBD {
|
||||
|
||||
//***************************************************************
|
||||
|
||||
@@ -231,6 +231,7 @@ LIBPBD_API ssize_t PBD_APICALLTYPE pread(int handle, void *buf, size_t nbytes,
|
||||
LIBPBD_API ssize_t PBD_APICALLTYPE pwrite(int handle, const void *buf, size_t nbytes, off_t offset);
|
||||
LIBPBD_API int PBD_APICALLTYPE poll(struct pollfd *fds, nfds_t nfds, int timeout);
|
||||
LIBPBD_API double PBD_APICALLTYPE round(double x);
|
||||
LIBPBD_API double PBD_APICALLTYPE trunc(double x);
|
||||
|
||||
namespace PBD {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user