From 0957e15d0a58b389155750f6748f083196e06c31 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 1 May 2015 22:54:39 +0000 Subject: [PATCH] Add more tests of tan. This patch adds some randomly-generated tests of tan that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of tan. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. --- ChangeLog | 5 ++++ math/auto-libm-test-in | 2 ++ math/auto-libm-test-out | 50 +++++++++++++++++++++++++++++++ sysdeps/i386/fpu/libm-test-ulps | 8 ++--- sysdeps/x86_64/fpu/libm-test-ulps | 10 ++++--- 5 files changed, 67 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 99cd7a69fe..815b1cc7ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2015-05-01 Joseph Myers + * math/auto-libm-test-in: Add more tests of tan. + * math/auto-libm-test-out: Regenerated. + * sysdeps/i386/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + * math/auto-libm-test-in: Add more tests of cos, sin and sincos. * 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 b8f71ee62d..249aa9de20 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -2408,6 +2408,8 @@ tan 7 tan 8 tan 9 tan 10 +tan -0x1.062a48p+0 +tan -0x1.4f69cp+0 tanh 0 tanh -0 diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out index 10a303442b..139cacc3ca 100644 --- a/math/auto-libm-test-out +++ b/math/auto-libm-test-out @@ -183731,6 +183731,56 @@ tan 10 = tan tonearest ldbl-128ibm 0xap+0L : 0xa.5faf9a5f1bc12efead12fa489p-4L : inexact-ok = tan towardzero ldbl-128ibm 0xap+0L : 0xa.5faf9a5f1bc12efead12fa488cp-4L : inexact-ok = tan upward ldbl-128ibm 0xap+0L : 0xa.5faf9a5f1bc12efead12fa489p-4L : inexact-ok +tan -0x1.062a48p+0 += tan downward flt-32 -0x1.062a48p+0f : -0x1.a4a484p+0f : inexact-ok += tan tonearest flt-32 -0x1.062a48p+0f : -0x1.a4a482p+0f : inexact-ok += tan towardzero flt-32 -0x1.062a48p+0f : -0x1.a4a482p+0f : inexact-ok += tan upward flt-32 -0x1.062a48p+0f : -0x1.a4a482p+0f : inexact-ok += tan downward dbl-64 -0x1.062a48p+0 : -0x1.a4a482f560f6fp+0 : inexact-ok += tan tonearest dbl-64 -0x1.062a48p+0 : -0x1.a4a482f560f6ep+0 : inexact-ok += tan towardzero dbl-64 -0x1.062a48p+0 : -0x1.a4a482f560f6ep+0 : inexact-ok += tan upward dbl-64 -0x1.062a48p+0 : -0x1.a4a482f560f6ep+0 : inexact-ok += tan downward ldbl-96-intel -0x1.062a48p+0L : -0x1.a4a482f560f6e4dp+0L : inexact-ok += tan tonearest ldbl-96-intel -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan towardzero ldbl-96-intel -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan upward ldbl-96-intel -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan downward ldbl-96-m68k -0x1.062a48p+0L : -0x1.a4a482f560f6e4dp+0L : inexact-ok += tan tonearest ldbl-96-m68k -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan towardzero ldbl-96-m68k -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan upward ldbl-96-m68k -0x1.062a48p+0L : -0x1.a4a482f560f6e4cep+0L : inexact-ok += tan downward ldbl-128 -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73567d5p+0L : inexact-ok += tan tonearest ldbl-128 -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73567d4p+0L : inexact-ok += tan towardzero ldbl-128 -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73567d4p+0L : inexact-ok += tan upward ldbl-128 -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73567d4p+0L : inexact-ok += tan downward ldbl-128ibm -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73568p+0L : inexact-ok += tan tonearest ldbl-128ibm -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e73568p+0L : inexact-ok += tan towardzero ldbl-128ibm -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e735678p+0L : inexact-ok += tan upward ldbl-128ibm -0x1.062a48p+0L : -0x1.a4a482f560f6e4ceb9d6e735678p+0L : inexact-ok +tan -0x1.4f69cp+0 += tan downward flt-32 -0x1.4f69cp+0f : -0x3.c00d44p+0f : inexact-ok += tan tonearest flt-32 -0x1.4f69cp+0f : -0x3.c00d44p+0f : inexact-ok += tan towardzero flt-32 -0x1.4f69cp+0f : -0x3.c00d4p+0f : inexact-ok += tan upward flt-32 -0x1.4f69cp+0f : -0x3.c00d4p+0f : inexact-ok += tan downward dbl-64 -0x1.4f69cp+0 : -0x3.c00d4280aa7cp+0 : inexact-ok += tan tonearest dbl-64 -0x1.4f69cp+0 : -0x3.c00d4280aa7bep+0 : inexact-ok += tan towardzero dbl-64 -0x1.4f69cp+0 : -0x3.c00d4280aa7bep+0 : inexact-ok += tan upward dbl-64 -0x1.4f69cp+0 : -0x3.c00d4280aa7bep+0 : inexact-ok += tan downward ldbl-96-intel -0x1.4f69cp+0L : -0x3.c00d4280aa7bede8p+0L : inexact-ok += tan tonearest ldbl-96-intel -0x1.4f69cp+0L : -0x3.c00d4280aa7bede8p+0L : inexact-ok += tan towardzero ldbl-96-intel -0x1.4f69cp+0L : -0x3.c00d4280aa7bede4p+0L : inexact-ok += tan upward ldbl-96-intel -0x1.4f69cp+0L : -0x3.c00d4280aa7bede4p+0L : inexact-ok += tan downward ldbl-96-m68k -0x1.4f69cp+0L : -0x3.c00d4280aa7bede8p+0L : inexact-ok += tan tonearest ldbl-96-m68k -0x1.4f69cp+0L : -0x3.c00d4280aa7bede8p+0L : inexact-ok += tan towardzero ldbl-96-m68k -0x1.4f69cp+0L : -0x3.c00d4280aa7bede4p+0L : inexact-ok += tan upward ldbl-96-m68k -0x1.4f69cp+0L : -0x3.c00d4280aa7bede4p+0L : inexact-ok += tan downward ldbl-128 -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88620c2p+0L : inexact-ok += tan tonearest ldbl-128 -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88620cp+0L : inexact-ok += tan towardzero ldbl-128 -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88620cp+0L : inexact-ok += tan upward ldbl-128 -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88620cp+0L : inexact-ok += tan downward ldbl-128ibm -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88621p+0L : inexact-ok += tan tonearest ldbl-128ibm -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d88621p+0L : inexact-ok += tan towardzero ldbl-128ibm -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d8862p+0L : inexact-ok += tan upward ldbl-128ibm -0x1.4f69cp+0L : -0x3.c00d4280aa7bede62d35d8862p+0L : inexact-ok tanh 0 = tanh downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok = tanh tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index bb894e59ca..2286c8817c 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1810,16 +1810,16 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "tan_towardzero": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "tan_upward": double: 1 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 7fd3a3c591..0cb22a42fe 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1952,6 +1952,8 @@ ildouble: 5 ldouble: 5 Function: "tan": +float: 1 +ifloat: 1 ildouble: 1 ldouble: 1 @@ -1960,16 +1962,16 @@ double: 1 float: 2 idouble: 1 ifloat: 2 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "tan_towardzero": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "tan_upward": double: 1