Skip to content

Commit f55f636

Browse files
authored
Merge pull request #8597 from diffblue/fixup-8538
fixup #8538 -- correct rounding modes for `floor`, `trunc`
2 parents 159af34 + 968c28f commit f55f636

File tree

22 files changed

+120
-45
lines changed

22 files changed

+120
-45
lines changed

regression/cbmc-library/floor-01/main.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
int main()
55
{
6-
floor();
7-
assert(0);
6+
assert(floor(1.1) == 1.0);
7+
assert(floor(1.9) == 1.0);
8+
assert(floor(-1.1) == -2.0);
9+
assert(floor(-1.9) == -2.0);
10+
assert(signbit(floor(-0.0)));
811
return 0;
912
}

regression/cbmc-library/floor-01/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
KNOWNBUG
1+
CORE
22
main.c
3-
--pointer-check --bounds-check
3+
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$

regression/cbmc-library/floorf-01/main.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
int main()
55
{
6-
floorf();
7-
assert(0);
6+
assert(floorf(1.1f) == 1.0f);
7+
assert(floorf(1.9f) == 1.0f);
8+
assert(floorf(-1.1f) == -2.0f);
9+
assert(floorf(-1.9f) == -2.0f);
10+
assert(signbit(floorf(-0.0f)));
811
return 0;
912
}

regression/cbmc-library/floorf-01/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
KNOWNBUG
1+
CORE
22
main.c
3-
--pointer-check --bounds-check
3+
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$

regression/cbmc-library/floorl-01/main.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@
33

44
int main()
55
{
6-
floorl();
7-
assert(0);
6+
assert(floorl(1.1l) == 1.0l);
7+
assert(floorl(1.9l) == 1.0l);
8+
assert(floorl(-1.1l) == -2.0l);
9+
assert(floorl(-1.9l) == -2.0l);
10+
11+
#if !defined(__APPLE__) || __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ >= 150000
12+
assert(signbit(floorl(-0.0l)));
13+
#endif
14+
815
return 0;
916
}

regression/cbmc-library/floorl-01/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
KNOWNBUG
1+
CORE
22
main.c
3-
--pointer-check --bounds-check
3+
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$

regression/cbmc-library/round-01/main.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33

44
int main()
55
{
6-
round();
7-
assert(0);
6+
assert(round(1.1) == 1.0);
7+
assert(round(1.5) == 2.0);
8+
assert(round(1.9) == 2.0);
9+
assert(round(-1.1) == -1.0);
10+
assert(round(-1.5) == -2.0);
11+
assert(round(-1.9) == -2.0);
12+
assert(signbit(round(-0.0)));
813
return 0;
914
}

regression/cbmc-library/round-01/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
KNOWNBUG
1+
CORE
22
main.c
3-
--pointer-check --bounds-check
3+
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$

regression/cbmc-library/roundf-01/main.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33

44
int main()
55
{
6-
roundf();
7-
assert(0);
6+
assert(roundf(1.1f) == 1.0f);
7+
assert(roundf(1.5f) == 2.0f);
8+
assert(roundf(1.9f) == 2.0f);
9+
assert(roundf(-1.1f) == -1.0f);
10+
assert(roundf(-1.5f) == -2.0f);
11+
assert(roundf(-1.9f) == -2.0f);
12+
assert(signbit(roundf(-0.0f)));
813
return 0;
914
}

regression/cbmc-library/roundf-01/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
KNOWNBUG
1+
CORE
22
main.c
3-
--pointer-check --bounds-check
3+
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$

0 commit comments

Comments
 (0)