#ifndef LYX_LIB_H
#define LYX_LIB_H
+// always include <math.h> (also with MSVC), to avoid compiler specific side effects
+#include <math.h>
+
+#ifdef _MSC_VER
+/// Replacement for C99 round()
+inline double round(double x)
+{
+ if (x < 0)
+ return ceil(x - 0.5);
+ else
+ return floor(x + 0.5);
+}
+#endif
+
namespace lyx {
namespace support {
return (number - error <= var && var <= number + error);
}
+/// round \p x to nearest integer
+inline int iround(double x)
+{
+ return static_cast<int>(round(x));
+}
+
} // namespace support
} // namespace lyx