Change network transmitted doubles to fio_fp64_t IEEE 754 type
Encode and decode when transferring over the network.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/ieee754.h b/ieee754.h
index 2087da5..5af9518 100644
--- a/ieee754.h
+++ b/ieee754.h
@@ -1,10 +1,20 @@
#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