ROSE  0.9.9.139
rose_isnan.h
1 #ifndef ROSE_isnan_H
2 #define ROSE_isnan_H
3 
4 
5 #if (__GNUC__ < 6)
6 #include <cmath>
7 
8 // MS 2016: isnan is available in C++11 std namespace, but not in C++98
9 // std namespace. On *some* systems C++11 cmath puts it inside *and* outside the std
10 // namespace.
11 #if __cplusplus >= 201103L
12  #define rose_isnan(x) std::isnan(x)
13 #else
14  #ifdef _MSC_VER
15  #include <float.h> // for _isnan
16  #define rose_isnan(x) _isnan(x)
17  #else
18  #define rose_isnan(x) isnan(x)
19  #endif
20 #endif
21 
22 #else
23 #include <math.h>
24  #define rose_isnan(x) std::isnan(x)
25 
26 #endif
27 
28 #endif