diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-07-14 00:54:57 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-07-14 00:54:57 +0000 |
commit | abfbdde177c3a7155070dda1b2cdc8292054cc26 (patch) | |
tree | e021306b596381fbf8311d2b7eb294e918ff17c8 /sysdeps/libm-ieee754/s_tanhf.c | |
parent | 86421aa57ecfd70963ae66848bd6a6dd3b8e0fe6 (diff) | |
download | glibc-abfbdde177c3a7155070dda1b2cdc8292054cc26.tar.gz glibc-abfbdde177c3a7155070dda1b2cdc8292054cc26.tar.xz glibc-abfbdde177c3a7155070dda1b2cdc8292054cc26.zip |
Update.
Diffstat (limited to 'sysdeps/libm-ieee754/s_tanhf.c')
-rw-r--r-- | sysdeps/libm-ieee754/s_tanhf.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/sysdeps/libm-ieee754/s_tanhf.c b/sysdeps/libm-ieee754/s_tanhf.c deleted file mode 100644 index 2a0ca9f3df..0000000000 --- a/sysdeps/libm-ieee754/s_tanhf.c +++ /dev/null @@ -1,67 +0,0 @@ -/* s_tanhf.c -- float version of s_tanh.c. - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: s_tanhf.c,v 1.4 1995/05/10 20:48:24 jtc Exp $"; -#endif - -#include "math.h" -#include "math_private.h" - -#ifdef __STDC__ -static const float one=1.0, two=2.0, tiny = 1.0e-30; -#else -static float one=1.0, two=2.0, tiny = 1.0e-30; -#endif - -#ifdef __STDC__ - float __tanhf(float x) -#else - float __tanhf(x) - float x; -#endif -{ - float t,z; - int32_t jx,ix; - - GET_FLOAT_WORD(jx,x); - ix = jx&0x7fffffff; - - /* x is INF or NaN */ - if(ix>=0x7f800000) { - if (jx>=0) return one/x+one; /* tanh(+-inf)=+-1 */ - else return one/x-one; /* tanh(NaN) = NaN */ - } - - /* |x| < 22 */ - if (ix < 0x41b00000) { /* |x|<22 */ - if (ix == 0) - return x; /* x == +-0 */ - if (ix<0x24000000) /* |x|<2**-55 */ - return x*(one+x); /* tanh(small) = small */ - if (ix>=0x3f800000) { /* |x|>=1 */ - t = __expm1f(two*fabsf(x)); - z = one - two/(t+two); - } else { - t = __expm1f(-two*fabsf(x)); - z= -t/(t+two); - } - /* |x| > 22, return +-1 */ - } else { - z = one - tiny; /* raised inexact flag */ - } - return (jx>=0)? z: -z; -} -weak_alias (__tanhf, tanhf) |