3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-12-08 16:37:08 -08:00
parent 6c2e7e7675
commit 24de0a9b90
2 changed files with 10 additions and 10 deletions

View file

@ -44,14 +44,13 @@ void theory_seq::solution_map::update(expr* e, expr* r, enode_pair_dependency* d
expr* theory_seq::solution_map::find(expr* e, enode_pair_dependency*& d) {
std::pair<expr*, enode_pair_dependency*> value;
if (m_map.find(e, value)) {
d = value.second;
return value.first;
}
else {
d = 0;
return e;
d = 0;
// TBD add path compression?
while (m_map.find(e, value)) {
d = d ? m_dm.mk_join(d, value.second) : value.second;;
e = value.first;
}
return e;
}
void theory_seq::solution_map::pop_scope(unsigned num_scopes) {
@ -77,7 +76,7 @@ theory_seq::theory_seq(ast_manager& m):
theory(m.mk_family_id("seq")),
m(m),
m_dam(m_dep_array_value_manager, m_alloc),
m_rep(m),
m_rep(m, m_dm),
m_ineqs(m),
m_axioms(m),
m_axioms_head(0),