Lines Matching +full:- +full:i

3 /*-
32 #include <atf-c.h>
53 #define CHECK(i, next, x, d, y) do \ argument
61 (i), #next, \
71 * x[0], x[1], ..., x[n - 1] are consecutive double floating-point
78 unsigned i; in check() local
80 for (i = 0; i < n; i++) { in check()
81 CHECK(i, nextafter, x[i], x[i], x[i]); in check()
82 CHECK(i, nexttoward, x[i], x[i], x[i]); in check()
83 CHECK(i, nextafter, -x[i], -x[i], -x[i]); in check()
84 CHECK(i, nexttoward, -x[i], -x[i], -x[i]); in check()
87 for (i = 0; i < n - 1; i++) { in check()
88 ATF_REQUIRE_MSG(x[i] < x[i + 1], "i=%u", i); in check()
90 if (isnormal(x[i])) { in check()
91 CHECK(i, nexttoward, x[i], x[i]*(1 + LDBL_EPSILON), in check()
92 x[i + 1]); in check()
95 CHECK(i, nextafter, x[i], x[i + 1], x[i + 1]); in check()
96 CHECK(i, nexttoward, x[i], x[i + 1], x[i + 1]); in check()
97 CHECK(i, nextafter, x[i], x[n - 1], x[i + 1]); in check()
98 CHECK(i, nexttoward, x[i], x[n - 1], x[i + 1]); in check()
99 CHECK(i, nextafter, x[i], INFINITY, x[i + 1]); in check()
100 CHECK(i, nexttoward, x[i], INFINITY, x[i + 1]); in check()
102 CHECK(i, nextafter, -x[i], -x[i + 1], -x[i + 1]); in check()
103 CHECK(i, nexttoward, -x[i], -x[i + 1], -x[i + 1]); in check()
104 CHECK(i, nextafter, -x[i], -x[n - 1], -x[i + 1]); in check()
105 CHECK(i, nexttoward, -x[i], -x[n - 1], -x[i + 1]); in check()
106 CHECK(i, nextafter, -x[i], -INFINITY, -x[i + 1]); in check()
107 CHECK(i, nexttoward, -x[i], -INFINITY, -x[i + 1]); in check()
110 for (i = n; i --> 1;) { in check()
111 ATF_REQUIRE_MSG(x[i - 1] < x[i], "i=%u", i); in check()
114 if (isnormal(x[i])) { in check()
115 CHECK(i, nexttoward, x[i], x[i]*(1 - LDBL_EPSILON/2), in check()
116 x[i - 1]); in check()
120 CHECK(i, nextafter, x[i], x[i - 1], x[i - 1]); in check()
121 CHECK(i, nexttoward, x[i], x[i - 1], x[i - 1]); in check()
122 CHECK(i, nextafter, x[i], x[0], x[i - 1]); in check()
123 CHECK(i, nexttoward, x[i], x[0], x[i - 1]); in check()
124 CHECK(i, nextafter, x[i], +0., x[i - 1]); in check()
125 CHECK(i, nexttoward, x[i], +0., x[i - 1]); in check()
126 CHECK(i, nextafter, x[i], -0., x[i - 1]); in check()
127 CHECK(i, nexttoward, x[i], -0., x[i - 1]); in check()
128 CHECK(i, nextafter, x[i], -x[0], x[i - 1]); in check()
129 CHECK(i, nexttoward, x[i], -x[0], x[i - 1]); in check()
130 CHECK(i, nextafter, x[i], -x[i], x[i - 1]); in check()
131 CHECK(i, nexttoward, x[i], -x[i], x[i - 1]); in check()
132 CHECK(i, nextafter, x[i], -INFINITY, x[i - 1]); in check()
133 CHECK(i, nexttoward, x[i], -INFINITY, x[i - 1]); in check()
135 CHECK(i, nextafter, -x[i], -x[i - 1], -x[i - 1]); in check()
136 CHECK(i, nexttoward, -x[i], -x[i - 1], -x[i - 1]); in check()
137 CHECK(i, nextafter, -x[i], -x[0], -x[i - 1]); in check()
138 CHECK(i, nexttoward, -x[i], -x[0], -x[i - 1]); in check()
139 CHECK(i, nextafter, -x[i], -0., -x[i - 1]); in check()
140 CHECK(i, nexttoward, -x[i], -0., -x[i - 1]); in check()
141 CHECK(i, nextafter, -x[i], +0., -x[i - 1]); in check()
142 CHECK(i, nexttoward, -x[i], +0., -x[i - 1]); in check()
143 CHECK(i, nextafter, -x[i], x[0], -x[i - 1]); in check()
144 CHECK(i, nexttoward, -x[i], x[0], -x[i - 1]); in check()
145 CHECK(i, nextafter, -x[i], INFINITY, -x[i - 1]); in check()
146 CHECK(i, nexttoward, -x[i], INFINITY, -x[i - 1]); in check()
153 * x[0], x[1], ..., x[n - 1] are consecutive single floating-point
160 unsigned i; in checkf() local
162 for (i = 0; i < n; i++) { in checkf()
163 CHECK(i, nextafterf, x[i], x[i], x[i]); in checkf()
164 CHECK(i, nexttowardf, x[i], x[i], x[i]); in checkf()
165 CHECK(i, nextafterf, -x[i], -x[i], -x[i]); in checkf()
166 CHECK(i, nexttowardf, -x[i], -x[i], -x[i]); in checkf()
169 for (i = 0; i < n - 1; i++) { in checkf()
170 ATF_REQUIRE_MSG(x[i] < x[i + 1], "i=%u", i); in checkf()
172 if (isnormal(x[i])) { in checkf()
173 CHECK(i, nexttowardf, x[i], x[i]*(1 + LDBL_EPSILON), in checkf()
174 x[i + 1]); in checkf()
177 CHECK(i, nextafterf, x[i], x[i + 1], x[i + 1]); in checkf()
178 CHECK(i, nexttowardf, x[i], x[i + 1], x[i + 1]); in checkf()
179 CHECK(i, nextafterf, x[i], x[n - 1], x[i + 1]); in checkf()
180 CHECK(i, nexttowardf, x[i], x[n - 1], x[i + 1]); in checkf()
181 CHECK(i, nextafterf, x[i], INFINITY, x[i + 1]); in checkf()
182 CHECK(i, nexttowardf, x[i], INFINITY, x[i + 1]); in checkf()
184 CHECK(i, nextafterf, -x[i], -x[i + 1], -x[i + 1]); in checkf()
185 CHECK(i, nexttowardf, -x[i], -x[i + 1], -x[i + 1]); in checkf()
186 CHECK(i, nextafterf, -x[i], -x[n - 1], -x[i + 1]); in checkf()
187 CHECK(i, nexttowardf, -x[i], -x[n - 1], -x[i + 1]); in checkf()
188 CHECK(i, nextafterf, -x[i], -INFINITY, -x[i + 1]); in checkf()
189 CHECK(i, nexttowardf, -x[i], -INFINITY, -x[i + 1]); in checkf()
192 for (i = n; i --> 1;) { in checkf()
193 ATF_REQUIRE_MSG(x[i - 1] < x[i], "i=%u", i); in checkf()
195 if (isnormal(x[i])) { in checkf()
196 CHECK(i, nexttowardf, x[i], x[i]*(1 - LDBL_EPSILON/2), in checkf()
197 x[i - 1]); in checkf()
200 CHECK(i, nextafterf, x[i], x[i - 1], x[i - 1]); in checkf()
201 CHECK(i, nexttowardf, x[i], x[i - 1], x[i - 1]); in checkf()
202 CHECK(i, nextafterf, x[i], x[0], x[i - 1]); in checkf()
203 CHECK(i, nexttowardf, x[i], x[0], x[i - 1]); in checkf()
204 CHECK(i, nextafterf, x[i], +0., x[i - 1]); in checkf()
205 CHECK(i, nexttowardf, x[i], +0., x[i - 1]); in checkf()
206 CHECK(i, nextafterf, x[i], -0., x[i - 1]); in checkf()
207 CHECK(i, nexttowardf, x[i], -0., x[i - 1]); in checkf()
208 CHECK(i, nextafterf, x[i], -x[0], x[i - 1]); in checkf()
209 CHECK(i, nexttowardf, x[i], -x[0], x[i - 1]); in checkf()
210 CHECK(i, nextafterf, x[i], -x[i], x[i - 1]); in checkf()
211 CHECK(i, nexttowardf, x[i], -x[i], x[i - 1]); in checkf()
212 CHECK(i, nextafterf, x[i], -INFINITY, x[i - 1]); in checkf()
213 CHECK(i, nexttowardf, x[i], -INFINITY, x[i - 1]); in checkf()
215 CHECK(i, nextafterf, -x[i], -x[i - 1], -x[i - 1]); in checkf()
216 CHECK(i, nexttowardf, -x[i], -x[i - 1], -x[i - 1]); in checkf()
217 CHECK(i, nextafterf, -x[i], -x[0], -x[i - 1]); in checkf()
218 CHECK(i, nexttowardf, -x[i], -x[0], -x[i - 1]); in checkf()
219 CHECK(i, nextafterf, -x[i], -0., -x[i - 1]); in checkf()
220 CHECK(i, nexttowardf, -x[i], -0., -x[i - 1]); in checkf()
221 CHECK(i, nextafterf, -x[i], +0., -x[i - 1]); in checkf()
222 CHECK(i, nexttowardf, -x[i], +0., -x[i - 1]); in checkf()
223 CHECK(i, nextafterf, -x[i], x[0], -x[i - 1]); in checkf()
224 CHECK(i, nexttowardf, -x[i], x[0], -x[i - 1]); in checkf()
225 CHECK(i, nextafterf, -x[i], INFINITY, -x[i - 1]); in checkf()
226 CHECK(i, nexttowardf, -x[i], INFINITY, -x[i - 1]); in checkf()
233 * x[0], x[1], ..., x[n - 1] are consecutive long double
234 * floating-point numbers. Verify nextafterl and nexttowardl
241 unsigned i; in checkl() local
243 for (i = 0; i < n; i++) { in checkl()
244 CHECK(i, nextafterl, x[i], x[i], x[i]); in checkl()
245 CHECK(i, nexttowardl, x[i], x[i], x[i]); in checkl()
246 CHECK(i, nextafterl, -x[i], -x[i], -x[i]); in checkl()
247 CHECK(i, nexttowardl, -x[i], -x[i], -x[i]); in checkl()
250 for (i = 0; i < n - 1; i++) { in checkl()
251 ATF_REQUIRE_MSG(x[i] < x[i + 1], "i=%u", i); in checkl()
253 CHECK(i, nextafterl, x[i], x[i + 1], x[i + 1]); in checkl()
254 CHECK(i, nexttowardl, x[i], x[i + 1], x[i + 1]); in checkl()
255 CHECK(i, nextafterl, x[i], x[n - 1], x[i + 1]); in checkl()
256 CHECK(i, nexttowardl, x[i], x[n - 1], x[i + 1]); in checkl()
257 CHECK(i, nextafterl, x[i], INFINITY, x[i + 1]); in checkl()
258 CHECK(i, nexttowardl, x[i], INFINITY, x[i + 1]); in checkl()
260 CHECK(i, nextafterl, -x[i], -x[i + 1], -x[i + 1]); in checkl()
261 CHECK(i, nexttowardl, -x[i], -x[i + 1], -x[i + 1]); in checkl()
262 CHECK(i, nextafterl, -x[i], -x[n - 1], -x[i + 1]); in checkl()
263 CHECK(i, nexttowardl, -x[i], -x[n - 1], -x[i + 1]); in checkl()
264 CHECK(i, nextafterl, -x[i], -INFINITY, -x[i + 1]); in checkl()
265 CHECK(i, nexttowardl, -x[i], -INFINITY, -x[i + 1]); in checkl()
268 for (i = n; i --> 1;) { in checkl()
269 ATF_REQUIRE_MSG(x[i - 1] < x[i], "i=%u", i); in checkl()
271 CHECK(i, nextafterl, x[i], x[i - 1], x[i - 1]); in checkl()
272 CHECK(i, nexttowardl, x[i], x[i - 1], x[i - 1]); in checkl()
273 CHECK(i, nextafterl, x[i], x[0], x[i - 1]); in checkl()
274 CHECK(i, nexttowardl, x[i], x[0], x[i - 1]); in checkl()
275 CHECK(i, nextafterl, x[i], +0., x[i - 1]); in checkl()
276 CHECK(i, nexttowardl, x[i], +0., x[i - 1]); in checkl()
277 CHECK(i, nextafterl, x[i], -0., x[i - 1]); in checkl()
278 CHECK(i, nexttowardl, x[i], -0., x[i - 1]); in checkl()
279 CHECK(i, nextafterl, x[i], -x[0], x[i - 1]); in checkl()
280 CHECK(i, nexttowardl, x[i], -x[0], x[i - 1]); in checkl()
281 CHECK(i, nextafterl, x[i], -x[i], x[i - 1]); in checkl()
282 CHECK(i, nexttowardl, x[i], -x[i], x[i - 1]); in checkl()
283 CHECK(i, nextafterl, x[i], -INFINITY, x[i - 1]); in checkl()
284 CHECK(i, nexttowardl, x[i], -INFINITY, x[i - 1]); in checkl()
286 CHECK(i, nextafterl, -x[i], -x[i - 1], -x[i - 1]); in checkl()
287 CHECK(i, nexttowardl, -x[i], -x[i - 1], -x[i - 1]); in checkl()
288 CHECK(i, nextafterl, -x[i], -x[0], -x[i - 1]); in checkl()
289 CHECK(i, nexttowardl, -x[i], -x[0], -x[i - 1]); in checkl()
290 CHECK(i, nextafterl, -x[i], -0., -x[i - 1]); in checkl()
291 CHECK(i, nexttowardl, -x[i], -0., -x[i - 1]); in checkl()
292 CHECK(i, nextafterl, -x[i], +0., -x[i - 1]); in checkl()
293 CHECK(i, nexttowardl, -x[i], +0., -x[i - 1]); in checkl()
294 CHECK(i, nextafterl, -x[i], x[0], -x[i - 1]); in checkl()
295 CHECK(i, nexttowardl, -x[i], x[0], -x[i - 1]); in checkl()
296 CHECK(i, nextafterl, -x[i], INFINITY, -x[i - 1]); in checkl()
297 CHECK(i, nexttowardl, -x[i], INFINITY, -x[i - 1]); in checkl()
327 volatile double z_neg = -0.; in ATF_TC_BODY()
338 * `nextUp(x) is the least floating-point number in the format in ATF_TC_BODY()
340 * -nextUp(-x).' in ATF_TC_BODY()
341 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
345 * send -0 to +0 or +0 to -0, respectively. in ATF_TC_BODY()
353 CHECK(4, nextafter, z_pos, -INFINITY, -m); in ATF_TC_BODY()
354 CHECK(5, nexttoward, z_pos, -INFINITY, -m); in ATF_TC_BODY()
355 CHECK(6, nextafter, z_neg, -INFINITY, -m); in ATF_TC_BODY()
356 CHECK(7, nexttoward, z_neg, -INFINITY, -m); in ATF_TC_BODY()
360 * format, nextUp(x) is -0.' in ATF_TC_BODY()
361 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
366 CHECK(8, nextafter, -m, +INFINITY, 0); in ATF_TC_BODY()
367 CHECK(9, nexttoward, -m, +INFINITY, 0); in ATF_TC_BODY()
368 ATF_CHECK(signbit(nextafter(-m, +INFINITY)) != 0); in ATF_TC_BODY()
369 CHECK(10, nextafter, m, -INFINITY, 0); in ATF_TC_BODY()
370 CHECK(11, nexttoward, m, -INFINITY, 0); in ATF_TC_BODY()
371 ATF_CHECK(signbit(nextafter(m, -INFINITY)) == 0); in ATF_TC_BODY()
409 [0] = DBL_MIN - 3*__DBL_DENORM_MIN__, in ATF_TC_BODY()
410 [1] = DBL_MIN - 2*__DBL_DENORM_MIN__, in ATF_TC_BODY()
411 [2] = DBL_MIN - __DBL_DENORM_MIN__, in ATF_TC_BODY()
432 [0] = 1 - 3*DBL_EPSILON/2, in ATF_TC_BODY()
433 [1] = 1 - 2*DBL_EPSILON/2, in ATF_TC_BODY()
434 [2] = 1 - DBL_EPSILON/2, in ATF_TC_BODY()
452 [0] = 1.5 - 3*DBL_EPSILON, in ATF_TC_BODY()
453 [1] = 1.5 - 2*DBL_EPSILON, in ATF_TC_BODY()
454 [2] = 1.5 - DBL_EPSILON, in ATF_TC_BODY()
484 ATF_CHECK_EQ_MSG((t = nextafter(-INFINITY, -INFINITY)), -INFINITY, in ATF_TC_BODY()
514 volatile float z_neg = -0.; in ATF_TC_BODY()
525 * `nextUp(x) is the least floating-point number in the format in ATF_TC_BODY()
527 * -nextUp(-x).' in ATF_TC_BODY()
528 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
532 * send -0 to +0 or +0 to -0, respectively. in ATF_TC_BODY()
540 CHECK(4, nextafterf, z_pos, -INFINITY, -m); in ATF_TC_BODY()
541 CHECK(5, nexttowardf, z_pos, -INFINITY, -m); in ATF_TC_BODY()
542 CHECK(6, nextafterf, z_neg, -INFINITY, -m); in ATF_TC_BODY()
543 CHECK(7, nexttowardf, z_neg, -INFINITY, -m); in ATF_TC_BODY()
547 * format, nextUp(x) is -0.' in ATF_TC_BODY()
548 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
550 CHECK(8, nextafterf, -m, +INFINITY, 0); in ATF_TC_BODY()
551 CHECK(9, nexttowardf, -m, +INFINITY, 0); in ATF_TC_BODY()
552 ATF_CHECK(signbit(nextafterf(-m, +INFINITY)) != 0); in ATF_TC_BODY()
553 CHECK(10, nextafterf, m, -INFINITY, 0); in ATF_TC_BODY()
554 CHECK(11, nexttowardf, m, -INFINITY, 0); in ATF_TC_BODY()
555 ATF_CHECK(signbit(nextafterf(m, -INFINITY)) == 0); in ATF_TC_BODY()
593 [0] = FLT_MIN - 3*__FLT_DENORM_MIN__, in ATF_TC_BODY()
594 [1] = FLT_MIN - 2*__FLT_DENORM_MIN__, in ATF_TC_BODY()
595 [2] = FLT_MIN - __FLT_DENORM_MIN__, in ATF_TC_BODY()
616 [0] = 1 - 3*FLT_EPSILON/2, in ATF_TC_BODY()
617 [1] = 1 - 2*FLT_EPSILON/2, in ATF_TC_BODY()
618 [2] = 1 - FLT_EPSILON/2, in ATF_TC_BODY()
636 [0] = 1.5 - 3*FLT_EPSILON, in ATF_TC_BODY()
637 [1] = 1.5 - 2*FLT_EPSILON, in ATF_TC_BODY()
638 [2] = 1.5 - FLT_EPSILON, in ATF_TC_BODY()
668 ATF_CHECK_EQ_MSG((t = nextafterf(-INFINITY, -INFINITY)), -INFINITY, in ATF_TC_BODY()
698 volatile long double z_neg = -0.; in ATF_TC_BODY()
709 * `nextUp(x) is the least floating-point number in the format in ATF_TC_BODY()
711 * -nextUp(-x).' in ATF_TC_BODY()
712 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
716 * send -0 to +0 or +0 to -0, respectively. in ATF_TC_BODY()
724 CHECK(4, nextafterl, z_pos, -INFINITY, -m); in ATF_TC_BODY()
725 CHECK(5, nexttowardl, z_pos, -INFINITY, -m); in ATF_TC_BODY()
726 CHECK(6, nextafterl, z_neg, -INFINITY, -m); in ATF_TC_BODY()
727 CHECK(7, nexttowardl, z_neg, -INFINITY, -m); in ATF_TC_BODY()
731 * format, nextUp(x) is -0.' in ATF_TC_BODY()
732 * --IEEE 754-2019, 5.3.1 General operations, p. 19 in ATF_TC_BODY()
734 CHECK(8, nextafterl, -m, +INFINITY, 0); in ATF_TC_BODY()
735 CHECK(9, nexttowardl, -m, +INFINITY, 0); in ATF_TC_BODY()
736 ATF_CHECK(signbit(nextafterl(-m, +INFINITY)) != 0); in ATF_TC_BODY()
737 CHECK(10, nextafterl, m, -INFINITY, 0); in ATF_TC_BODY()
738 CHECK(11, nexttowardl, m, -INFINITY, 0); in ATF_TC_BODY()
739 ATF_CHECK(signbit(nextafterl(m, -INFINITY)) == 0); in ATF_TC_BODY()
777 [0] = LDBL_MIN - 3*__LDBL_DENORM_MIN__, in ATF_TC_BODY()
778 [1] = LDBL_MIN - 2*__LDBL_DENORM_MIN__, in ATF_TC_BODY()
779 [2] = LDBL_MIN - __LDBL_DENORM_MIN__, in ATF_TC_BODY()
800 [0] = 1 - 3*LDBL_EPSILON/2, in ATF_TC_BODY()
801 [1] = 1 - 2*LDBL_EPSILON/2, in ATF_TC_BODY()
802 [2] = 1 - LDBL_EPSILON/2, in ATF_TC_BODY()
820 [0] = 1.5 - 3*LDBL_EPSILON, in ATF_TC_BODY()
821 [1] = 1.5 - 2*LDBL_EPSILON, in ATF_TC_BODY()
822 [2] = 1.5 - LDBL_EPSILON, in ATF_TC_BODY()
852 ATF_CHECK_EQ_MSG((t = nextafterl(-INFINITY, -INFINITY)), -INFINITY, in ATF_TC_BODY()