/* Scaling factors for various unit conversions: 1 inch = 2.54 cm */
#ifndef METRIC_CONVERSION_CONSTANT
- #define METRIC_CONVERSION_CONSTANT (1./254)
+ #define METRIC_CONVERSION_CONSTANT (1/25.4)
#endif
#ifndef mm2inches
#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__)
#include <float.h>
#define wxFinite(x) _finite(x)
-#elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
+#elif defined(__MINGW64__)
+ // add more compilers with C99 support here: using C99 isfinite() is
+ // preferable to using BSD-ish finite()
+ #define wxFinite(x) isfinite(x)
+#elif ( defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
- defined(__HPUX__)||defined(__MWERKS__)
+ defined(__HPUX__)||defined(__MWERKS__) ) && ( !defined(wxOSX_USE_IPHONE) || wxOSX_USE_IPHONE == 0 )
+#ifdef __SOLARIS__
+#include <ieeefp.h>
+#endif
#define wxFinite(x) finite(x)
#else
#define wxFinite(x) ((x) == (x))
// shouldn't be used with doubles, but we get too many of them and
// removing these operators is probably not a good idea
//
- // Maybe we should alway compare doubles up to some "epsilon" precision
+ // Maybe we should always compare doubles up to some "epsilon" precision
#pragma warning(push)
// floating-point equality and inequality comparisons are unreliable
inline int wxRound(double x)
{
wxASSERT_MSG( x > INT_MIN - 0.5 && x < INT_MAX + 0.5,
- _T("argument out of supported range") );
+ wxT("argument out of supported range") );
#if defined(HAVE_ROUND)
return int(round(x));