1 #ifndef __math_compat_h 2 #define __math_compat_h 3 4 /** 5 * @file 6 * @brief Do not use, json-c internal, may be changed or removed at any time. 7 */ 8 9 /* Define isnan, isinf, infinity and nan on Windows/MSVC */ 10 11 #ifndef HAVE_DECL_ISNAN 12 #ifdef HAVE_DECL__ISNAN 13 #include <float.h> 14 #define isnan(x) _isnan(x) 15 #else 16 /* On platforms like AIX and "IBM i" we need to provide our own isnan */ 17 #define isnan(x) ((x) != (x)) 18 #endif 19 #endif 20 21 #ifndef HAVE_DECL_ISINF 22 #ifdef HAVE_DECL__FINITE 23 #include <float.h> 24 #define isinf(x) (!_finite(x)) 25 #else 26 #include <float.h> 27 /* On platforms like AIX and "IBM i" we need to provide our own isinf */ 28 #define isinf(x) ((x) < -DBL_MAX || (x) > DBL_MAX) 29 #endif 30 #endif 31 32 #ifndef HAVE_DECL_INFINITY 33 #include <float.h> 34 #define INFINITY (DBL_MAX + DBL_MAX) 35 #define HAVE_DECL_INFINITY 36 #endif 37 38 #ifndef HAVE_DECL_NAN 39 #define NAN (INFINITY - INFINITY) 40 #define HAVE_DECL_NAN 41 #endif 42 43 #endif 44
This page was automatically generated by LXR 0.3.1. • OpenWrt