Blob Blame History Raw
#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;
}