diff options
author | RustanLeino <leino@microsoft.com> | 2016-08-17 13:40:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-17 13:40:57 -0700 |
commit | 12d1543333babd202d76e259418dd03c0c7c56c3 (patch) | |
tree | 69bd181ccb97621378ab630a1357bd5583cc96a8 /Test/floats/float5.bpl | |
parent | 529b1bc37b6da3f40dc85aef4cf252e9c98dd566 (diff) | |
parent | 2b64144fb02b68d00188ee81c27afa5fbc026b5b (diff) |
Merge pull request #35 from Checkmate50/master
Floating Point Support
Diffstat (limited to 'Test/floats/float5.bpl')
-rw-r--r-- | Test/floats/float5.bpl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Test/floats/float5.bpl b/Test/floats/float5.bpl new file mode 100644 index 00000000..12b19cf5 --- /dev/null +++ b/Test/floats/float5.bpl @@ -0,0 +1,23 @@ +// RUN: %boogie -proverWarnings:1 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" + +function {:builtin "(_ to_fp 8 23) RNE"} TO_FLOAT823_INT(int) returns (float23e8); +function {:builtin "(_ to_fp 8 23) RNE"} TO_FLOAT823_REAL(real) returns (float23e8); +function {:builtin "(_ to_fp 8 23) RNE"} TO_FLOAT823_BV31(bv31) returns (float23e8); +function {:builtin "(_ to_fp 8 23) RNE"} TO_FLOAT823_BV32(bv32) returns (float23e8); +function {:builtin "(_ to_fp 8 23) RNE"} TO_FLOAT823_FLOAT824(float24e8) returns (float24e8); +function {:builtin "(_ to_fp 8 24) RNE"} TO_FLOAT824_FLOAT823(float23e8) returns (float24e8); + +procedure foo(x : float24e8) returns (r : float24e8) { + r := TO_FLOAT823_INT(5); // Error + r := TO_FLOAT823_REAL(5.0); // Error + r := TO_FLOAT823_BV31(0bv31); // Error + r := TO_FLOAT823_BV32(0bv32); // Error + r := TO_FLOAT823_FLOAT824(0e0f24e8); // Error + r := TO_FLOAT824_FLOAT823(0e0f23e8); // Error + + r := TO_FLOAT823_FLOAT824(x); // Error + r := TO_FLOAT824_FLOAT823(x); // Error + + return; +}
\ No newline at end of file |