#define M_PI 3.1415926535897932384626433832795
#endif
-/* Scaling factors for various unit conversions */
+/* Scaling factors for various unit conversions: 1 inch = 2.54 cm */
#ifndef METRIC_CONVERSION_CONSTANT
- #define METRIC_CONVERSION_CONSTANT 0.0393700787
+ #define METRIC_CONVERSION_CONSTANT (1./254)
#endif
#ifndef mm2inches
#elif defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
defined(__HPUX__)||defined(__MWERKS__)
+#ifdef __SOLARIS__
+#include <ieeefp.h>
+#endif
#define wxFinite(x) finite(x)
#else
#define wxFinite(x) ((x) == (x))
inline bool wxIsNullDouble(double x) { return wxIsSameDouble(x, 0.); }
- #ifdef __VMS
- //Missing definition in OpenVMS C++ header files.
- double round(double __x);
- #endif
inline int wxRound(double x)
{
- #ifdef __VMS
+ wxASSERT_MSG( x > INT_MIN - 0.5 && x < INT_MAX + 0.5,
+ _T("argument out of supported range") );
+
+ #if defined(HAVE_ROUND)
return int(round(x));
#else
return (int)(x < 0 ? x - 0.5 : x + 0.5);
extern "C" {
#endif
/* functions from common/extended.c */
- extern wxFloat64 ConvertFromIeeeExtended(const wxInt8 *bytes);
- extern void ConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes);
+ WXDLLIMPEXP_BASE wxFloat64 wxConvertFromIeeeExtended(const wxInt8 *bytes);
+ WXDLLIMPEXP_BASE void wxConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes);
+
+ /* use wxConvertFromIeeeExtended() and wxConvertToIeeeExtended() instead */
+#if WXWIN_COMPATIBILITY_2_8
+ wxDEPRECATED( WXDLLIMPEXP_BASE wxFloat64 ConvertFromIeeeExtended(const wxInt8 *bytes) );
+ wxDEPRECATED( WXDLLIMPEXP_BASE void ConvertToIeeeExtended(wxFloat64 num, wxInt8 *bytes) );
+#endif // WXWIN_COMPATIBILITY_2_8
+
#ifdef __cplusplus
}
#endif