3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-27 13:39:49 +00:00

Move bit-wise expressions to constraint_manager

This commit is contained in:
Jakob Rath 2022-11-07 14:00:02 +01:00
parent 7662427d92
commit a1736473a4
4 changed files with 64 additions and 73 deletions

View file

@ -36,7 +36,7 @@ namespace polysat {
class constraint_manager {
friend class constraint;
bool_var_manager& m_bvars;
solver& s;
// Constraints indexed by their boolean variable
ptr_vector<constraint> m_bv2constraint;
@ -75,7 +75,7 @@ namespace polysat {
void erase_bvar(constraint* c);
public:
constraint_manager(bool_var_manager& bvars);
constraint_manager(solver& s);
~constraint_manager();
void store(clause* cl, solver& s, bool value_propagate);
@ -102,6 +102,13 @@ namespace polysat {
signed_constraint lshr(pdd const& p, pdd const& q, pdd const& r);
signed_constraint band(pdd const& p, pdd const& q, pdd const& r);
pdd bnot(pdd const& p);
pdd band(pdd const& p, pdd const& q);
pdd bor(pdd const& p, pdd const& q);
pdd bxor(pdd const& p, pdd const& q);
pdd bnand(pdd const& p, pdd const& q);
pdd bnor(pdd const& p, pdd const& q);
constraint* const* begin() const { return m_constraints.data(); }
constraint* const* end() const { return m_constraints.data() + m_constraints.size(); }