Back to index

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

Go to the source code of this file.

Functions

float __ieee754_atanhf (float x)

Variables

static float one = 1.0
static float huge = 1e30
static float zero = 0.0

Function Documentation

float __ieee754_atanhf ( float  x)

Definition at line 38 of file e_atanhf.c.

{
       float t;
       int32_t hx,ix;
       GET_FLOAT_WORD(hx,x);
       ix = hx&0x7fffffff;
       if (ix>0x3f800000)          /* |x|>1 */
           return (x-x)/(x-x);
       if(ix==0x3f800000) 
           return x/zero;
       if(ix<0x31800000&&(huge+x)>zero) return x;       /* x<2**-28 */
       SET_FLOAT_WORD(x,ix);
       if(ix<0x3f000000) {         /* x < 0.5 */
           t = x+x;
           t = (float)0.5*__log1pf(t+t*x/(one-x));
       } else 
           t = (float)0.5*__log1pf((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

float huge = 1e30 [static]

Definition at line 26 of file e_atanhf.c.

float one = 1.0 [static]

Definition at line 26 of file e_atanhf.c.

float zero = 0.0 [static]

Definition at line 32 of file e_atanhf.c.