Logical operators.

This commit is contained in:
chriseth
2019-05-07 15:59:35 +02:00
parent 055254847e
commit c604481cef
3 changed files with 50 additions and 5 deletions
@@ -0,0 +1,17 @@
contract C {
function or(uint x) public returns (bool t, uint y) {
t = (x == 0 || ((x = 8) > 0));
y = x;
}
function and(uint x) public returns (bool t, uint y) {
t = (x == 0 && ((x = 8) > 0));
y = x;
}
}
// ====
// compileViaYul: true
// ----
// or(uint256): 0 -> true, 0
// and(uint256): 0 -> true, 8
// or(uint256): 1 -> true, 8
// and(uint256): 1 -> false, 1