1 | // RUN: %clang_builtins %s %librt -o %t && %run %t |
2 | // REQUIRES: librt_has_comparesf2 |
3 | |
4 | #include <stdio.h> |
5 | |
6 | int __eqsf2(float, float); |
7 | int __gesf2(float, float); |
8 | int __gtsf2(float, float); |
9 | int __lesf2(float, float); |
10 | int __ltsf2(float, float); |
11 | int __nesf2(float, float); |
12 | int __unordsf2(float, float); |
13 | |
14 | struct TestVector { |
15 | float a; |
16 | float b; |
17 | int eqReference; |
18 | int geReference; |
19 | int gtReference; |
20 | int leReference; |
21 | int ltReference; |
22 | int neReference; |
23 | int unReference; |
24 | }; |
25 | |
26 | int test__cmpsf2(const struct TestVector *vector) { |
27 | |
28 | if (__eqsf2(vector->a, vector->b) != vector->eqReference) { |
29 | printf(format: "error in __eqsf2(%a, %a) = %d, expected %d\n" , |
30 | vector->a, vector->b, |
31 | __eqsf2(vector->a, vector->b), |
32 | vector->eqReference); |
33 | return 1; |
34 | } |
35 | |
36 | if (__gesf2(vector->a, vector->b) != vector->geReference) { |
37 | printf(format: "error in __gesf2(%a, %a) = %d, expected %d\n" , |
38 | vector->a, vector->b, |
39 | __gesf2(vector->a, vector->b), |
40 | vector->geReference); |
41 | return 1; |
42 | } |
43 | |
44 | if (__gtsf2(vector->a, vector->b) != vector->gtReference) { |
45 | printf(format: "error in __gtsf2(%a, %a) = %d, expected %d\n" , |
46 | vector->a, vector->b, |
47 | __gtsf2(vector->a, vector->b), |
48 | vector->gtReference); |
49 | return 1; |
50 | } |
51 | |
52 | if (__lesf2(vector->a, vector->b) != vector->leReference) { |
53 | printf(format: "error in __lesf2(%a, %a) = %d, expected %d\n" , |
54 | vector->a, vector->b, |
55 | __lesf2(vector->a, vector->b), |
56 | vector->leReference); |
57 | return 1; |
58 | } |
59 | |
60 | if (__ltsf2(vector->a, vector->b) != vector->ltReference) { |
61 | printf(format: "error in __ltsf2(%a, %a) = %d, expected %d\n" , |
62 | vector->a, vector->b, |
63 | __ltsf2(vector->a, vector->b), |
64 | vector->ltReference); |
65 | return 1; |
66 | } |
67 | |
68 | if (__nesf2(vector->a, vector->b) != vector->neReference) { |
69 | printf(format: "error in __nesf2(%a, %a) = %d, expected %d\n" , |
70 | vector->a, vector->b, |
71 | __nesf2(vector->a, vector->b), |
72 | vector->neReference); |
73 | return 1; |
74 | } |
75 | |
76 | if (__unordsf2(vector->a, vector->b) != vector->unReference) { |
77 | printf(format: "error in __unordsf2(%a, %a) = %d, expected %d\n" , |
78 | vector->a, vector->b, |
79 | __unordsf2(vector->a, vector->b), |
80 | vector->unReference); |
81 | return 1; |
82 | } |
83 | |
84 | return 0; |
85 | } |
86 | |
87 | /* |
88 | void generateVectors() { |
89 | |
90 | const float arguments[] = { |
91 | __builtin_nanf(""), |
92 | -__builtin_inff(), |
93 | -0x1.fffffep127, |
94 | -0x1.000002p0 |
95 | -0x1.000000p0, |
96 | -0x1.fffffep-1f, |
97 | -0x1.000000p-126f, |
98 | -0x0.fffffep-126f, |
99 | -0x0.000002p-126f, |
100 | -0.0, |
101 | 0.0, |
102 | 0x0.000002p-126f, |
103 | 0x0.fffffep-126f, |
104 | 0x1.000000p-126f, |
105 | 0x1.fffffep-1f, |
106 | 0x1.000000p0, |
107 | 0x1.000002p0, |
108 | 0x1.fffffep127, |
109 | __builtin_inff() |
110 | }; |
111 | |
112 | int numArguments = sizeof arguments / sizeof arguments[0]; |
113 | |
114 | for (int i=0; i<numArguments; ++i) { |
115 | for (int j=0; j<numArguments; ++j) { |
116 | const float a = arguments[i]; |
117 | const float b = arguments[j]; |
118 | const int leResult = a < b ? -1 : a == b ? 0 : 1; |
119 | const int geResult = a > b ? 1 : a == b ? 0 : -1; |
120 | const int unResult = a != a || b != b ? 1 : 0; |
121 | printf("{%a,%a,%d,%d,%d,%d,%d,%d,%d},\n", |
122 | a, b, |
123 | leResult, |
124 | geResult, |
125 | geResult, |
126 | leResult, |
127 | leResult, |
128 | leResult, |
129 | unResult); |
130 | } |
131 | } |
132 | } */ |
133 | |
134 | static const struct TestVector vectors[] = { |
135 | {__builtin_nanf("" ),__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
136 | {__builtin_nanf("" ),-__builtin_inff(),1,-1,-1,1,1,1,1}, |
137 | {__builtin_nanf("" ),-0x1.fffffep+127f,1,-1,-1,1,1,1,1}, |
138 | {__builtin_nanf("" ),-0x1p0f,1,-1,-1,1,1,1,1}, |
139 | {__builtin_nanf("" ),-0x1.fffffep-1f,1,-1,-1,1,1,1,1}, |
140 | {__builtin_nanf("" ),-0x1p-126f,1,-1,-1,1,1,1,1}, |
141 | {__builtin_nanf("" ),-0x1.fffffcp-127,1,-1,-1,1,1,1,1}, |
142 | {__builtin_nanf("" ),-0x1p-149f,1,-1,-1,1,1,1,1}, |
143 | {__builtin_nanf("" ),-0x0p0f,1,-1,-1,1,1,1,1}, |
144 | {__builtin_nanf("" ),0x0p0f,1,-1,-1,1,1,1,1}, |
145 | {__builtin_nanf("" ),0x1p-149f,1,-1,-1,1,1,1,1}, |
146 | {__builtin_nanf("" ),0x1.fffffcp-127,1,-1,-1,1,1,1,1}, |
147 | {__builtin_nanf("" ),0x1p-126f,1,-1,-1,1,1,1,1}, |
148 | {__builtin_nanf("" ),0x1.fffffep-1f,1,-1,-1,1,1,1,1}, |
149 | {__builtin_nanf("" ),0x1p0f,1,-1,-1,1,1,1,1}, |
150 | {__builtin_nanf("" ),0x1.000002p0f,1,-1,-1,1,1,1,1}, |
151 | {__builtin_nanf("" ),0x1.fffffep+127f,1,-1,-1,1,1,1,1}, |
152 | {__builtin_nanf("" ),__builtin_inff(),1,-1,-1,1,1,1,1}, |
153 | {-__builtin_inff(),__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
154 | {-__builtin_inff(),-__builtin_inff(),0,0,0,0,0,0,0}, |
155 | {-__builtin_inff(),-0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
156 | {-__builtin_inff(),-0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
157 | {-__builtin_inff(),-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
158 | {-__builtin_inff(),-0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
159 | {-__builtin_inff(),-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
160 | {-__builtin_inff(),-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
161 | {-__builtin_inff(),-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
162 | {-__builtin_inff(),0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
163 | {-__builtin_inff(),0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
164 | {-__builtin_inff(),0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
165 | {-__builtin_inff(),0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
166 | {-__builtin_inff(),0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
167 | {-__builtin_inff(),0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
168 | {-__builtin_inff(),0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
169 | {-__builtin_inff(),0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
170 | {-__builtin_inff(),__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
171 | {-0x1.fffffep+127f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
172 | {-0x1.fffffep+127f,-__builtin_inff(),1,1,1,1,1,1,0}, |
173 | {-0x1.fffffep+127f,-0x1.fffffep+127f,0,0,0,0,0,0,0}, |
174 | {-0x1.fffffep+127f,-0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
175 | {-0x1.fffffep+127f,-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
176 | {-0x1.fffffep+127f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
177 | {-0x1.fffffep+127f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
178 | {-0x1.fffffep+127f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
179 | {-0x1.fffffep+127f,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
180 | {-0x1.fffffep+127f,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
181 | {-0x1.fffffep+127f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
182 | {-0x1.fffffep+127f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
183 | {-0x1.fffffep+127f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
184 | {-0x1.fffffep+127f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
185 | {-0x1.fffffep+127f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
186 | {-0x1.fffffep+127f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
187 | {-0x1.fffffep+127f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
188 | {-0x1.fffffep+127f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
189 | {-0x1p0f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
190 | {-0x1p0f,-__builtin_inff(),1,1,1,1,1,1,0}, |
191 | {-0x1p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
192 | {-0x1p0f,-0x1p0f,0,0,0,0,0,0,0}, |
193 | {-0x1p0f,-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
194 | {-0x1p0f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
195 | {-0x1p0f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
196 | {-0x1p0f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
197 | {-0x1p0f,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
198 | {-0x1p0f,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
199 | {-0x1p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
200 | {-0x1p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
201 | {-0x1p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
202 | {-0x1p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
203 | {-0x1p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
204 | {-0x1p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
205 | {-0x1p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
206 | {-0x1p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
207 | {-0x1.fffffep-1f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
208 | {-0x1.fffffep-1f,-__builtin_inff(),1,1,1,1,1,1,0}, |
209 | {-0x1.fffffep-1f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
210 | {-0x1.fffffep-1f,-0x1p0f,1,1,1,1,1,1,0}, |
211 | {-0x1.fffffep-1f,-0x1.fffffep-1f,0,0,0,0,0,0,0}, |
212 | {-0x1.fffffep-1f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
213 | {-0x1.fffffep-1f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
214 | {-0x1.fffffep-1f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
215 | {-0x1.fffffep-1f,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
216 | {-0x1.fffffep-1f,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
217 | {-0x1.fffffep-1f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
218 | {-0x1.fffffep-1f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
219 | {-0x1.fffffep-1f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
220 | {-0x1.fffffep-1f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
221 | {-0x1.fffffep-1f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
222 | {-0x1.fffffep-1f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
223 | {-0x1.fffffep-1f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
224 | {-0x1.fffffep-1f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
225 | {-0x1p-126f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
226 | {-0x1p-126f,-__builtin_inff(),1,1,1,1,1,1,0}, |
227 | {-0x1p-126f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
228 | {-0x1p-126f,-0x1p0f,1,1,1,1,1,1,0}, |
229 | {-0x1p-126f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
230 | {-0x1p-126f,-0x1p-126f,0,0,0,0,0,0,0}, |
231 | {-0x1p-126f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
232 | {-0x1p-126f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
233 | {-0x1p-126f,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
234 | {-0x1p-126f,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
235 | {-0x1p-126f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
236 | {-0x1p-126f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
237 | {-0x1p-126f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
238 | {-0x1p-126f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
239 | {-0x1p-126f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
240 | {-0x1p-126f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
241 | {-0x1p-126f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
242 | {-0x1p-126f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
243 | {-0x1.fffffcp-127,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
244 | {-0x1.fffffcp-127,-__builtin_inff(),1,1,1,1,1,1,0}, |
245 | {-0x1.fffffcp-127,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
246 | {-0x1.fffffcp-127,-0x1p0f,1,1,1,1,1,1,0}, |
247 | {-0x1.fffffcp-127,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
248 | {-0x1.fffffcp-127,-0x1p-126f,1,1,1,1,1,1,0}, |
249 | {-0x1.fffffcp-127,-0x1.fffffcp-127,0,0,0,0,0,0,0}, |
250 | {-0x1.fffffcp-127,-0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
251 | {-0x1.fffffcp-127,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
252 | {-0x1.fffffcp-127,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
253 | {-0x1.fffffcp-127,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
254 | {-0x1.fffffcp-127,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
255 | {-0x1.fffffcp-127,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
256 | {-0x1.fffffcp-127,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
257 | {-0x1.fffffcp-127,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
258 | {-0x1.fffffcp-127,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
259 | {-0x1.fffffcp-127,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
260 | {-0x1.fffffcp-127,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
261 | {-0x1p-149f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
262 | {-0x1p-149f,-__builtin_inff(),1,1,1,1,1,1,0}, |
263 | {-0x1p-149f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
264 | {-0x1p-149f,-0x1p0f,1,1,1,1,1,1,0}, |
265 | {-0x1p-149f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
266 | {-0x1p-149f,-0x1p-126f,1,1,1,1,1,1,0}, |
267 | {-0x1p-149f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
268 | {-0x1p-149f,-0x1p-149f,0,0,0,0,0,0,0}, |
269 | {-0x1p-149f,-0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
270 | {-0x1p-149f,0x0p0f,-1,-1,-1,-1,-1,-1,0}, |
271 | {-0x1p-149f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
272 | {-0x1p-149f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
273 | {-0x1p-149f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
274 | {-0x1p-149f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
275 | {-0x1p-149f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
276 | {-0x1p-149f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
277 | {-0x1p-149f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
278 | {-0x1p-149f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
279 | {-0x0p0f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
280 | {-0x0p0f,-__builtin_inff(),1,1,1,1,1,1,0}, |
281 | {-0x0p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
282 | {-0x0p0f,-0x1p0f,1,1,1,1,1,1,0}, |
283 | {-0x0p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
284 | {-0x0p0f,-0x1p-126f,1,1,1,1,1,1,0}, |
285 | {-0x0p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
286 | {-0x0p0f,-0x1p-149f,1,1,1,1,1,1,0}, |
287 | {-0x0p0f,-0x0p0f,0,0,0,0,0,0,0}, |
288 | {-0x0p0f,0x0p0f,0,0,0,0,0,0,0}, |
289 | {-0x0p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
290 | {-0x0p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
291 | {-0x0p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
292 | {-0x0p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
293 | {-0x0p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
294 | {-0x0p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
295 | {-0x0p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
296 | {-0x0p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
297 | {0x0p0f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
298 | {0x0p0f,-__builtin_inff(),1,1,1,1,1,1,0}, |
299 | {0x0p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
300 | {0x0p0f,-0x1p0f,1,1,1,1,1,1,0}, |
301 | {0x0p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
302 | {0x0p0f,-0x1p-126f,1,1,1,1,1,1,0}, |
303 | {0x0p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
304 | {0x0p0f,-0x1p-149f,1,1,1,1,1,1,0}, |
305 | {0x0p0f,-0x0p0f,0,0,0,0,0,0,0}, |
306 | {0x0p0f,0x0p0f,0,0,0,0,0,0,0}, |
307 | {0x0p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0}, |
308 | {0x0p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
309 | {0x0p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
310 | {0x0p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
311 | {0x0p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
312 | {0x0p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
313 | {0x0p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
314 | {0x0p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
315 | {0x1p-149f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
316 | {0x1p-149f,-__builtin_inff(),1,1,1,1,1,1,0}, |
317 | {0x1p-149f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
318 | {0x1p-149f,-0x1p0f,1,1,1,1,1,1,0}, |
319 | {0x1p-149f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
320 | {0x1p-149f,-0x1p-126f,1,1,1,1,1,1,0}, |
321 | {0x1p-149f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
322 | {0x1p-149f,-0x1p-149f,1,1,1,1,1,1,0}, |
323 | {0x1p-149f,-0x0p0f,1,1,1,1,1,1,0}, |
324 | {0x1p-149f,0x0p0f,1,1,1,1,1,1,0}, |
325 | {0x1p-149f,0x1p-149f,0,0,0,0,0,0,0}, |
326 | {0x1p-149f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0}, |
327 | {0x1p-149f,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
328 | {0x1p-149f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
329 | {0x1p-149f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
330 | {0x1p-149f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
331 | {0x1p-149f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
332 | {0x1p-149f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
333 | {0x1.fffffcp-127,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
334 | {0x1.fffffcp-127,-__builtin_inff(),1,1,1,1,1,1,0}, |
335 | {0x1.fffffcp-127,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
336 | {0x1.fffffcp-127,-0x1p0f,1,1,1,1,1,1,0}, |
337 | {0x1.fffffcp-127,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
338 | {0x1.fffffcp-127,-0x1p-126f,1,1,1,1,1,1,0}, |
339 | {0x1.fffffcp-127,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
340 | {0x1.fffffcp-127,-0x1p-149f,1,1,1,1,1,1,0}, |
341 | {0x1.fffffcp-127,-0x0p0f,1,1,1,1,1,1,0}, |
342 | {0x1.fffffcp-127,0x0p0f,1,1,1,1,1,1,0}, |
343 | {0x1.fffffcp-127,0x1p-149f,1,1,1,1,1,1,0}, |
344 | {0x1.fffffcp-127,0x1.fffffcp-127,0,0,0,0,0,0,0}, |
345 | {0x1.fffffcp-127,0x1p-126f,-1,-1,-1,-1,-1,-1,0}, |
346 | {0x1.fffffcp-127,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
347 | {0x1.fffffcp-127,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
348 | {0x1.fffffcp-127,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
349 | {0x1.fffffcp-127,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
350 | {0x1.fffffcp-127,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
351 | {0x1p-126f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
352 | {0x1p-126f,-__builtin_inff(),1,1,1,1,1,1,0}, |
353 | {0x1p-126f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
354 | {0x1p-126f,-0x1p0f,1,1,1,1,1,1,0}, |
355 | {0x1p-126f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
356 | {0x1p-126f,-0x1p-126f,1,1,1,1,1,1,0}, |
357 | {0x1p-126f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
358 | {0x1p-126f,-0x1p-149f,1,1,1,1,1,1,0}, |
359 | {0x1p-126f,-0x0p0f,1,1,1,1,1,1,0}, |
360 | {0x1p-126f,0x0p0f,1,1,1,1,1,1,0}, |
361 | {0x1p-126f,0x1p-149f,1,1,1,1,1,1,0}, |
362 | {0x1p-126f,0x1.fffffcp-127,1,1,1,1,1,1,0}, |
363 | {0x1p-126f,0x1p-126f,0,0,0,0,0,0,0}, |
364 | {0x1p-126f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0}, |
365 | {0x1p-126f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
366 | {0x1p-126f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
367 | {0x1p-126f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
368 | {0x1p-126f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
369 | {0x1.fffffep-1f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
370 | {0x1.fffffep-1f,-__builtin_inff(),1,1,1,1,1,1,0}, |
371 | {0x1.fffffep-1f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
372 | {0x1.fffffep-1f,-0x1p0f,1,1,1,1,1,1,0}, |
373 | {0x1.fffffep-1f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
374 | {0x1.fffffep-1f,-0x1p-126f,1,1,1,1,1,1,0}, |
375 | {0x1.fffffep-1f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
376 | {0x1.fffffep-1f,-0x1p-149f,1,1,1,1,1,1,0}, |
377 | {0x1.fffffep-1f,-0x0p0f,1,1,1,1,1,1,0}, |
378 | {0x1.fffffep-1f,0x0p0f,1,1,1,1,1,1,0}, |
379 | {0x1.fffffep-1f,0x1p-149f,1,1,1,1,1,1,0}, |
380 | {0x1.fffffep-1f,0x1.fffffcp-127,1,1,1,1,1,1,0}, |
381 | {0x1.fffffep-1f,0x1p-126f,1,1,1,1,1,1,0}, |
382 | {0x1.fffffep-1f,0x1.fffffep-1f,0,0,0,0,0,0,0}, |
383 | {0x1.fffffep-1f,0x1p0f,-1,-1,-1,-1,-1,-1,0}, |
384 | {0x1.fffffep-1f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
385 | {0x1.fffffep-1f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
386 | {0x1.fffffep-1f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
387 | {0x1p0f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
388 | {0x1p0f,-__builtin_inff(),1,1,1,1,1,1,0}, |
389 | {0x1p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
390 | {0x1p0f,-0x1p0f,1,1,1,1,1,1,0}, |
391 | {0x1p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
392 | {0x1p0f,-0x1p-126f,1,1,1,1,1,1,0}, |
393 | {0x1p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
394 | {0x1p0f,-0x1p-149f,1,1,1,1,1,1,0}, |
395 | {0x1p0f,-0x0p0f,1,1,1,1,1,1,0}, |
396 | {0x1p0f,0x0p0f,1,1,1,1,1,1,0}, |
397 | {0x1p0f,0x1p-149f,1,1,1,1,1,1,0}, |
398 | {0x1p0f,0x1.fffffcp-127,1,1,1,1,1,1,0}, |
399 | {0x1p0f,0x1p-126f,1,1,1,1,1,1,0}, |
400 | {0x1p0f,0x1.fffffep-1f,1,1,1,1,1,1,0}, |
401 | {0x1p0f,0x1p0f,0,0,0,0,0,0,0}, |
402 | {0x1p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0}, |
403 | {0x1p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
404 | {0x1p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
405 | {0x1.000002p0f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
406 | {0x1.000002p0f,-__builtin_inff(),1,1,1,1,1,1,0}, |
407 | {0x1.000002p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
408 | {0x1.000002p0f,-0x1p0f,1,1,1,1,1,1,0}, |
409 | {0x1.000002p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
410 | {0x1.000002p0f,-0x1p-126f,1,1,1,1,1,1,0}, |
411 | {0x1.000002p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
412 | {0x1.000002p0f,-0x1p-149f,1,1,1,1,1,1,0}, |
413 | {0x1.000002p0f,-0x0p0f,1,1,1,1,1,1,0}, |
414 | {0x1.000002p0f,0x0p0f,1,1,1,1,1,1,0}, |
415 | {0x1.000002p0f,0x1p-149f,1,1,1,1,1,1,0}, |
416 | {0x1.000002p0f,0x1.fffffcp-127,1,1,1,1,1,1,0}, |
417 | {0x1.000002p0f,0x1p-126f,1,1,1,1,1,1,0}, |
418 | {0x1.000002p0f,0x1.fffffep-1f,1,1,1,1,1,1,0}, |
419 | {0x1.000002p0f,0x1p0f,1,1,1,1,1,1,0}, |
420 | {0x1.000002p0f,0x1.000002p0f,0,0,0,0,0,0,0}, |
421 | {0x1.000002p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0}, |
422 | {0x1.000002p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
423 | {0x1.fffffep+127f,__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
424 | {0x1.fffffep+127f,-__builtin_inff(),1,1,1,1,1,1,0}, |
425 | {0x1.fffffep+127f,-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
426 | {0x1.fffffep+127f,-0x1p0f,1,1,1,1,1,1,0}, |
427 | {0x1.fffffep+127f,-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
428 | {0x1.fffffep+127f,-0x1p-126f,1,1,1,1,1,1,0}, |
429 | {0x1.fffffep+127f,-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
430 | {0x1.fffffep+127f,-0x1p-149f,1,1,1,1,1,1,0}, |
431 | {0x1.fffffep+127f,-0x0p0f,1,1,1,1,1,1,0}, |
432 | {0x1.fffffep+127f,0x0p0f,1,1,1,1,1,1,0}, |
433 | {0x1.fffffep+127f,0x1p-149f,1,1,1,1,1,1,0}, |
434 | {0x1.fffffep+127f,0x1.fffffcp-127,1,1,1,1,1,1,0}, |
435 | {0x1.fffffep+127f,0x1p-126f,1,1,1,1,1,1,0}, |
436 | {0x1.fffffep+127f,0x1.fffffep-1f,1,1,1,1,1,1,0}, |
437 | {0x1.fffffep+127f,0x1p0f,1,1,1,1,1,1,0}, |
438 | {0x1.fffffep+127f,0x1.000002p0f,1,1,1,1,1,1,0}, |
439 | {0x1.fffffep+127f,0x1.fffffep+127f,0,0,0,0,0,0,0}, |
440 | {0x1.fffffep+127f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0}, |
441 | {__builtin_inff(),__builtin_nanf("" ),1,-1,-1,1,1,1,1}, |
442 | {__builtin_inff(),-__builtin_inff(),1,1,1,1,1,1,0}, |
443 | {__builtin_inff(),-0x1.fffffep+127f,1,1,1,1,1,1,0}, |
444 | {__builtin_inff(),-0x1p0f,1,1,1,1,1,1,0}, |
445 | {__builtin_inff(),-0x1.fffffep-1f,1,1,1,1,1,1,0}, |
446 | {__builtin_inff(),-0x1p-126f,1,1,1,1,1,1,0}, |
447 | {__builtin_inff(),-0x1.fffffcp-127,1,1,1,1,1,1,0}, |
448 | {__builtin_inff(),-0x1p-149f,1,1,1,1,1,1,0}, |
449 | {__builtin_inff(),-0x0p0f,1,1,1,1,1,1,0}, |
450 | {__builtin_inff(),0x0p0f,1,1,1,1,1,1,0}, |
451 | {__builtin_inff(),0x1p-149f,1,1,1,1,1,1,0}, |
452 | {__builtin_inff(),0x1.fffffcp-127,1,1,1,1,1,1,0}, |
453 | {__builtin_inff(),0x1p-126f,1,1,1,1,1,1,0}, |
454 | {__builtin_inff(),0x1.fffffep-1f,1,1,1,1,1,1,0}, |
455 | {__builtin_inff(),0x1p0f,1,1,1,1,1,1,0}, |
456 | {__builtin_inff(),0x1.000002p0f,1,1,1,1,1,1,0}, |
457 | {__builtin_inff(),0x1.fffffep+127f,1,1,1,1,1,1,0}, |
458 | {__builtin_inff(),__builtin_inff(),0,0,0,0,0,0,0}, |
459 | }; |
460 | |
461 | int main(int argc, char *argv[]) { |
462 | const int numVectors = sizeof vectors / sizeof vectors[0]; |
463 | int i; |
464 | for (i = 0; i<numVectors; ++i) { |
465 | if (test__cmpsf2(vector: &vectors[i])) return 1; |
466 | } |
467 | return 0; |
468 | } |
469 | |