From 86793ae758eeca100a67d1e32cb16d29e74a9149 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 1 May 2015 22:31:24 +0000 Subject: [PATCH] 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. --- ChangeLog | 4 ++++ math/auto-libm-test-in | 1 + math/auto-libm-test-out | 25 +++++++++++++++++++++++++ sysdeps/x86_64/fpu/libm-test-ulps | 16 ++++++++-------- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 77ce468046..7333ae5887 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2015-05-01 Joseph Myers + * 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. diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index caf3c93a0e..788c30a517 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -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 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index a99be4a791..ed5b311688 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -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 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 3b342d69bb..ab2b0b7ed4 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -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 -- 2.11.4.GIT