annotate gcc/testsuite/gcc.dg/c99-math.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 #include <math.h>
kono
parents:
diff changeset
2 #include <fenv.h>
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern void abort(void);
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 #define C99_MATH_TESTS(nan, inf, huge, norm1, norm2, norm3, sub, zero, neg) \
kono
parents:
diff changeset
7 { \
kono
parents:
diff changeset
8 if (feclearexcept (FE_ALL_EXCEPT) != 0) \
kono
parents:
diff changeset
9 abort(); \
kono
parents:
diff changeset
10 \
kono
parents:
diff changeset
11 \
kono
parents:
diff changeset
12 if (fpclassify (nan) != FP_NAN) \
kono
parents:
diff changeset
13 abort (); \
kono
parents:
diff changeset
14 \
kono
parents:
diff changeset
15 if (fpclassify (inf) != FP_INFINITE) \
kono
parents:
diff changeset
16 abort (); \
kono
parents:
diff changeset
17 \
kono
parents:
diff changeset
18 if (fpclassify (huge) != FP_INFINITE) \
kono
parents:
diff changeset
19 abort (); \
kono
parents:
diff changeset
20 \
kono
parents:
diff changeset
21 if (fpclassify (norm1) != FP_NORMAL) \
kono
parents:
diff changeset
22 abort (); \
kono
parents:
diff changeset
23 \
kono
parents:
diff changeset
24 if (fpclassify (norm2) != FP_NORMAL) \
kono
parents:
diff changeset
25 abort (); \
kono
parents:
diff changeset
26 \
kono
parents:
diff changeset
27 if (fpclassify (norm3) != FP_NORMAL) \
kono
parents:
diff changeset
28 abort (); \
kono
parents:
diff changeset
29 \
kono
parents:
diff changeset
30 if (fpclassify (sub) != FP_SUBNORMAL) \
kono
parents:
diff changeset
31 abort (); \
kono
parents:
diff changeset
32 \
kono
parents:
diff changeset
33 if (fpclassify (zero) != FP_ZERO) \
kono
parents:
diff changeset
34 abort (); \
kono
parents:
diff changeset
35 \
kono
parents:
diff changeset
36 \
kono
parents:
diff changeset
37 if (!isnan (nan)) \
kono
parents:
diff changeset
38 abort (); \
kono
parents:
diff changeset
39 \
kono
parents:
diff changeset
40 if (isnan (inf)) \
kono
parents:
diff changeset
41 abort (); \
kono
parents:
diff changeset
42 \
kono
parents:
diff changeset
43 if (isnan (huge)) \
kono
parents:
diff changeset
44 abort (); \
kono
parents:
diff changeset
45 \
kono
parents:
diff changeset
46 if (isnan (norm1)) \
kono
parents:
diff changeset
47 abort (); \
kono
parents:
diff changeset
48 \
kono
parents:
diff changeset
49 if (isnan (norm2)) \
kono
parents:
diff changeset
50 abort (); \
kono
parents:
diff changeset
51 \
kono
parents:
diff changeset
52 if (isnan (norm3)) \
kono
parents:
diff changeset
53 abort (); \
kono
parents:
diff changeset
54 \
kono
parents:
diff changeset
55 if (isnan (sub)) \
kono
parents:
diff changeset
56 abort (); \
kono
parents:
diff changeset
57 \
kono
parents:
diff changeset
58 if (isnan (zero)) \
kono
parents:
diff changeset
59 abort (); \
kono
parents:
diff changeset
60 \
kono
parents:
diff changeset
61 \
kono
parents:
diff changeset
62 if (isinf (nan)) \
kono
parents:
diff changeset
63 abort (); \
kono
parents:
diff changeset
64 \
kono
parents:
diff changeset
65 if (!isinf (inf)) \
kono
parents:
diff changeset
66 abort (); \
kono
parents:
diff changeset
67 \
kono
parents:
diff changeset
68 if (!isinf (huge)) \
kono
parents:
diff changeset
69 abort (); \
kono
parents:
diff changeset
70 \
kono
parents:
diff changeset
71 if (isinf (norm1)) \
kono
parents:
diff changeset
72 abort (); \
kono
parents:
diff changeset
73 \
kono
parents:
diff changeset
74 if (isinf (norm2)) \
kono
parents:
diff changeset
75 abort (); \
kono
parents:
diff changeset
76 \
kono
parents:
diff changeset
77 if (isinf (norm3)) \
kono
parents:
diff changeset
78 abort (); \
kono
parents:
diff changeset
79 \
kono
parents:
diff changeset
80 if (isinf (sub)) \
kono
parents:
diff changeset
81 abort (); \
kono
parents:
diff changeset
82 \
kono
parents:
diff changeset
83 if (isinf (zero)) \
kono
parents:
diff changeset
84 abort (); \
kono
parents:
diff changeset
85 \
kono
parents:
diff changeset
86 \
kono
parents:
diff changeset
87 if (isfinite (nan)) \
kono
parents:
diff changeset
88 abort (); \
kono
parents:
diff changeset
89 \
kono
parents:
diff changeset
90 if (isfinite (inf)) \
kono
parents:
diff changeset
91 abort (); \
kono
parents:
diff changeset
92 \
kono
parents:
diff changeset
93 if (isfinite (huge)) \
kono
parents:
diff changeset
94 abort (); \
kono
parents:
diff changeset
95 \
kono
parents:
diff changeset
96 if (!isfinite (norm1)) \
kono
parents:
diff changeset
97 abort (); \
kono
parents:
diff changeset
98 \
kono
parents:
diff changeset
99 if (!isfinite (norm2)) \
kono
parents:
diff changeset
100 abort (); \
kono
parents:
diff changeset
101 \
kono
parents:
diff changeset
102 if (!isfinite (norm3)) \
kono
parents:
diff changeset
103 abort (); \
kono
parents:
diff changeset
104 \
kono
parents:
diff changeset
105 if (!isfinite (sub)) \
kono
parents:
diff changeset
106 abort (); \
kono
parents:
diff changeset
107 \
kono
parents:
diff changeset
108 if (!isfinite (zero)) \
kono
parents:
diff changeset
109 abort (); \
kono
parents:
diff changeset
110 \
kono
parents:
diff changeset
111 \
kono
parents:
diff changeset
112 if (isnormal (nan)) \
kono
parents:
diff changeset
113 abort (); \
kono
parents:
diff changeset
114 \
kono
parents:
diff changeset
115 if (isnormal (inf)) \
kono
parents:
diff changeset
116 abort (); \
kono
parents:
diff changeset
117 \
kono
parents:
diff changeset
118 if (isnormal (huge)) \
kono
parents:
diff changeset
119 abort (); \
kono
parents:
diff changeset
120 \
kono
parents:
diff changeset
121 if (!isnormal (norm1)) \
kono
parents:
diff changeset
122 abort (); \
kono
parents:
diff changeset
123 \
kono
parents:
diff changeset
124 if (!isnormal (norm2)) \
kono
parents:
diff changeset
125 abort (); \
kono
parents:
diff changeset
126 \
kono
parents:
diff changeset
127 if (!isnormal (norm3)) \
kono
parents:
diff changeset
128 abort (); \
kono
parents:
diff changeset
129 \
kono
parents:
diff changeset
130 if (isnormal (sub)) \
kono
parents:
diff changeset
131 abort (); \
kono
parents:
diff changeset
132 \
kono
parents:
diff changeset
133 if (isnormal (zero)) \
kono
parents:
diff changeset
134 abort (); \
kono
parents:
diff changeset
135 \
kono
parents:
diff changeset
136 \
kono
parents:
diff changeset
137 if (!!signbit (nan) != neg) \
kono
parents:
diff changeset
138 abort (); \
kono
parents:
diff changeset
139 \
kono
parents:
diff changeset
140 if (!!signbit (inf) != neg) \
kono
parents:
diff changeset
141 abort (); \
kono
parents:
diff changeset
142 \
kono
parents:
diff changeset
143 if (!!signbit (huge) != neg) \
kono
parents:
diff changeset
144 abort (); \
kono
parents:
diff changeset
145 \
kono
parents:
diff changeset
146 if (!!signbit (norm1) != neg) \
kono
parents:
diff changeset
147 abort (); \
kono
parents:
diff changeset
148 \
kono
parents:
diff changeset
149 if (!!signbit (norm2) != neg) \
kono
parents:
diff changeset
150 abort (); \
kono
parents:
diff changeset
151 \
kono
parents:
diff changeset
152 if (!!signbit (norm3) != neg) \
kono
parents:
diff changeset
153 abort (); \
kono
parents:
diff changeset
154 \
kono
parents:
diff changeset
155 if (!!signbit (sub) != neg) \
kono
parents:
diff changeset
156 abort (); \
kono
parents:
diff changeset
157 \
kono
parents:
diff changeset
158 if (!!signbit (zero) != neg) \
kono
parents:
diff changeset
159 abort (); \
kono
parents:
diff changeset
160 \
kono
parents:
diff changeset
161 \
kono
parents:
diff changeset
162 if (neg) \
kono
parents:
diff changeset
163 { \
kono
parents:
diff changeset
164 if (!isless ((inf), (norm1))) \
kono
parents:
diff changeset
165 abort (); \
kono
parents:
diff changeset
166 \
kono
parents:
diff changeset
167 if (!isless ((inf), (norm2))) \
kono
parents:
diff changeset
168 abort (); \
kono
parents:
diff changeset
169 \
kono
parents:
diff changeset
170 if (!isless ((inf), (norm3))) \
kono
parents:
diff changeset
171 abort (); \
kono
parents:
diff changeset
172 \
kono
parents:
diff changeset
173 if (!islessequal ((inf), (huge))) \
kono
parents:
diff changeset
174 abort (); \
kono
parents:
diff changeset
175 \
kono
parents:
diff changeset
176 if (!isgreater ((norm1), (inf))) \
kono
parents:
diff changeset
177 abort (); \
kono
parents:
diff changeset
178 \
kono
parents:
diff changeset
179 if (!isgreater ((norm2), (inf))) \
kono
parents:
diff changeset
180 abort (); \
kono
parents:
diff changeset
181 \
kono
parents:
diff changeset
182 if (!isgreater ((norm3), (inf))) \
kono
parents:
diff changeset
183 abort (); \
kono
parents:
diff changeset
184 \
kono
parents:
diff changeset
185 if (!isgreaterequal ((huge), (inf))) \
kono
parents:
diff changeset
186 abort (); \
kono
parents:
diff changeset
187 } \
kono
parents:
diff changeset
188 else \
kono
parents:
diff changeset
189 { \
kono
parents:
diff changeset
190 if (!isgreater ((inf), (norm1))) \
kono
parents:
diff changeset
191 abort (); \
kono
parents:
diff changeset
192 \
kono
parents:
diff changeset
193 if (!isgreater ((inf), (norm2))) \
kono
parents:
diff changeset
194 abort (); \
kono
parents:
diff changeset
195 \
kono
parents:
diff changeset
196 if (!isgreater ((inf), (norm3))) \
kono
parents:
diff changeset
197 abort (); \
kono
parents:
diff changeset
198 \
kono
parents:
diff changeset
199 if (!isgreaterequal ((inf), (huge))) \
kono
parents:
diff changeset
200 abort (); \
kono
parents:
diff changeset
201 \
kono
parents:
diff changeset
202 if (!isless ((norm1), (inf))) \
kono
parents:
diff changeset
203 abort (); \
kono
parents:
diff changeset
204 \
kono
parents:
diff changeset
205 if (!isless ((norm2), (inf))) \
kono
parents:
diff changeset
206 abort (); \
kono
parents:
diff changeset
207 \
kono
parents:
diff changeset
208 if (!isless ((norm3), (inf))) \
kono
parents:
diff changeset
209 abort (); \
kono
parents:
diff changeset
210 \
kono
parents:
diff changeset
211 if (!islessequal ((huge), (inf))) \
kono
parents:
diff changeset
212 abort (); \
kono
parents:
diff changeset
213 } \
kono
parents:
diff changeset
214 \
kono
parents:
diff changeset
215 if (!islessgreater ((inf), (norm1))) \
kono
parents:
diff changeset
216 abort (); \
kono
parents:
diff changeset
217 \
kono
parents:
diff changeset
218 if (!islessgreater ((inf), (norm2))) \
kono
parents:
diff changeset
219 abort (); \
kono
parents:
diff changeset
220 \
kono
parents:
diff changeset
221 if (!islessgreater ((inf), (norm3))) \
kono
parents:
diff changeset
222 abort (); \
kono
parents:
diff changeset
223 \
kono
parents:
diff changeset
224 if (!isunordered ((nan), (norm1))) \
kono
parents:
diff changeset
225 abort (); \
kono
parents:
diff changeset
226 \
kono
parents:
diff changeset
227 if (!isunordered ((nan), (norm2))) \
kono
parents:
diff changeset
228 abort (); \
kono
parents:
diff changeset
229 \
kono
parents:
diff changeset
230 if (!isunordered ((nan), (norm3))) \
kono
parents:
diff changeset
231 abort (); \
kono
parents:
diff changeset
232 \
kono
parents:
diff changeset
233 \
kono
parents:
diff changeset
234 if (fetestexcept (FE_ALL_EXCEPT) != 0) \
kono
parents:
diff changeset
235 abort(); \
kono
parents:
diff changeset
236 }