We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 52595bd commit c3603e3Copy full SHA for c3603e3
regression/cbmc/Float_lib1/main.c
@@ -19,6 +19,19 @@ int main() {
19
assert(fpclassify(-0.0)==FP_ZERO);
20
#endif
21
22
+ #if !defined(__clang__) && defined(__GNUC__)
23
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MAX+DBL_MAX)==1);
24
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, 0*(DBL_MAX+DBL_MAX))==0);
25
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, 1.0)==2);
26
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MIN)==2);
27
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MIN/2)==3);
28
+ assert(__builtin_fpclassify(0, 1, 2, 3, 4, -0.0)==4);
29
+
30
+ // these are compile-time
31
+ _Static_assert(__builtin_fpclassify(0, 1, 2, 3, 4, -0.0)==4,
32
+ "__builtin_fpclassify is constant");
33
+ #endif
34
35
assert(signbit(-1.0)!=0);
36
assert(signbit(1.0)==0);
37
}
0 commit comments