mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Implement inner xor.
This commit is contained in:
parent
68bfbdb2a6
commit
5c1ecce2a3
@ -844,6 +844,11 @@ void BooleanLPSolver::addBooleanEquality(Literal const& _left, smtutil::Expressi
|
||||
state().clauses.emplace_back(Clause{vector<Literal>{_left, negate(a), negate(b)}});
|
||||
state().clauses.emplace_back(Clause{vector<Literal>{_left, a, b}});
|
||||
}
|
||||
else if (_right.name == "xor")
|
||||
{
|
||||
solAssert(_right.arguments.size() == 2);
|
||||
addBooleanEquality(negate(_left), _right.arguments.at(0) == _right.arguments.at(1), move(_letBindings));
|
||||
}
|
||||
else
|
||||
solAssert(false, "Unsupported operation: " + _right.name);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user