summaryrefslogtreecommitdiff
path: root/src/math/atanh.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-03-19 22:07:43 -0400
committerRich Felker <dalias@aerifal.cx>2012-03-19 22:07:43 -0400
commit97721a5508415a2f10eb068e022093811c9ff8be (patch)
tree88e9ce153895ad949576fa7ce1eeee4b02286479 /src/math/atanh.c
parentacb744921b73f5a73803e533e5e4a4896d164a26 (diff)
parent0cbb65479147ecdaa664e88cc2a5a925f3de502f (diff)
downloadmusl-97721a5508415a2f10eb068e022093811c9ff8be.tar.gz
Merge remote branch 'nsz/master'
Diffstat (limited to 'src/math/atanh.c')
-rw-r--r--src/math/atanh.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/math/atanh.c b/src/math/atanh.c
index 29290463..dbe241d1 100644
--- a/src/math/atanh.c
+++ b/src/math/atanh.c
@@ -30,8 +30,7 @@
#include "libm.h"
-static const double one = 1.0, huge = 1e300;
-static const double zero = 0.0;
+static const double huge = 1e300;
double atanh(double x)
{
@@ -44,15 +43,15 @@ double atanh(double x)
if ((ix | ((lx|-lx)>>31)) > 0x3ff00000) /* |x| > 1 */
return (x-x)/(x-x);
if (ix == 0x3ff00000)
- return x/zero;
- if (ix < 0x3e300000 && (huge+x) > zero) /* x < 2**-28 */
+ return x/0.0;
+ if (ix < 0x3e300000 && (huge+x) > 0.0) /* x < 2**-28 */
return x;
SET_HIGH_WORD(x, ix);
if (ix < 0x3fe00000) { /* x < 0.5 */
t = x+x;
- t = 0.5*log1p(t + t*x/(one-x));
+ t = 0.5*log1p(t + t*x/(1.0-x));
} else
- t = 0.5*log1p((x+x)/(one-x));
+ t = 0.5*log1p((x+x)/(1.0-x));
if (hx >= 0)
return t;
return -t;