Lines Matching +full:- +full:z
3 /*-
34 #include <atf-c.h>
69 atf_tc_set_md_var(tc, "descr", "Test pow(-Inf, y) == +-Inf || +-0.0"); in ATF_TC_HEAD()
74 const double x = -1.0L / 0.0L; in ATF_TC_BODY()
75 double z; in ATF_TC_BODY() local
78 * If y is odd, y > 0, and x is -Inf, -Inf is returned. in ATF_TC_BODY()
79 * If y is even, y > 0, and x is -Inf, +Inf is returned. in ATF_TC_BODY()
81 z = pow(x, 3.0); in ATF_TC_BODY()
83 if (isinf(z) == 0 || signbit(z) == 0) in ATF_TC_BODY()
84 atf_tc_fail_nonfatal("pow(-Inf, 3.0) != -Inf"); in ATF_TC_BODY()
86 z = pow(x, 4.0); in ATF_TC_BODY()
88 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
89 atf_tc_fail_nonfatal("pow(-Inf, 4.0) != +Inf"); in ATF_TC_BODY()
92 * If y is odd, y < 0, and x is -Inf, -0.0 is returned. in ATF_TC_BODY()
93 * If y is even, y < 0, and x is -Inf, +0.0 is returned. in ATF_TC_BODY()
95 z = pow(x, -3.0); in ATF_TC_BODY()
97 if (fabs(z) > 0.0 || signbit(z) == 0) in ATF_TC_BODY()
98 atf_tc_fail_nonfatal("pow(-Inf, -3.0) != -0.0"); in ATF_TC_BODY()
100 z = pow(x, -4.0); in ATF_TC_BODY()
102 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
103 atf_tc_fail_nonfatal("pow(-Inf -4.0) != +0.0"); in ATF_TC_BODY()
109 atf_tc_set_md_var(tc, "descr", "Test pow(x, -Inf) == +Inf || +0.0"); in ATF_TC_HEAD()
114 const double y = -1.0L / 0.0L; in ATF_TC_BODY()
115 double z; in ATF_TC_BODY() local
118 * If |x| < 1 and y is -Inf, +Inf is returned. in ATF_TC_BODY()
119 * If |x| > 1 and y is -Inf, +0.0 is returned. in ATF_TC_BODY()
121 z = pow(0.1, y); in ATF_TC_BODY()
123 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
124 atf_tc_fail_nonfatal("pow(0.1, -Inf) != +Inf"); in ATF_TC_BODY()
126 z = pow(1.1, y); in ATF_TC_BODY()
128 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
129 atf_tc_fail_nonfatal("pow(1.1, -Inf) != +0.0"); in ATF_TC_BODY()
141 double z; in ATF_TC_BODY() local
147 z = pow(x, -2.0); in ATF_TC_BODY()
149 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
150 atf_tc_fail_nonfatal("pow(+Inf, -2.0) != +0.0"); in ATF_TC_BODY()
152 z = pow(x, 2.0); in ATF_TC_BODY()
154 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
167 double z; in ATF_TC_BODY() local
173 z = pow(0.1, y); in ATF_TC_BODY()
175 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
178 z = pow(1.1, y); in ATF_TC_BODY()
180 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
187 atf_tc_set_md_var(tc, "descr", "Test pow(-1.0, +-Inf) == 1.0"); in ATF_TC_HEAD()
193 const double infn = -1.0L / 0.0L; in ATF_TC_BODY()
196 * If x is -1.0, and y is +-Inf, 1.0 shall be returned. in ATF_TC_BODY()
201 if (pow(-1.0, infp) != 1.0) { in ATF_TC_BODY()
203 atf_tc_fail_nonfatal("pow(-1.0, +Inf) != 1.0"); in ATF_TC_BODY()
206 if (pow(-1.0, infn) != 1.0) { in ATF_TC_BODY()
208 atf_tc_fail_nonfatal("pow(-1.0, -Inf) != 1.0"); in ATF_TC_BODY()
220 const double y[] = { 0.0, 0.1, 2.0, -3.0, 99.0, 99.99, 9999999.9 }; in ATF_TC_BODY()
221 const double z = 0.0L / 0.0L; in ATF_TC_BODY() local
228 if (pow(1.0, z) != 1.0) in ATF_TC_BODY()
241 atf_tc_set_md_var(tc, "descr", "Test pow(+-0.0, y) == +-0.0 || HUGE"); in ATF_TC_HEAD()
246 double z; in ATF_TC_BODY() local
249 * If x is +0.0 or -0.0, y > 0, and y in ATF_TC_BODY()
252 z = pow(+0.0, 3.0); in ATF_TC_BODY()
254 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
257 z = pow(-0.0, 3.0); in ATF_TC_BODY()
259 if (fabs(z) > 0.0 || signbit(z) == 0) in ATF_TC_BODY()
260 atf_tc_fail_nonfatal("pow(-0.0, 3.0) != -0.0"); in ATF_TC_BODY()
264 * if x is +0.0 or -0.0, +0.0 is returned. in ATF_TC_BODY()
266 z = pow(+0.0, 4.0); in ATF_TC_BODY()
268 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
271 z = pow(-0.0, 4.0); in ATF_TC_BODY()
273 if (fabs(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
274 atf_tc_fail_nonfatal("pow(-0.0, 4.0) != +0.0"); in ATF_TC_BODY()
277 * If y < 0 and x is +0.0 or -0.0, either +-HUGE_VAL, in ATF_TC_BODY()
278 * +-HUGE_VALF, or +-HUGE_VALL shall be returned. in ATF_TC_BODY()
280 z = pow(+0.0, -4.0); in ATF_TC_BODY()
282 if (z != HUGE_VAL) { in ATF_TC_BODY()
283 atf_tc_fail_nonfatal("pow(+0.0, -4.0) != HUGE_VAL"); in ATF_TC_BODY()
286 z = pow(-0.0, -4.0); in ATF_TC_BODY()
288 if (z != HUGE_VAL) { in ATF_TC_BODY()
289 atf_tc_fail_nonfatal("pow(-0.0, -4.0) != HUGE_VAL"); in ATF_TC_BODY()
292 z = pow(+0.0, -5.0); in ATF_TC_BODY()
294 if (z != HUGE_VAL) { in ATF_TC_BODY()
295 atf_tc_fail_nonfatal("pow(+0.0, -5.0) != HUGE_VAL"); in ATF_TC_BODY()
298 z = pow(-0.0, -5.0); in ATF_TC_BODY()
300 if (z != -HUGE_VAL) in ATF_TC_BODY()
301 atf_tc_fail_nonfatal("pow(-0.0, -5.0) != -HUGE_VAL"); in ATF_TC_BODY()
307 atf_tc_set_md_var(tc, "descr", "Test pow(x, +-0.0) == 1.0"); in ATF_TC_HEAD()
312 const double x[] = { 0.1, -3.0, 77.0, 99.99, 101.0000001 }; in ATF_TC_BODY()
313 const double z = 0.0L / 0.0L; in ATF_TC_BODY() local
318 * if y is +0.0 or -0.0, 1.0 is returned. in ATF_TC_BODY()
320 if (pow(z, +0.0) != 1.0) in ATF_TC_BODY()
323 if (pow(z, -0.0) != 1.0) in ATF_TC_BODY()
324 atf_tc_fail_nonfatal("pow(NaN, -0.0) != 1.0"); in ATF_TC_BODY()
331 if (pow(x[i], -0.0) != 1.0) in ATF_TC_BODY()
332 atf_tc_fail_nonfatal("pow(%0.01f, -0.0) != 1.0", x[i]); in ATF_TC_BODY()
368 atf_tc_set_md_var(tc, "descr", "Test powf(-Inf, y) == +-Inf || +-0.0"); in ATF_TC_HEAD()
373 const float x = -1.0L / 0.0L; in ATF_TC_BODY()
374 float z; in ATF_TC_BODY() local
377 * If y is odd, y > 0, and x is -Inf, -Inf is returned. in ATF_TC_BODY()
378 * If y is even, y > 0, and x is -Inf, +Inf is returned. in ATF_TC_BODY()
380 z = powf(x, 3.0); in ATF_TC_BODY()
382 if (isinf(z) == 0 || signbit(z) == 0) in ATF_TC_BODY()
383 atf_tc_fail_nonfatal("powf(-Inf, 3.0) != -Inf"); in ATF_TC_BODY()
385 z = powf(x, 4.0); in ATF_TC_BODY()
387 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
388 atf_tc_fail_nonfatal("powf(-Inf, 4.0) != +Inf"); in ATF_TC_BODY()
391 * If y is odd, y < 0, and x is -Inf, -0.0 is returned. in ATF_TC_BODY()
392 * If y is even, y < 0, and x is -Inf, +0.0 is returned. in ATF_TC_BODY()
394 z = powf(x, -3.0); in ATF_TC_BODY()
396 if (fabsf(z) > 0.0 || signbit(z) == 0) { in ATF_TC_BODY()
398 atf_tc_fail_nonfatal("powf(-Inf, -3.0) != -0.0"); in ATF_TC_BODY()
401 z = powf(x, -4.0); in ATF_TC_BODY()
403 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
404 atf_tc_fail_nonfatal("powf(-Inf -4.0) != +0.0"); in ATF_TC_BODY()
410 atf_tc_set_md_var(tc, "descr", "Test powf(x, -Inf) == +Inf || +0.0"); in ATF_TC_HEAD()
415 const float y = -1.0L / 0.0L; in ATF_TC_BODY()
416 float z; in ATF_TC_BODY() local
419 * If |x| < 1 and y is -Inf, +Inf is returned. in ATF_TC_BODY()
420 * If |x| > 1 and y is -Inf, +0.0 is returned. in ATF_TC_BODY()
422 z = powf(0.1, y); in ATF_TC_BODY()
424 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
425 atf_tc_fail_nonfatal("powf(0.1, -Inf) != +Inf"); in ATF_TC_BODY()
427 z = powf(1.1, y); in ATF_TC_BODY()
429 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
430 atf_tc_fail_nonfatal("powf(1.1, -Inf) != +0.0"); in ATF_TC_BODY()
442 float z; in ATF_TC_BODY() local
448 z = powf(x, -2.0); in ATF_TC_BODY()
450 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
451 atf_tc_fail_nonfatal("powf(+Inf, -2.0) != +0.0"); in ATF_TC_BODY()
453 z = powf(x, 2.0); in ATF_TC_BODY()
455 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
468 float z; in ATF_TC_BODY() local
474 z = powf(0.1, y); in ATF_TC_BODY()
476 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
479 z = powf(1.1, y); in ATF_TC_BODY()
481 if (isinf(z) == 0 || signbit(z) != 0) in ATF_TC_BODY()
488 atf_tc_set_md_var(tc, "descr", "Test powf(-1.0, +-Inf) == 1.0"); in ATF_TC_HEAD()
494 const float infn = -1.0L / 0.0L; in ATF_TC_BODY()
497 * If x is -1.0, and y is +-Inf, 1.0 shall be returned. in ATF_TC_BODY()
502 if (powf(-1.0, infp) != 1.0) { in ATF_TC_BODY()
504 atf_tc_fail_nonfatal("powf(-1.0, +Inf) != 1.0"); in ATF_TC_BODY()
507 if (powf(-1.0, infn) != 1.0) { in ATF_TC_BODY()
509 atf_tc_fail_nonfatal("powf(-1.0, -Inf) != 1.0"); in ATF_TC_BODY()
521 const float y[] = { 0.0, 0.1, 2.0, -3.0, 99.0, 99.99, 9999999.9 }; in ATF_TC_BODY()
522 const float z = 0.0L / 0.0L; in ATF_TC_BODY() local
529 if (powf(1.0, z) != 1.0) in ATF_TC_BODY()
542 atf_tc_set_md_var(tc, "descr", "Test powf(+-0.0, y) == +-0.0 || HUGE"); in ATF_TC_HEAD()
547 float z; in ATF_TC_BODY() local
550 * If x is +0.0 or -0.0, y > 0, and y in ATF_TC_BODY()
553 z = powf(+0.0, 3.0); in ATF_TC_BODY()
555 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
558 z = powf(-0.0, 3.0); in ATF_TC_BODY()
560 if (fabsf(z) > 0.0 || signbit(z) == 0) in ATF_TC_BODY()
561 atf_tc_fail_nonfatal("powf(-0.0, 3.0) != -0.0"); in ATF_TC_BODY()
565 * if x is +0.0 or -0.0, +0.0 is returned. in ATF_TC_BODY()
567 z = powf(+0.0, 4.0); in ATF_TC_BODY()
569 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
572 z = powf(-0.0, 4.0); in ATF_TC_BODY()
574 if (fabsf(z) > 0.0 || signbit(z) != 0) in ATF_TC_BODY()
575 atf_tc_fail_nonfatal("powf(-0.0, 4.0) != +0.0"); in ATF_TC_BODY()
578 * If y < 0 and x is +0.0 or -0.0, either +-HUGE_VAL, in ATF_TC_BODY()
579 * +-HUGE_VALF, or +-HUGE_VALL shall be returned. in ATF_TC_BODY()
581 z = powf(+0.0, -4.0); in ATF_TC_BODY()
583 if (z != HUGE_VALF) { in ATF_TC_BODY()
584 atf_tc_expect_fail("PR port-amd64/45391"); in ATF_TC_BODY()
585 atf_tc_fail_nonfatal("powf(+0.0, -4.0) != HUGE_VALF"); in ATF_TC_BODY()
588 z = powf(-0.0, -4.0); in ATF_TC_BODY()
590 if (z != HUGE_VALF) { in ATF_TC_BODY()
591 atf_tc_expect_fail("PR port-amd64/45391"); in ATF_TC_BODY()
592 atf_tc_fail_nonfatal("powf(-0.0, -4.0) != HUGE_VALF"); in ATF_TC_BODY()
595 z = powf(+0.0, -5.0); in ATF_TC_BODY()
597 if (z != HUGE_VALF) { in ATF_TC_BODY()
598 atf_tc_expect_fail("PR port-amd64/45391"); in ATF_TC_BODY()
599 atf_tc_fail_nonfatal("powf(+0.0, -5.0) != HUGE_VALF"); in ATF_TC_BODY()
602 z = powf(-0.0, -5.0); in ATF_TC_BODY()
604 if (z != -HUGE_VALF) in ATF_TC_BODY()
605 atf_tc_fail_nonfatal("powf(-0.0, -5.0) != -HUGE_VALF"); in ATF_TC_BODY()
611 atf_tc_set_md_var(tc, "descr", "Test powf(x, +-0.0) == 1.0"); in ATF_TC_HEAD()
616 const float x[] = { 0.1, -3.0, 77.0, 99.99, 101.0000001 }; in ATF_TC_BODY()
617 const float z = 0.0L / 0.0L; in ATF_TC_BODY() local
622 * if y is +0.0 or -0.0, 1.0 is returned. in ATF_TC_BODY()
624 if (powf(z, +0.0) != 1.0) in ATF_TC_BODY()
627 if (powf(z, -0.0) != 1.0) in ATF_TC_BODY()
628 atf_tc_fail_nonfatal("powf(NaN, -0.0) != 1.0"); in ATF_TC_BODY()
635 if (powf(x[i], -0.0) != 1.0) in ATF_TC_BODY()
636 atf_tc_fail_nonfatal("powf(%0.01f, -0.0) != 1.0",x[i]); in ATF_TC_BODY()
643 atf_tc_set_md_var(tc, "descr", "Test powf(->1, huge) != inf"); in ATF_TC_HEAD()
648 const float x = 0x1.ffffeep-1f; /* 9.999995e-01f */ in ATF_TC_BODY()
649 const float y = -0x1.000002p+27f; /* -1.342177e+08f */ in ATF_TC_BODY()
652 float z; in ATF_TC_BODY() local
654 z = powf(x, y); in ATF_TC_BODY()
656 ATF_CHECK(isinf(z) == 0); in ATF_TC_BODY()
657 ATF_CHECK(fabsf(z - e) <= 2 * ulp); in ATF_TC_BODY()