3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-05 23:05:46 +00:00

don't need marks in bool_var_manager anymore

This commit is contained in:
Jakob Rath 2021-09-13 04:35:37 +02:00
parent 7b9726a95c
commit 71e97a4098
2 changed files with 6 additions and 29 deletions

View file

@ -25,20 +25,20 @@ namespace polysat {
m_lemma.push_back(nullptr);
return var;
}
else {
else {
sat::bool_var var = m_unused.back();
m_unused.pop_back();
SASSERT_EQ(m_level[var], UINT_MAX);
SASSERT_EQ(m_value[2*var], l_undef);
SASSERT_EQ(m_value[2*var+1], l_undef);
SASSERT_EQ(m_reason[var], nullptr);
SASSERT_EQ(m_lemma[var], nullptr);
SASSERT_EQ(m_value[2*var], l_undef);
SASSERT_EQ(m_value[2*var+1], l_undef);
SASSERT_EQ(m_reason[var], nullptr);
SASSERT_EQ(m_lemma[var], nullptr);
return var;
}
}
void bool_var_manager::del_var(sat::bool_var var) {
SASSERT(std::all_of(m_unused.begin(), m_unused.end(), [var](unsigned unused_var) { return var != unused_var; }));
SASSERT(std::count(m_unused.begin(), m_unused.end(), var) == 0);
auto lit = sat::literal(var);
m_value[lit.index()] = l_undef;
m_value[(~lit).index()] = l_undef;
@ -67,22 +67,6 @@ namespace polysat {
m_lemma[lit.var()] = nullptr;
}
void bool_var_manager::reset_marks() {
LOG_V("-------------------------- (reset boolean marks)");
m_marks.reserve(size());
m_clock++;
if (m_clock != 0)
return;
m_clock++;
m_marks.fill(0);
}
void bool_var_manager::set_mark(sat::bool_var var) {
LOG_V("Marking: b" << var);
SASSERT(var != sat::null_bool_var);
m_marks[var] = m_clock;
}
std::ostream& bool_var_manager::display(std::ostream& out) const {
for (sat::bool_var v = 0; v < size(); ++v) {
sat::literal lit{v};