Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions regression/cbmc-library/__builtin_fabs/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__builtin_fabs/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__builtin_fabsf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__builtin_fabsf/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__builtin_fabsl/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__builtin_fabsl/test.desc

This file was deleted.

29 changes: 29 additions & 0 deletions regression/cbmc-library/__fpclassify/main.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <assert.h>
#include <float.h>
#include <math.h>

#ifdef __GNUC__
Expand Down Expand Up @@ -49,5 +50,33 @@ int main(void)
simplifiedInductiveStepHunt(g);
#endif

// Visual Studio needs to be 2013 onwards
#if defined(_MSC_VER) && !defined(__CYGWIN__) && _MSC_VER < 1800

// see http://www.johndcook.com/math_h.html

#else
assert(fpclassify(DBL_MAX + DBL_MAX) == FP_INFINITE);
assert(fpclassify(0 * (DBL_MAX + DBL_MAX)) == FP_NAN);
assert(fpclassify(1.0) == FP_NORMAL);
assert(fpclassify(DBL_MIN) == FP_NORMAL);
assert(fpclassify(DBL_MIN / 2) == FP_SUBNORMAL);
assert(fpclassify(-0.0) == FP_ZERO);
#endif

#if !defined(__clang__) && defined(__GNUC__)
assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MAX + DBL_MAX) == 1);
assert(__builtin_fpclassify(0, 1, 2, 3, 4, 0 * (DBL_MAX + DBL_MAX)) == 0);
assert(__builtin_fpclassify(0, 1, 2, 3, 4, 1.0) == 2);
assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MIN) == 2);
assert(__builtin_fpclassify(0, 1, 2, 3, 4, DBL_MIN / 2) == 3);
assert(__builtin_fpclassify(0, 1, 2, 3, 4, -0.0) == 4);

// these are compile-time
_Static_assert(
__builtin_fpclassify(0, 1, 2, 3, 4, -0.0) == 4,
"__builtin_fpclassify is constant");
#endif

return 0;
}
9 changes: 0 additions & 9 deletions regression/cbmc-library/__isinf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isinf/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isinff/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isinff/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isinfl/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isinfl/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isnan/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isnan/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isnanf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isnanf/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isnanl/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isnanl/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__isnormalf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__isnormalf/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__signbit/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__signbit/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/__signbitf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/__signbitf/test.desc

This file was deleted.

15 changes: 13 additions & 2 deletions regression/cbmc-library/isfinite/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,18 @@

int main()
{
isfinite();
assert(0);
assert(isfinite(1.0));
assert(isfinite(1.0f));
assert(isfinite(1.0l));
float f;
assert(
!!isfinite(f) == (fpclassify(f) != FP_NAN && fpclassify(f) != FP_INFINITE));
double d;
assert(
!!isfinite(d) == (fpclassify(d) != FP_NAN && fpclassify(d) != FP_INFINITE));
long double ld;
assert(
!!isfinite(ld) ==
(fpclassify(ld) != FP_NAN && fpclassify(ld) != FP_INFINITE));
return 0;
}
4 changes: 2 additions & 2 deletions regression/cbmc-library/isfinite/test.desc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
KNOWNBUG
CORE
main.c
--pointer-check --bounds-check

^EXIT=0$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
Expand Down
16 changes: 16 additions & 0 deletions regression/cbmc-library/isinf/main.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <assert.h>
#include <float.h>
#include <math.h>

#ifdef __GNUC__
Expand All @@ -21,5 +22,20 @@ int main(void)
f00(f);
#endif

#if !defined(__clang__) && defined(__GNUC__)
assert(__builtin_isinf(DBL_MAX + DBL_MAX) == 1);
assert(__builtin_isinf(0.0) == 0);
assert(__builtin_isinf(-(DBL_MAX + DBL_MAX)) == 1);

assert(__builtin_isinf_sign(DBL_MAX + DBL_MAX) == 1);
assert(__builtin_isinf_sign(0.0) == 0);
assert(__builtin_isinf_sign(-(DBL_MAX + DBL_MAX)) == -1);

_Static_assert(!__builtin_isinf(0.0), "__builtin_isinf is constant");

_Static_assert(
__builtin_isinf_sign(0.0) == 0, "__builtin_isinf_sign is constant");
#endif

return 0;
}
9 changes: 0 additions & 9 deletions regression/cbmc-library/isinff/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/isinff/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/isinfl/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/isinfl/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/isnanf/main.c

This file was deleted.

8 changes: 0 additions & 8 deletions regression/cbmc-library/isnanf/test.desc

This file was deleted.

9 changes: 0 additions & 9 deletions regression/cbmc-library/isnanl/main.c

This file was deleted.

Loading
Loading