Back to index

lightning-sunbird  0.9+nobinonly
Functions | Variables
e_atanh.c File Reference
#include "fdlibm.h"

Go to the source code of this file.

Functions

double __ieee754_atanh (double x)

Variables

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

Function Documentation

double __ieee754_atanh ( double  x)

Definition at line 84 of file e_atanh.c.

{
       double t;
       int hx,ix;
       unsigned lx;
        fd_twoints u;
        u.d = x;
       hx = __HI(u);        /* high word */
       lx = __LO(u);        /* low word */
       ix = hx&0x7fffffff;
       if ((ix|((lx|(-(int)lx))>>31))>0x3ff00000) /* |x|>1 */
           return (x-x)/(x-x);
       if(ix==0x3ff00000) 
           return x/zero;
       if(ix<0x3e300000&&(really_big+x)>zero) return x; /* x<2**-28 */
        u.d = x;
       __HI(u) = ix;        /* x <- |x| */
        x = u.d;
       if(ix<0x3fe00000) {         /* x < 0.5 */
           t = x+x;
           t = 0.5*fd_log1p(t+t*x/(one-x));
       } else 
           t = 0.5*fd_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 one = 1.0 [static]

Definition at line 76 of file e_atanh.c.

double really_big = 1e300 [static]

Definition at line 76 of file e_atanh.c.

double zero = 0.0 [static]

Definition at line 79 of file e_atanh.c.