3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 04:15:51 +00:00
This commit is contained in:
Jakob Rath 2022-07-21 12:38:00 +02:00
parent d4592f2abf
commit 48c6bea331
8 changed files with 48 additions and 50 deletions

View file

@ -22,11 +22,11 @@ Author:
namespace polysat {
enum ckind_t { ule_t, mul_ovfl_t, smul_fl_t, op_t };
enum ckind_t { ule_t, umul_ovfl_t, smul_fl_t, op_t };
class constraint;
class ule_constraint;
class mul_ovfl_constraint;
class umul_ovfl_constraint;
class smul_fl_constraint;
class op_constraint;
class signed_constraint;
@ -99,7 +99,7 @@ namespace polysat {
signed_constraint ult(pdd const& a, pdd const& b);
signed_constraint sle(pdd const& a, pdd const& b);
signed_constraint slt(pdd const& a, pdd const& b);
signed_constraint mul_ovfl(pdd const& p, pdd const& q);
signed_constraint umul_ovfl(pdd const& p, pdd const& q);
signed_constraint smul_ovfl(pdd const& p, pdd const& q);
signed_constraint smul_udfl(pdd const& p, pdd const& q);
signed_constraint bit(pdd const& p, unsigned i);
@ -142,7 +142,7 @@ namespace polysat {
friend class constraint_manager;
friend class clause;
friend class ule_constraint;
friend class mul_ovfl_constraint;
friend class umul_ovfl_constraint;
friend class smul_fl_constraint;
friend class op_constraint;
@ -169,7 +169,7 @@ namespace polysat {
virtual bool is_eq() const { return false; }
virtual bool is_diseq() const { return false; }
bool is_ule() const { return m_kind == ckind_t::ule_t; }
bool is_mul_ovfl() const { return m_kind == ckind_t::mul_ovfl_t; }
bool is_umul_ovfl() const { return m_kind == ckind_t::umul_ovfl_t; }
bool is_smul_fl() const { return m_kind == ckind_t::smul_fl_t; }
bool is_op() const { return m_kind == ckind_t::op_t; }
ckind_t kind() const { return m_kind; }
@ -186,8 +186,8 @@ namespace polysat {
ule_constraint& to_ule();
ule_constraint const& to_ule() const;
mul_ovfl_constraint& to_mul_ovfl();
mul_ovfl_constraint const& to_mul_ovfl() const;
umul_ovfl_constraint& to_umul_ovfl();
umul_ovfl_constraint const& to_umul_ovfl() const;
smul_fl_constraint& to_smul_fl();
smul_fl_constraint const& to_smul_fl() const;
op_constraint& to_op();