]> git.saurik.com Git - redis.git/blob - solarisfixes.h
36f1920162ce7ecd43d2abe0da51c0d896bac9c7
[redis.git] / solarisfixes.h
1 /* Solaris specific fixes */
2
3 #undef isnan
4 #define isnan(x) \
5 __extension__({ __typeof (x) __x_a = (x); \
6 __builtin_expect(__x_a != __x_a, 0); })
7
8 #undef isfinite
9 #define isfinite(x) \
10 __extension__ ({ __typeof (x) __x_f = (x); \
11 __builtin_expect(!isnan(__x_f - __x_f), 1); })
12
13 #undef isinf
14 #define isinf(x) \
15 __extension__ ({ __typeof (x) __x_i = (x); \
16 __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })