4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * A selection of useful system functions made
10 * \author Lars Gullik Bjønnes
12 * Full author contact details are available in file CREDITS.
18 // always include <math.h> (also with MSVC), to avoid compiler specific side effects
22 /// Replacement for C99 round()
23 inline double round(double x)
28 return floor(x + 0.5);
35 /// FIXME: some point to this hmm ?
36 int kill(int pid, int sig);
39 * Returns true if var is approximately equal to number with allowed error
42 * Usage: if (float_equal(var, number, 0.0001)) { }
44 * This will check if 'var' is approx. equal to 'number' with error of 1/1000
46 inline bool float_equal(double var, double number, double error)
48 return (number - error <= var && var <= number + error);
51 /// round \p x to nearest integer
52 inline int iround(double x)
54 return static_cast<int>(round(x));
57 } // namespace support
60 #endif /* LYX_LIB_H */