| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- --- a/math_compat.h
- +++ b/math_compat.h
- @@ -6,38 +6,9 @@
- * @brief Do not use, json-c internal, may be changed or removed at any time.
- */
-
- -/* Define isnan, isinf, infinity and nan on Windows/MSVC */
- -
- -#ifndef HAVE_DECL_ISNAN
- -#ifdef HAVE_DECL__ISNAN
- -#include <float.h>
- -#define isnan(x) _isnan(x)
- -#else
- -/* On platforms like AIX and "IBM i" we need to provide our own isnan */
- -#define isnan(x) ((x) != (x))
- -#endif
- -#endif
- -
- -#ifndef HAVE_DECL_ISINF
- -#ifdef HAVE_DECL__FINITE
- -#include <float.h>
- -#define isinf(x) (!_finite(x))
- -#else
- -#include <float.h>
- -/* On platforms like AIX and "IBM i" we need to provide our own isinf */
- -#define isinf(x) ((x) < -DBL_MAX || (x) > DBL_MAX)
- -#endif
- -#endif
- -
- -#ifndef HAVE_DECL_INFINITY
- -#include <float.h>
- -#define INFINITY (DBL_MAX + DBL_MAX)
- -#define HAVE_DECL_INFINITY
- -#endif
- -
- -#ifndef HAVE_DECL_NAN
- -#define NAN (INFINITY - INFINITY)
- -#define HAVE_DECL_NAN
- -#endif
- +#undef isnan
- +#define isnan(x) __builtin_isnan(x)
- +#undef isinf
- +#define isinf(x) __builtin_isinf(x)
-
- #endif
|