1 #include <math.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main()6main () 7 { 8 int res = 0; 9 int i; 10 11 for (i = 0; i < 5; i++) 12 { 13 double m; 14 15 #define TEST(y) do { \ 16 m = fmod(1 << i, y); \ 17 printf ("fmod(%d, "#y") = %.18f\n", 1 << i, m); \ 18 if (m >= y) \ 19 { \ 20 res |= 1; \ 21 printf ("which is bogus!\n"); \ 22 } \ 23 } while (0) 24 25 TEST (0.05); 26 TEST (0.1); 27 TEST (0.5); 28 } 29 30 return res; 31 } 32 33