Files
retrobsd/src/libm/ieee.h
2014-04-09 14:27:18 +01:00

24 lines
453 B
C

/* Get two 32 bit ints from a double. */
#define EXTRACT_WORDS(high,low,d) \
high = *(unsigned long long*) &d; \
low = (*(unsigned long long*) &d) >> 32
/* Set a double from two 32 bit ints. */
#define INSERT_WORDS(d,high,low) \
*(unsigned long long*) &(x) = (unsigned long long) (high) << 32 | (low)
typedef union
{
double value;
struct
{
uint32_t lsw;
uint32_t msw;
} parts;
} ieee_double_shape_type;