home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
LIBSRC.ZOO
/
libsrc
/
longlong
/
flotdidf.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-02-22
|
445b
|
23 lines
#include "longlong.h"
#define HIGH_HALFWORD_COEFF (((long long) 1) << (BITS_PER_WORD / 2))
#define HIGH_WORD_COEFF (((long long) 1) << BITS_PER_WORD)
double
__floatdidf (u)
long long u;
{
double d;
int negate = 0;
if (u < 0)
u = -u, negate = 1;
d = (unsigned int) (u >> BITS_PER_WORD);
d *= HIGH_HALFWORD_COEFF;
d *= HIGH_HALFWORD_COEFF;
d += (unsigned int) (u & (HIGH_WORD_COEFF - 1));
return (negate ? -d : d);
}