#ifndef FIO_IEEE754_H | |
#define FIO_IEEE754_H | |
#include <inttypes.h> | |
extern uint64_t pack754(long double f, unsigned bits, unsigned expbits); | |
extern long double unpack754(uint64_t i, unsigned bits, unsigned expbits); | |
#define fio_double_to_uint64(val) pack754((val), 64, 11) | |
#define fio_uint64_to_double(val) unpack754((val), 64, 11) | |
typedef struct fio_fp64 { | |
union { | |
uint64_t i; | |
double f; | |
uint8_t filler[16]; | |
} u; | |
} fio_fp64_t; | |
#endif |