home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / c / djgpp / libsrc / m / frexp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-30  |  306 b   |  27 lines

  1. #include <math.h>
  2.  
  3. double frexp(double x, int *i)
  4. {
  5.   double rv = x;
  6.   int sign=1;
  7.   int ri = 0;
  8.   if (rv < 0)
  9.   {
  10.     sign = -1;
  11.     rv = -rv;
  12.   }
  13.   while (rv > 1)
  14.   {
  15.     ri++;
  16.     rv /= 2.0;
  17.   }
  18.   while (rv < 0.5)
  19.   {
  20.     ri--;
  21.     rv *= 2;
  22.   }
  23.   *i = ri;
  24.   return rv*sign;
  25. }
  26.  
  27.