3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-13 17:41:16 +00:00

Draft: Made division/remainder to op_constraints (not yet used - old code still called)

This commit is contained in:
Clemens Eisenhofer 2023-02-09 23:36:15 +01:00
parent e31eb9a6b1
commit 6b48b25beb
6 changed files with 219 additions and 6 deletions

View file

@ -87,6 +87,8 @@ namespace polysat {
signed_constraint mk_op_constraint(op_constraint::code op, pdd const& p, pdd const& q, pdd const& r);
pdd mk_op_term(op_constraint::code op, pdd const& p, pdd const& q);
std::pair<pdd, pdd> div_rem_op_constraint(const pdd& p, const pdd& q);
public:
constraint_manager(solver& s);
~constraint_manager();
@ -131,6 +133,9 @@ namespace polysat {
pdd bnand(pdd const& p, pdd const& q);
pdd bnor(pdd const& p, pdd const& q);
pdd pseudo_inv(pdd const& p);
pdd udiv(pdd const& a, pdd const& b);
pdd urem(pdd const& a, pdd const& b);
constraint* const* begin() const { return m_constraints.data(); }
constraint* const* end() const { return m_constraints.data() + m_constraints.size(); }