Back to index

glibc  2.9
Functions | Variables
e_atanh.c File Reference
#include "math.h"
#include "math_private.h"

Go to the source code of this file.


double __ieee754_atanh (double x)


static double one = 1.0
static double huge = 1e300
static double zero = 0.0

Function Documentation

double __ieee754_atanh ( double  x)

Definition at line 53 of file e_atanh.c.

       double t;
       int32_t hx,ix;
       u_int32_t lx;
       ix = hx&0x7fffffff;
       if ((ix|((lx|(-lx))>>31))>0x3ff00000) /* |x|>1 */
           return (x-x)/(x-x);
           return x/zero;
       if(ix<0x3e300000&&(huge+x)>zero) return x;       /* x<2**-28 */
       if(ix<0x3fe00000) {         /* x < 0.5 */
           t = x+x;
           t = 0.5*__log1p(t+t*x/(one-x));
       } else 
           t = 0.5*__log1p((x+x)/(one-x));
       if(hx>=0) return t; else return -t;

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

double huge = 1e300 [static]

Definition at line 41 of file e_atanh.c.

double one = 1.0 [static]

Definition at line 41 of file e_atanh.c.

double zero = 0.0 [static]

Definition at line 47 of file e_atanh.c.