Skip to content

Commit 72a0379

Browse files
author
Daniel Kroening
committed
test __builtin_isinf, __builtin_isinf_sign, __builtin_isnormal
1 parent a69c603 commit 72a0379

File tree

1 file changed

+18
-0
lines changed
  • regression/cbmc/Float_lib1

1 file changed

+18
-0
lines changed

regression/cbmc/Float_lib1/main.c

+18
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,27 @@ int main() {
2727
assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MIN/2)==3);
2828
assert(__builtin_fpclassify(0, 1, 2, 3, 4, -0.0)==4);
2929

30+
assert(__builtin_isinf(DBL_MAX+DBL_MAX)==1);
31+
assert(__builtin_isinf(0.0)==0);
32+
assert(__builtin_isinf(-(DBL_MAX+DBL_MAX))==1);
33+
34+
assert(__builtin_isinf_sign(DBL_MAX+DBL_MAX)==1);
35+
assert(__builtin_isinf_sign(0.0)==0);
36+
assert(__builtin_isinf_sign(-(DBL_MAX+DBL_MAX))==-1);
37+
3038
// these are compile-time
3139
_Static_assert(__builtin_fpclassify(0, 1, 2, 3, 4, -0.0)==4,
3240
"__builtin_fpclassify is constant");
41+
42+
_Static_assert(__builtin_isnormal(DBL_MIN),
43+
"__builtin_isnormal is constant");
44+
45+
_Static_assert(!__builtin_isinf(0),
46+
"__builtin_isinf is constant");
47+
48+
_Static_assert(__builtin_isinf_sign(0)==0,
49+
"__builtin_isinf_sign is constant");
50+
3351
#endif
3452

3553
assert(signbit(-1.0)!=0);

0 commit comments

Comments
 (0)