Skip to content

Commit 4b899a7

Browse files
author
Rustan Leino
committed
Merge
2 parents e4f2bc9 + 4a258fc commit 4b899a7

File tree

3 files changed

+46
-4
lines changed

3 files changed

+46
-4
lines changed

Binaries/DafnyRuntime.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,13 +1253,13 @@ public int CompareTo(BigRational that) {
12531253
int asign = this.num.Sign;
12541254
int bsign = that.num.Sign;
12551255
if (asign < 0 && 0 <= bsign) {
1256-
return 1;
1256+
return -1;
12571257
} else if (asign <= 0 && 0 < bsign) {
1258-
return 1;
1259-
} else if (bsign < 0 && 0 <= asign) {
12601258
return -1;
1259+
} else if (bsign < 0 && 0 <= asign) {
1260+
return 1;
12611261
} else if (bsign <= 0 && 0 < asign) {
1262-
return -1;
1262+
return 1;
12631263
}
12641264
BigInteger aa, bb, dd;
12651265
Normalize(this, that, out aa, out bb, out dd);

Test/dafny4/Bug148.dfy

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// RUN: %dafny /compile:3 "%s" > "%t"
2+
// RUN: %diff "%s.expect" "%t"
3+
4+
method Main()
5+
{
6+
var zero : real := 0.0;
7+
var three : real := 3.0;
8+
var fifteen : real := 15.0;
9+
var negone : real := -1.0;
10+
var negthree : real := -3.0;
11+
12+
print zero <= fifteen, "\n"; // true
13+
print fifteen <= zero, "\n"; // false
14+
print negone <= zero, "\n"; // true
15+
print zero <= negone, "\n"; // false
16+
print negone <= fifteen, "\n"; // true
17+
print fifteen <= negone, "\n"; // false
18+
19+
print zero >= fifteen, "\n"; // false
20+
print fifteen >= zero, "\n"; // true
21+
print negone >= zero, "\n"; // false
22+
print zero >= negone, "\n"; // true
23+
print negone >= fifteen, "\n"; // false
24+
print fifteen >= negone, "\n"; // true
25+
}

Test/dafny4/Bug148.dfy.expect

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
Dafny program verifier finished with 2 verified, 0 errors
3+
Program compiled successfully
4+
Running...
5+
6+
True
7+
False
8+
True
9+
False
10+
True
11+
False
12+
False
13+
True
14+
False
15+
True
16+
False
17+
True

0 commit comments

Comments
 (0)