3 * Purpose: Declarations/definitions of common math functions
4 * Author: John Labenski and others
9 * Licence: wxWindows licence
12 /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
17 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
18 #pragma interface "math.h"
26 #define M_PI 3.1415926535897932384626433832795
29 /* Scaling factors for various unit conversions */
30 #ifndef METRIC_CONVERSION_CONSTANT
31 #define METRIC_CONVERSION_CONSTANT 0.0393700787
35 #define mm2inches (METRIC_CONVERSION_CONSTANT)
39 #define inches2mm (1/(mm2inches))
43 #define mm2twips (METRIC_CONVERSION_CONSTANT*1440)
47 #define twips2mm (1/(mm2twips))
51 #define mm2pt (METRIC_CONVERSION_CONSTANT*72)
55 #define pt2mm (1/(mm2pt))
59 /* unknown __VISAGECC__, __SYMANTECCC__ */
61 #if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__)
63 #define wxFinite(x) _finite(x)
64 #elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
65 defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
66 defined(__HPUX__)||defined(__MWERKS__)
67 #define wxFinite(x) finite(x)
69 #define wxFinite(x) ((x) == (x))
73 #if defined(__VISUALC__)||defined(__BORLAND__)
74 #define wxIsNaN(x) _isnan(x)
75 #elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
76 defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
77 defined(__HPUX__)||defined(__MWERKS__)
78 #define wxIsNaN(x) isnan(x)
80 #define wxIsNaN(x) ((x) != (x))
84 #endif /* _WX_MATH_H_ */