X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flyxlib.h;h=23894ee2ebea1d47d077ca3344ada70edd32e89f;hb=14fa2c71625c715ffcc42d13ee0151333079de2c;hp=287a707e49519750c745c7680e6e83b838d218a5;hpb=f1cba8ff64b369792fd49f5ddf90e8126ab476ac;p=lyx.git diff --git a/src/support/lyxlib.h b/src/support/lyxlib.h index 287a707e49..23894ee2eb 100644 --- a/src/support/lyxlib.h +++ b/src/support/lyxlib.h @@ -15,6 +15,20 @@ #ifndef LYX_LIB_H #define LYX_LIB_H +// always include (also with MSVC), to avoid compiler specific side effects +#include + +#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 { @@ -34,6 +48,12 @@ inline bool float_equal(double var, double number, double error) return (number - error <= var && var <= number + error); } +/// round \p x to nearest integer +inline int iround(double x) +{ + return static_cast(round(x)); +} + } // namespace support } // namespace lyx