Add another test of pow.

This patch adds a randomly-generated test of pow that is observed to
increase ulps on x86_64.

Tested for x86_64 and x86 and ulps updated accordingly.

	* math/auto-libm-test-in: Add another test of pow.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
This commit is contained in:
Joseph Myers 2015-05-01 22:31:24 +00:00
parent 038e4be99c
commit 86793ae758
4 changed files with 38 additions and 8 deletions

View File

@ -1,5 +1,9 @@
2015-05-01 Joseph Myers <joseph@codesourcery.com>
* math/auto-libm-test-in: Add another test of pow.
* math/auto-libm-test-out: Regenerated.
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
* math/auto-libm-test-in: Add more tests of lgamma.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.

View File

@ -2200,6 +2200,7 @@ pow 2.0 -100000.0
pow 1.0625 1.125
pow 1.5 1.03125
pow 0x1.7d1a0a6f2p+681 1.5
pow 0x1.ce78f2p+0 -0x2.7f1f78p+4
sin 0
sin -0

View File

@ -173504,6 +173504,31 @@ pow 0x1.7d1a0a6f2p+681 1.5
= pow tonearest ldbl-128ibm 0x2.fa3414de4p+680L 0x1.8p+0L : 0x5.232efee41029ap+1020L : inexact-ok
= pow towardzero ldbl-128ibm 0x2.fa3414de4p+680L 0x1.8p+0L : 0x5.232efee41029ap+1020L : inexact-ok
= pow upward ldbl-128ibm 0x2.fa3414de4p+680L 0x1.8p+0L : 0x5.232efee41029ap+1020L : inexact-ok
pow 0x1.ce78f2p+0 -0x2.7f1f78p+4
= pow downward flt-32 0x1.ce78f2p+0f -0x2.7f1f78p+4f : 0x3.c74e2cp-36f : inexact-ok
= pow tonearest flt-32 0x1.ce78f2p+0f -0x2.7f1f78p+4f : 0x3.c74e3p-36f : inexact-ok
= pow towardzero flt-32 0x1.ce78f2p+0f -0x2.7f1f78p+4f : 0x3.c74e2cp-36f : inexact-ok
= pow upward flt-32 0x1.ce78f2p+0f -0x2.7f1f78p+4f : 0x3.c74e3p-36f : inexact-ok
= pow downward dbl-64 0x1.ce78f2p+0 -0x2.7f1f78p+4 : 0x3.c74e2eeb2cdp-36 : inexact-ok
= pow tonearest dbl-64 0x1.ce78f2p+0 -0x2.7f1f78p+4 : 0x3.c74e2eeb2cdp-36 : inexact-ok
= pow towardzero dbl-64 0x1.ce78f2p+0 -0x2.7f1f78p+4 : 0x3.c74e2eeb2cdp-36 : inexact-ok
= pow upward dbl-64 0x1.ce78f2p+0 -0x2.7f1f78p+4 : 0x3.c74e2eeb2cd02p-36 : inexact-ok
= pow downward ldbl-96-intel 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow tonearest ldbl-96-intel 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow towardzero ldbl-96-intel 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow upward ldbl-96-intel 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026cp-36L : inexact-ok
= pow downward ldbl-96-m68k 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow tonearest ldbl-96-m68k 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow towardzero ldbl-96-m68k 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd00268p-36L : inexact-ok
= pow upward ldbl-96-m68k 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026cp-36L : inexact-ok
= pow downward ldbl-128 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1f4p-36L : inexact-ok
= pow tonearest ldbl-128 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1f4p-36L : inexact-ok
= pow towardzero ldbl-128 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1f4p-36L : inexact-ok
= pow upward ldbl-128 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1f6p-36L : inexact-ok
= pow downward ldbl-128ibm 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1p-36L : inexact-ok
= pow tonearest ldbl-128ibm 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a2p-36L : inexact-ok
= pow towardzero ldbl-128ibm 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a1p-36L : inexact-ok
= pow upward ldbl-128ibm 0x1.ce78f2p+0L -0x2.7f1f78p+4L : 0x3.c74e2eeb2cd0026957cffeb3a2p-36L : inexact-ok
sin 0
= sin downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
= sin tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok

View File

@ -1816,8 +1816,8 @@ ildouble: 1
ldouble: 1
Function: "pow":
float: 1
ifloat: 1
float: 3
ifloat: 3
ildouble: 1
ldouble: 1
@ -1853,25 +1853,25 @@ ldouble: 2
Function: "pow_downward":
double: 1
float: 1
float: 3
idouble: 1
ifloat: 1
ifloat: 3
ildouble: 4
ldouble: 4
Function: "pow_towardzero":
double: 1
float: 1
float: 4
idouble: 1
ifloat: 1
ifloat: 4
ildouble: 1
ldouble: 1
Function: "pow_upward":
double: 1
float: 1
float: 4
idouble: 1
ifloat: 1
ifloat: 4
ildouble: 2
ldouble: 2