11template <
typename T>
inline T
fl_abs(T value) {
12 return value < 0 ? -value : value;
26 return (a < b) ? a : b;
30 return (a > b) ? a : b;
37#define MAX(a, b) fl::fl_max(a, b)
41#define MIN(a, b) fl::fl_min(a, b)
45#define ABS(x) fl::fl_abs(x)
50#define EPSILON_F 1.19209290e-07F
55#define EPSILON_D 2.2204460492503131e-16
59#define ALMOST_EQUAL(a, b, small) (ABS((a) - (b)) < small)
62#ifndef ALMOST_EQUAL_FLOAT
63#define ALMOST_EQUAL_FLOAT(a, b) (ABS((a) - (b)) < EPSILON_F)
68#ifndef ALMOST_EQUAL_DOUBLE
69#define ALMOST_EQUAL_EPSILON(a, b, epsilon) (ABS((a) - (b)) < (epsilon))
72#ifndef ALMOST_EQUAL_DOUBLE
73#define ALMOST_EQUAL_DOUBLE(a, b) ALMOST_EQUAL_EPSILON(a, b, EPSILON_F)
76#ifndef INFINITY_DOUBLE
77#define INFINITY_DOUBLE (1.0 / 0.0)
81#define INFINITY_FLOAT (1.0f / 0.0f)
85#define FLT_MAX 3.402823466e+38F
89#define PI 3.1415926535897932384626433832795
#define FL_DISABLE_WARNING(warning)
#define FL_DISABLE_WARNING_IMPLICIT_INT_CONVERSION
#define FL_DISABLE_WARNING_PUSH
#define FL_DISABLE_WARNING_SIGN_CONVERSION
#define FL_DISABLE_WARNING_POP
#define FL_DISABLE_WARNING_FLOAT_CONVERSION
typename common_type< T, U >::type common_type_t
FL_DISABLE_WARNING_PUSH U common_type_t< T, U > fl_min(T a, U b)
common_type_t< T, U > fl_max(T a, U b)