From 7bbfa5c6eca737faaa277d799437ac6a27863c93 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 15 Mar 2012 14:34:03 +0100 Subject: [BZ #13837] * math/libm-test.inc (cos_test): Add a test case for large input value. (sin_test): Likewise. (sincos_test): Likewise. --- ChangeLog | 38 ++++++++++++++++++++++++++++++++++++++ math/libm-test.inc | 3 +++ 2 files changed, 41 insertions(+) diff --git a/ChangeLog b/ChangeLog index 89c6a25fea..90a056b1d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,41 @@ +2012-03-15 Andreas Jaeger + + [BZ #13837] + * math/libm-test.inc (cos_test): Add a test case for large input + value. + (sin_test): Likewise. + (sincos_test): Likewise. + +2012-03-15 Andreas Jaeger , + Joseph Myers + + [BZ #13658] + * sysdeps/x86_64/fpu/s_sincos.S: Delete Remove files so that + x86-64 and i386 use the iee754/dbl-64 sin and cos implementation. + * sysdeps/i386/fpu/branred.c: Likewise. + * sysdeps/i386/fpu/dosincos.c: Likewise. + * sysdeps/i386/fpu/mpa.c: Likewise. + * sysdeps/i386/fpu/s_cos.S: Likewise. + * sysdeps/i386/fpu/s_sin.S: Likewise. + * sysdeps/i386/fpu/s_sincos.S: Likewise. + * sysdeps/i386/fpu/sincos32.c: Likewise. + + * sysdeps/generic/math_private.h (libc_feholdexcept_setround_53bit): + Define. + (libc_feupdateenv_53bit): Define. + * sysdeps/i386/fpu/math_private.h (libc_feholdexcept_setround_53bit): + Define. + (libc_feupdateenv_53bit): Define. + + * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Do double arithmetic in + 53 bit (without extend i386 double precision). + + * math/libm-test.inc (sincos_test): Add tests for large input. + (sin): Likewise. + (cos): Likewise. + + * sysdeps/i386/fpu/libm-test-ulps: Update ULPs. + 2012-03-15 Andreas Schwab * sysdeps/powerpc/fpu/libm-test-ulps: Update. diff --git a/math/libm-test.inc b/math/libm-test.inc index 8882833dc6..0801ca62c5 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -2115,6 +2115,7 @@ cos_test (void) #ifdef TEST_DOUBLE TEST_f_f (cos, 0.80190127184058835, 0.69534156199418473); TEST_f_f (cos, 1e22, 0.5232147853951389454975944733847); + TEST_f_f (cos, 0x1p1023, -0.8263698346141479945007856808117); #endif END (cos); @@ -6392,6 +6393,7 @@ sin_test (void) TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868); TEST_f_f (sin, 2.522464e-1, 2.4957989804940911e-1); TEST_f_f (sin, 1e22, -0.8522008497671888017727058937530); + TEST_f_f (sin, 0x1p1023, 0.5631277798508840248814522055909); #endif END (sin); @@ -6564,6 +6566,7 @@ sincos_test (void) #ifdef TEST_DOUBLE TEST_extra (sincos, 0.80190127184058835, 0.71867942238767868, 0.69534156199418473); TEST_extra (sincos, 1e22, -0.8522008497671888017727058937530, 0.5232147853951389454975944733847); + TEST_extra (sincos, 0x1p1023, 0.5631277798508840248814522055909, -0.8263698346141479945007856808117); #endif END (sincos); -- cgit 1.4.1