t/iee754: add return value
authorVincent Fu <vincent.fu@wdc.com>
Wed, 16 Oct 2019 16:32:42 +0000 (12:32 -0400)
committerVincent Fu <vincent.fu@wdc.com>
Wed, 6 Nov 2019 16:18:59 +0000 (11:18 -0500)
To facilitate automated testing, return 0 when all tests succeed and a
non-zero value otherwise.

Also add one more test value.

t/ieee754.c

index 3898ab7..b652639 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;
 }