#include <stdio.h> | |
#include "../lib/ieee754.h" | |
static double values[] = { -17.23, 17.23, 123.4567, 98765.4321, | |
3.14159265358979323, 0.0 }; | |
int main(int argc, char *argv[]) | |
{ | |
uint64_t i; | |
double f, delta; | |
int j, differences = 0; | |
j = 0; | |
do { | |
i = fio_double_to_uint64(values[j]); | |
f = fio_uint64_to_double(i); | |
delta = values[j] - f; | |
printf("%26.20lf -> %26.20lf, delta = %26.20lf\n", values[j], | |
f, delta); | |
if (f != values[j]) | |
differences++; | |
j++; | |
} while (values[j] != 0.0); | |
return differences; | |
} |