mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] added test to check correct handling of the sign of the modulo operation
This commit is contained in:
parent
78c8fbc7ce
commit
8c351278ac
12
test/libsolidity/smtCheckerTests/operators/mod_signed.sol
Normal file
12
test/libsolidity/smtCheckerTests/operators/mod_signed.sol
Normal file
@ -0,0 +1,12 @@
|
||||
pragma experimental SMTChecker;
|
||||
contract C {
|
||||
function f(int x, int y) public pure {
|
||||
require(y != 0);
|
||||
require(x == 42);
|
||||
int z1 = x % y;
|
||||
int z2 = -x % y;
|
||||
assert(z1 == -z2);
|
||||
assert((x >= 0 && z1 >=0) || (x <= 0 && z1 <= 0));
|
||||
}
|
||||
}
|
||||
// ----
|
Loading…
Reference in New Issue
Block a user