summaryrefslogtreecommitdiff
path: root/libm/float/atanhf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libm/float/atanhf.c')
-rw-r--r--libm/float/atanhf.c92
1 files changed, 0 insertions, 92 deletions
diff --git a/libm/float/atanhf.c b/libm/float/atanhf.c
deleted file mode 100644
index dfadad09e..000000000
--- a/libm/float/atanhf.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* atanhf.c
- *
- * Inverse hyperbolic tangent
- *
- *
- *
- * SYNOPSIS:
- *
- * float x, y, atanhf();
- *
- * y = atanhf( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns inverse hyperbolic tangent of argument in the range
- * MINLOGF to MAXLOGF.
- *
- * If |x| < 0.5, a polynomial approximation is used.
- * Otherwise,
- * atanh(x) = 0.5 * log( (1+x)/(1-x) ).
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -1,1 100000 1.4e-7 3.1e-8
- *
- */
-
-/* atanh.c */
-
-
-/*
-Cephes Math Library Release 2.2: June, 1992
-Copyright (C) 1987, 1992 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/* Single precision inverse hyperbolic tangent
- * test interval: [-0.5, +0.5]
- * trials: 10000
- * peak relative error: 8.2e-8
- * rms relative error: 3.0e-8
- */
-#include <math.h>
-extern float MAXNUMF;
-
-float logf( float );
-
-float atanhf( float xx )
-{
-float x, z;
-
-x = xx;
-if( x < 0 )
- z = -x;
-else
- z = x;
-if( z >= 1.0 )
- {
- if( x == 1.0 )
- return( MAXNUMF );
- if( x == -1.0 )
- return( -MAXNUMF );
- mtherr( "atanhl", DOMAIN );
- return( MAXNUMF );
- }
-
-if( z < 1.0e-4 )
- return(x);
-
-if( z < 0.5 )
- {
- z = x * x;
- z =
- (((( 1.81740078349E-1 * z
- + 8.24370301058E-2) * z
- + 1.46691431730E-1) * z
- + 1.99782164500E-1) * z
- + 3.33337300303E-1) * z * x
- + x;
- }
-else
- {
- z = 0.5 * logf( (1.0+x)/(1.0-x) );
- }
-return( z );
-}