6 test_isunordered(FLOAT x
, FLOAT y
, int true)
8 if (__builtin_isunordered(x
, y
))
21 test_isless(FLOAT x
, FLOAT y
, int true)
23 if (__builtin_isless(x
, y
))
36 test_islessequal(FLOAT x
, FLOAT y
, int true)
38 if (__builtin_islessequal(x
, y
))
51 test_isgreater(FLOAT x
, FLOAT y
, int true)
53 if (__builtin_isgreater(x
, y
))
66 test_isgreaterequal(FLOAT x
, FLOAT y
, int true)
68 if (__builtin_isgreaterequal(x
, y
))
81 test_islessgreater(FLOAT x
, FLOAT y
, int true)
83 if (__builtin_islessgreater(x
, y
))
95 #define NAN (0.0 / 0.0)
111 static struct try const data
[] =
113 { NAN
, NAN
, 1, 0, 0, 0, 0, 0 },
114 { 0.0, NAN
, 1, 0, 0, 0, 0, 0 },
115 { NAN
, 0.0, 1, 0, 0, 0, 0, 0 },
116 { 0.0, 0.0, 0, 0, 1, 0, 1, 0 },
117 { 1.0, 2.0, 0, 1, 1, 0, 0, 1 },
118 { 2.0, 1.0, 0, 0, 0, 1, 1, 1 },
121 const int n
= sizeof(data
) / sizeof(data
[0]);
124 for (i
= 0; i
< n
; ++i
)
126 test_isunordered (data
[i
].x
, data
[i
].y
, data
[i
].unord
);
127 test_isless (data
[i
].x
, data
[i
].y
, data
[i
].lt
);
128 test_islessequal (data
[i
].x
, data
[i
].y
, data
[i
].le
);
129 test_isgreater (data
[i
].x
, data
[i
].y
, data
[i
].gt
);
130 test_isgreaterequal (data
[i
].x
, data
[i
].y
, data
[i
].ge
);
131 test_islessgreater (data
[i
].x
, data
[i
].y
, data
[i
].lg
);