home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_09_09 / 9n09014a < prev    next >
Text File  |  1991-08-06  |  492b  |  24 lines

  1. /* exp function */
  2. #include "xmath.h"
  3.  
  4. double (exp)(double x)
  5.     {   /* compute exp(x) */
  6.     switch (_Dtest(&x))
  7.         {   /* test for special codes */
  8.     case NAN:
  9.         errno = EDOM;
  10.         return (x);
  11.     case INF:
  12.         errno = ERANGE;
  13.         return (DSIGN(x) ? 0.0 : _Inf._D);
  14.     case 0:
  15.         return (1.0);
  16.     default:    /* finite */
  17.         if (0 <= _Exp(&x, 0))
  18.             errno = ERANGE;
  19.         return (x);
  20.         }
  21.     }
  22. /* End of File */
  23.  
  24.