Back to index

glibc  2.9
slowexp.c File Reference
#include "math_private.h"

Go to the source code of this file.


double __slowexp (double x)

Function Documentation

double __slowexp ( double  x)

Definition at line 39 of file slowexp.c.

  double w,z,res,eps=3.0e-26;
  int p;
  mp_no mpx, mpy, mpz,mpw,mpeps,mpcor;

  __dbl_mp(x,&mpx,p); /* Convert a double precision number  x               */
                    /* into a multiple precision number mpx with prec. p. */
  __mpexp(&mpx, &mpy, p); /* Multi-Precision exponential function */
  __mp_dbl(&mpw, &w, p);
  __mp_dbl(&mpz, &z, p);
  if (w == z) return w;
  else  {                   /* if calculating is not exactly   */
    p = 32;
    __mpexp(&mpx, &mpy, p);
    __mp_dbl(&mpy, &res, p);
    return res;
  return (double) __ieee754_expl((long double)x);

Here is the call graph for this function: