]> sourceware.org Git - glibc.git/commitdiff
Update
authorAndreas Jaeger <aj@suse.de>
Tue, 19 Jun 2001 12:41:02 +0000 (12:41 +0000)
committerAndreas Jaeger <aj@suse.de>
Tue, 19 Jun 2001 12:41:02 +0000 (12:41 +0000)
2001-06-19  Andreas Jaeger  <aj@suse.de>

* sysdeps/ieee754/ldbl-128/s_tanhl.c: New file.

* math/libm-test.inc (tanh_test): Test for 2^-56.

* sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Make sure result
equals argument when x < 2^-55.
Patches by Stephen L. Moshier <moshier@na-net.ornl.gov>.

ChangeLog
NEWS
math/libm-test.inc
sysdeps/ieee754/ldbl-96/s_tanhl.c

index 3a2ab448bf622a16915099aa94680b872da95ea0..e862a2c02b23e3040c85f2573a133f1216dd4494 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2001-06-19  Andreas Jaeger  <aj@suse.de>
+
+       * sysdeps/ieee754/ldbl-128/s_tanhl.c: New file.
+
+       * math/libm-test.inc (tanh_test): Test for 2^-56.
+
+       * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Make sure result
+       equals argument when x < 2^-55.
+       Patches by Stephen L. Moshier <moshier@na-net.ornl.gov>.
+
 2001-06-17  Alan Modra  <amodra@bigpond.net.au>
 
        * sysdeps/hppa/dl-machine.h (elf_machine_rela): handle relocs
diff --git a/NEWS b/NEWS
index 2c9046a9fc871c1b62632532d6e08a9d92b7ba1b..38694a47fd69396391fbfb15d5fd39743d4bd424 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,8 +8,8 @@ Please send GNU C library bug reports using the `glibcbug' script to
 \f
 Version 2.2.4
 
-* Stephen Moshier implemented cosh, expm1, log1p, acos, sinh for the
-  128-bit long double format.
+* Stephen Moshier implemented cosh, expm1, log1p, acos, sinh, tanh for
+  the 128-bit long double format.
 
 * Bruno Haible updated all the code handling Unicode in some form to
   support Unicode 3.1.
index 481c395643d0442041253f202d3c44b2abf79446..2c3a3f6ffafd35d5e8eb0069a45d008bef14c507 100644 (file)
@@ -3975,6 +3975,9 @@ tanh_test (void)
   TEST_f_f (tanh, 1.0L, 0.7615941559557648881194582826047935904L);
   TEST_f_f (tanh, -1.0L, -0.7615941559557648881194582826047935904L);
 
+  /* 2^-56  */
+  TEST_f_f (tanh, 1.387778780781445675529539585113525390625e-17L, 1.387778780781445675529539585113525390625e-17L);
+  
   END (tanh);
 }
 
index 5c0ac9a95d3d6f148371fe2dd740c84a0da09fd4..45cea903e306cc2f07670a44769018bf5d04c5e5 100644 (file)
@@ -78,7 +78,7 @@ static long double one=1.0, two=2.0, tiny = 1.0e-4900L;
            if ((ix|j0|j1) == 0)
                return x;               /* x == +- 0 */
            if (ix<0x3fc8)              /* |x|<2**-55 */
-               return x*(one+x);       /* tanh(small) = small */
+               return x*(one+tiny);    /* tanh(small) = small */
            if (ix>=0x3fff) {   /* |x|>=1  */
                t = __expm1l(two*fabsl(x));
                z = one - two/(t+two);
This page took 0.054095 seconds and 5 git commands to generate.