diff options
Diffstat (limited to 'winsup/mingw/mingwex/math/atanhl.c')
-rwxr-xr-x | winsup/mingw/mingwex/math/atanhl.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/winsup/mingw/mingwex/math/atanhl.c b/winsup/mingw/mingwex/math/atanhl.c deleted file mode 100755 index 2d5fec02a..000000000 --- a/winsup/mingw/mingwex/math/atanhl.c +++ /dev/null @@ -1,29 +0,0 @@ -#include <math.h> -#include <errno.h> -#include "fastmath.h" - -/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */ -long double atanhl (long double x) -{ - long double z; - if isnan (x) - return x; - z = fabsl (x); - if (z == 1.0L) - { - errno = ERANGE; - return (x > 0 ? INFINITY : -INFINITY); - } - if ( z > 1.0L) - { - errno = EDOM; - return nanl(""); - } - /* Rearrange formula to avoid precision loss for small x. - atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x)) - = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0) - = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x)) - = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */ - z = 0.5L * __fast_log1pl ((z + z) / (1.0L - z)); - return x >= 0 ? z : -z; -} |