12#define HAVE_LONG_LONG_INT_64 1
15#define HAVE_IEEEFP_H 1
21#define HAVE_ISFINITE 1
40#if defined(__GNUC__) && defined(_WIN32)
54#define DoubleNotANumber std::numeric_limits<double>::quiet_NaN()
57#define DoubleInfinity std::numeric_limits<double>::infinity()
58#define DoubleNegInfinity -std::numeric_limits<double>::infinity()
60#define DoubleMax std::numeric_limits<double>::max()
63 typedef int64_t int64;
65# ifdef HAVE_LONG_LONG_INT_64
66 typedef long long int int64;
68 typedef long int int64;
69# ifndef HAVE_LONG_INT_64
70# define INT64_IS_REALLY32 1
71# warning "Could not find 64bit integer definition!"
77#if defined(HAVE_FINITE) && !defined(HAVE_ISFINITE)
78# define FINITE(x) (finite(x))
81# define FINITE(x) _finite(static_cast<double>(x))
82# elif defined(__hpux__) && defined(__ia64__)
83# define FINITE(x) (_Isfinite(x))
85# define FINITE(x) (isfinite(x))
89#if defined(HAVE_ISNAN)
90# define ISNAN(x) (std::isnan(x))
93# define ISNAN(x) _isnan(x)
94# elif defined(__MINGW32__) || defined(__CYGWIN__)
96# define ISNAN(x) (std::isnan(x))
97# elif defined(__OSX__) || defined(__APPLE__) || \
98 defined(__NetBSD__) || defined(__DragonFly__) || defined (__OpenBSD__) || \
99 (defined(__sun) && defined(__GNUC__))
102# define ISNAN(x) (std::isnan(x))
103# elif (defined(__sun) || defined(__sun__)) && defined(__SUNPRO_CC)
105# define ISNAN(x) (::isnan(x))
110#error "Can not compile without finite or isfinite function or macro"
114#error "Can not compile without isnan function or macro"