mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Add more tests of pow.
Prompted by a gcc-patches discussion, this patch adds tests of pow for the cases where pow (x, 0.5) is required to return a different result from sqrt (x), as those cases were previously missing from the tests (although they worked correctly). Tested for x86_64 and x86. * math/auto-libm-test-in: Add another test of pow. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (pow_test_data): Add another test.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2015-11-10 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* math/auto-libm-test-in: Add another test of pow.
|
||||||
|
* math/auto-libm-test-out: Regenerated.
|
||||||
|
* math/libm-test.inc (pow_test_data): Add another test.
|
||||||
|
|
||||||
2015-11-10 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
2015-11-10 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
|
|
||||||
[BZ #19219]
|
[BZ #19219]
|
||||||
|
@ -3254,6 +3254,7 @@ pow 0.0 max
|
|||||||
pow 0.0 min_subnorm
|
pow 0.0 min_subnorm
|
||||||
|
|
||||||
# pow (-0, y) == +0 for y > 0 and not an odd integer.
|
# pow (-0, y) == +0 for y > 0 and not an odd integer.
|
||||||
|
pow -0 0.5
|
||||||
pow -0 4
|
pow -0 4
|
||||||
pow -0 0x1p24
|
pow -0 0x1p24
|
||||||
pow -0 0x1p127
|
pow -0 0x1p127
|
||||||
|
@ -219802,6 +219802,31 @@ pow 0.0 min_subnorm
|
|||||||
= pow tonearest ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
= pow tonearest ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
||||||
= pow towardzero ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
= pow towardzero ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
||||||
= pow upward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
= pow upward ldbl-128 0x0p+0L 0x4p-16496L : 0x0p+0L : inexact-ok
|
||||||
|
pow -0 0.5
|
||||||
|
= pow downward flt-32 -0x0p+0f 0x8p-4f : 0x0p+0f : inexact-ok
|
||||||
|
= pow tonearest flt-32 -0x0p+0f 0x8p-4f : 0x0p+0f : inexact-ok
|
||||||
|
= pow towardzero flt-32 -0x0p+0f 0x8p-4f : 0x0p+0f : inexact-ok
|
||||||
|
= pow upward flt-32 -0x0p+0f 0x8p-4f : 0x0p+0f : inexact-ok
|
||||||
|
= pow downward dbl-64 -0x0p+0 0x8p-4 : 0x0p+0 : inexact-ok
|
||||||
|
= pow tonearest dbl-64 -0x0p+0 0x8p-4 : 0x0p+0 : inexact-ok
|
||||||
|
= pow towardzero dbl-64 -0x0p+0 0x8p-4 : 0x0p+0 : inexact-ok
|
||||||
|
= pow upward dbl-64 -0x0p+0 0x8p-4 : 0x0p+0 : inexact-ok
|
||||||
|
= pow downward ldbl-96-intel -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow tonearest ldbl-96-intel -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow towardzero ldbl-96-intel -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow upward ldbl-96-intel -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow downward ldbl-96-m68k -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow tonearest ldbl-96-m68k -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow towardzero ldbl-96-m68k -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow upward ldbl-96-m68k -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow downward ldbl-128 -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow tonearest ldbl-128 -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow towardzero ldbl-128 -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow upward ldbl-128 -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow downward ldbl-128ibm -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow tonearest ldbl-128ibm -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow towardzero ldbl-128ibm -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
|
= pow upward ldbl-128ibm -0x0p+0L 0x8p-4L : 0x0p+0L : inexact-ok
|
||||||
pow -0 4
|
pow -0 4
|
||||||
= pow downward flt-32 -0x0p+0f 0x4p+0f : 0x0p+0f : inexact-ok
|
= pow downward flt-32 -0x0p+0f 0x4p+0f : 0x0p+0f : inexact-ok
|
||||||
= pow tonearest flt-32 -0x0p+0f 0x4p+0f : 0x0p+0f : inexact-ok
|
= pow tonearest flt-32 -0x0p+0f 0x4p+0f : 0x0p+0f : inexact-ok
|
||||||
|
@ -10285,6 +10285,7 @@ static const struct test_ff_f_data pow_test_data[] =
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* pow (-inf, y) == +inf for y > 0 and not an odd integer. */
|
/* pow (-inf, y) == +inf for y > 0 and not an odd integer. */
|
||||||
|
TEST_ff_f (pow, minus_infty, 0.5, plus_infty, ERRNO_UNCHANGED),
|
||||||
TEST_ff_f (pow, minus_infty, 28, plus_infty, ERRNO_UNCHANGED),
|
TEST_ff_f (pow, minus_infty, 28, plus_infty, ERRNO_UNCHANGED),
|
||||||
TEST_ff_f (pow, minus_infty, 0x1p24, plus_infty, ERRNO_UNCHANGED),
|
TEST_ff_f (pow, minus_infty, 0x1p24, plus_infty, ERRNO_UNCHANGED),
|
||||||
TEST_ff_f (pow, minus_infty, 0x1p127, plus_infty, ERRNO_UNCHANGED),
|
TEST_ff_f (pow, minus_infty, 0x1p127, plus_infty, ERRNO_UNCHANGED),
|
||||||
|
Reference in New Issue
Block a user