1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
/* DO NOT EDIT THIS FILE.
It has been auto-edited by fixincludes from:
"fixinc/tests/inc/iso/math_c99.h"
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
#if defined( SOLARIS_MATH_1_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef HUGE_VAL
#define HUGE_VAL (__builtin_huge_val())
#undef HUGE_VALF
#define HUGE_VALF (__builtin_huge_valf())
#undef HUGE_VALL
#define HUGE_VALL (__builtin_huge_vall())
#endif /* SOLARIS_MATH_1_CHECK */
#if defined( SOLARIS_MATH_2_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef INFINITY
#define INFINITY (__builtin_inff())
#endif /* SOLARIS_MATH_2_CHECK */
#if defined( SOLARIS_MATH_3_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef NAN
#define NAN (__builtin_nanf(""))
#endif /* SOLARIS_MATH_3_CHECK */
#if defined( SOLARIS_MATH_4_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef fpclassify
#define fpclassify(x) \
__extension__ ({ __typeof(x) __x_fp = (x); \
isnan(__x_fp) \
? FP_NAN \
: isinf(__x_fp) \
? FP_INFINITE \
: isnormal(__x_fp) \
? FP_NORMAL \
: __x_fp == 0.0 \
? FP_ZERO \
: FP_SUBNORMAL; })
#endif /* SOLARIS_MATH_4_CHECK */
#if defined( SOLARIS_MATH_5_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isfinite
#define isfinite(x) \
__extension__ ({ __typeof (x) __x_f = (x); \
__builtin_expect(!isnan(__x_f - __x_f), 1); })
#endif /* SOLARIS_MATH_5_CHECK */
#if defined( SOLARIS_MATH_6_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isinf
#define isinf(x) \
__extension__ ({ __typeof (x) __x_i = (x); \
__builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })
#endif /* SOLARIS_MATH_6_CHECK */
#if defined( SOLARIS_MATH_7_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isnormal
#define isnormal(x) \
__extension__ ({ __typeof(x) __x_n = (x); \
if (__x_n < 0.0) __x_n = -__x_n; \
__builtin_expect(isfinite(__x_n) \
&& (sizeof(__x_n) == sizeof(float) \
? __x_n >= __FLT_MIN__ \
: sizeof(__x_n) == sizeof(long double) \
? __x_n >= __LDBL_MIN__ \
: __x_n >= __DBL_MIN__), 1); })
#endif /* SOLARIS_MATH_7_CHECK */
#if defined( SOLARIS_MATH_8_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef signbit
#define signbit(x) (sizeof(x) == sizeof(float) \
? __builtin_signbitf(x) \
: sizeof(x) == sizeof(long double) \
? __builtin_signbitl(x) \
: __builtin_signbit(x))
#endif /* SOLARIS_MATH_8_CHECK */
#if defined( SOLARIS_MATH_9_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isgreater
#define isgreater(x, y) __builtin_isgreater(x, y)
#undef isgreaterequal
#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
#undef isless
#define isless(x, y) __builtin_isless(x, y)
#undef islessequal
#define islessequal(x, y) __builtin_islessequal(x, y)
#undef islessgreater
#define islessgreater(x, y) __builtin_islessgreater(x, y)
#undef isunordered
#define isunordered(x, y) __builtin_isunordered(x, y)
#endif /* SOLARIS_MATH_9_CHECK */
|