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

  1.  
  2. /* _Dtest function -- IEEE 754 version */
  3. #include "xmath.h"
  4.  
  5. short _Dtest(double *px)
  6.     {    /* categorize *px */
  7.     unsigned short *ps = (unsigned short *)px;
  8.     short xchar = (ps[_D0] & _DMASK) >> _DOFF;
  9.  
  10.     if (xchar == _DMAX)    /* NaN or INF */
  11.         return (ps[_D0] & _DFRAC || ps[_D1]
  12.             || ps[_D2] || ps[_D3] ? NAN : INF);
  13.     else if (0 < xchar || ps[_D0] & _DFRAC
  14.         || ps[_D1] || ps[_D2] || ps[_D3])
  15.         return (FINITE);    /* finite */
  16.     else
  17.         return (0);    /* zero */
  18.     }
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.