3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00

fix initialization/finalization order for bdd

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-06-19 23:11:06 -07:00
parent 947ea66cad
commit 4bcfcecbbb
2 changed files with 5 additions and 4 deletions

View file

@ -1009,7 +1009,7 @@ namespace dd {
bool carry = false;
result.push_back(b[0]);
for (unsigned i = 1; i < b.size(); ++i) {
carry |= b[i-1];
carry = carry || b[i-1];
result.push_back(carry ^ b[i]);
}
return result;

View file

@ -56,13 +56,13 @@ namespace polysat {
typedef ptr_vector<constraint> constraints;
reslimit& m_lim;
linear_solver m_linear_solver;
dd::bdd_manager m_bdd;
scoped_ptr_vector<dd::pdd_manager> m_pdd;
scoped_ptr_vector<dd::fdd> m_bits;
dd::bdd_manager m_bdd;
dep_value_manager m_value_manager;
small_object_allocator m_alloc;
poly_dep_manager m_dm;
linear_solver m_linear_solver;
constraints_and_clauses m_conflict;
// constraints m_stash_just;
var_queue m_free_vars;
@ -204,7 +204,8 @@ namespace polysat {
void decide_bool(sat::literal lit, clause& lemma);
void propagate_bool(sat::literal lit, clause* reason);
void assign_core(pvar v, rational const& val, justification const& j);
void assign_core(pvar v, rational const& val, justification
const& j);
bool is_assigned(pvar v) const { return !m_justification[v].is_unassigned(); }