3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 04:15:51 +00:00

remove xor solver, tune dt_solver for enumeration case

This commit is contained in:
Nikolaj Bjorner 2021-02-27 17:17:39 -08:00
parent 830f314a3f
commit fb8e2e444e
10 changed files with 67 additions and 332 deletions

View file

@ -24,13 +24,11 @@ namespace ba {
enum class tag_t {
card_t,
pb_t,
xr_t
pb_t
};
class card;
class pb;
class xr;
class pb_base;
inline lbool value(sat::model const& m, literal l) { return l.sign() ? ~m[l.var()] : m[l.var()]; }
@ -82,14 +80,11 @@ namespace ba {
size_t obj_size() const { return m_obj_size; }
card& to_card();
pb& to_pb();
xr& to_xr();
card const& to_card() const;
pb const& to_pb() const;
xr const& to_xr() const;
pb_base const& to_pb_base() const;
bool is_card() const { return m_tag == tag_t::card_t; }
bool is_pb() const { return m_tag == tag_t::pb_t; }
bool is_xr() const { return m_tag == tag_t::xr_t; }
bool is_watched(solver_interface const& s, literal lit) const;
void unwatch_literal(solver_interface& s, literal lit);