Back to index

glibc  2.9
Functions | Variables
s_frexpl.c File Reference
#include "math.h"
#include "math_private.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

long double __frexpl (long double x, int *eptr)

Variables

static long double two114 = 2.0769187434139310514121985316880384E+34L

Function Documentation

long double __frexpl ( long double  x,
int eptr 
)

Definition at line 43 of file s_frexpl.c.

{
       u_int64_t hx, lx, ix;
       GET_LDOUBLE_WORDS64(hx,lx,x);
       ix = 0x7fffffffffffffffULL&hx;
       *eptr = 0;
       if(ix>=0x7fff000000000000ULL||((ix|lx)==0)) return x;   /* 0,inf,nan */
       if (ix<0x0001000000000000ULL) {           /* subnormal */
           x *= two114;
           GET_LDOUBLE_MSW64(hx,x);
           ix = hx&0x7fffffffffffffffULL;
           *eptr = -114;
       }
       *eptr += (ix>>48)-16382;
       hx = (hx&0x8000ffffffffffffULL) | 0x3ffe000000000000ULL;
       SET_LDOUBLE_MSW64(x,hx);
       return x;
}

Variable Documentation

long double two114 = 2.0769187434139310514121985316880384E+34L [static]

Definition at line 38 of file s_frexpl.c.