3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

add API for setting variable activity

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-02-15 12:05:24 -08:00
parent e4c6dcd84c
commit 89bf2d4368
22 changed files with 125 additions and 1 deletions

View file

@ -328,6 +328,11 @@ public:
return m_solver2->get_trail();
}
void set_activity(expr* lit, double activity) override {
m_solver1->set_activity(lit, activity);
m_solver2->set_activity(lit, activity);
}
proof * get_proof() override {
if (m_use_solver1_results)
return m_solver1->get_proof();

View file

@ -251,6 +251,8 @@ public:
virtual void get_levels(ptr_vector<expr> const& vars, unsigned_vector& depth) = 0;
virtual void set_activity(expr* lit, double activity) = 0;
class scoped_push {
solver& s;
bool m_nopop;

View file

@ -127,6 +127,10 @@ public:
return m_base->get_trail();
}
void set_activity(expr* var, double activity) override {
m_base->set_activity(var, activity);
}
lbool check_sat_core2(unsigned num_assumptions, expr * const * assumptions) override {
SASSERT(!m_pushed || get_scope_level() > 0);
m_proof.reset();

View file

@ -93,6 +93,11 @@ public:
throw default_exception("cannot retrieve trail from solvers created using tactcis");
}
void set_activity(expr* var, double activity) override {
throw default_exception("cannot set activity for solvers created using tactcis");
}
};
ast_manager& tactic2solver::get_manager() const { return m_assertions.get_manager(); }