Back to index

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

Go to the source code of this file.


long double __ieee754_atanhl (long double x)


static long double one = 1.0L
static long double huge = 1e300L
static long double zero = 0.0L

Function Documentation

long double __ieee754_atanhl ( long double  x)

Definition at line 53 of file e_atanhl.c.

       long double t;
       int64_t hx,ix;
       u_int64_t lx;
       ix = hx&0x7fffffffffffffffLL;
       if (ix >= 0x3ff0000000000000LL) { /* |x|>=1 */
           if (ix > 0x3ff0000000000000LL)
              return (x-x)/(x-x);
           t = fabsl (x);
           if (t > one)
              return (x-x)/(x-x);
           if (t == one)
              return x/zero;
       if(ix<0x3e20000000000000LL&&(huge+x)>zero) return x;    /* x<2**-29 */
       x = fabsl (x);
       if(ix<0x3fe0000000000000LL) {             /* x < 0.5 */
           t = x+x;
           t = 0.5*__log1pl(t+t*x/(one-x));
       } else
           t = 0.5*__log1pl((x+x)/(one-x));
       if(hx>=0) return t; else return -t;

Here is the call graph for this function:

Variable Documentation

long double huge = 1e300L [static]

Definition at line 41 of file e_atanhl.c.

long double one = 1.0L [static]

Definition at line 41 of file e_atanhl.c.

long double zero = 0.0L [static]

Definition at line 47 of file e_atanhl.c.