2 test_isunordered(double x
, double y
, int true)
4 if (__builtin_isunordered(x
, y
))
17 test_isless(double x
, double y
, int true)
19 if (__builtin_isless(x
, y
))
32 test_islessequal(double x
, double y
, int true)
34 if (__builtin_islessequal(x
, y
))
47 test_isgreater(double x
, double y
, int true)
49 if (__builtin_isgreater(x
, y
))
62 test_isgreaterequal(double x
, double y
, int true)
64 if (__builtin_isgreaterequal(x
, y
))
77 test_islessgreater(double x
, double y
, int true)
79 if (__builtin_islessgreater(x
, y
))
91 #define NAN (0.0 / 0.0)
107 static struct try const data
[] =
109 { NAN
, NAN
, 1, 0, 0, 0, 0, 0 },
110 { 0.0, NAN
, 1, 0, 0, 0, 0, 0 },
111 { NAN
, 0.0, 1, 0, 0, 0, 0, 0 },
112 { 0.0, 0.0, 0, 0, 1, 0, 1, 0 },
113 { 1.0, 2.0, 0, 1, 1, 0, 0, 1 },
114 { 2.0, 1.0, 0, 0, 0, 1, 1, 1 },
117 const int n
= sizeof(data
) / sizeof(data
[0]);
120 for (i
= 0; i
< n
; ++i
)
122 test_isunordered (data
[i
].x
, data
[i
].y
, data
[i
].unord
);
123 test_isless (data
[i
].x
, data
[i
].y
, data
[i
].lt
);
124 test_islessequal (data
[i
].x
, data
[i
].y
, data
[i
].le
);
125 test_isgreater (data
[i
].x
, data
[i
].y
, data
[i
].gt
);
126 test_isgreaterequal (data
[i
].x
, data
[i
].y
, data
[i
].ge
);
127 test_islessgreater (data
[i
].x
, data
[i
].y
, data
[i
].lg
);