t/iee754: add return value
[fio.git] / t / ieee754.c
index 3898ab74c1afe5b65834c3500bda72d730d20df3..b652639417b1ea9be484f7af7927c16a86913246 100644 (file)
@@ -1,21 +1,26 @@
 #include <stdio.h>
 #include "../lib/ieee754.h"
 
-static double values[] = { -17.23, 17.23, 123.4567, 98765.4321, 0.0 };
+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;
-       int j;
+       double f, delta;
+       int j, differences = 0;
 
        j = 0;
        do {
                i = fio_double_to_uint64(values[j]);
                f = fio_uint64_to_double(i);
-               printf("%f -> %f\n", values[j], f);
+               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 0;
+       return differences;
 }