Skip to content

Commit 177f33b

Browse files
committed
fixup #8538 -- correct rounding modes for floor, trunc
This fixes the rounding modes used for the floor and trunc C library functions.
1 parent be99f47 commit 177f33b

File tree

19 files changed

+78
-45
lines changed

19 files changed

+78
-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: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
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+
assert(signbit(floorl(-0.0l)));
811
return 0;
912
}

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)