Reuse Boolean->BDD translations performed during simplification.
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::ltl_to_bdd): Use boolean_to_bdd()
This commit is contained in:
parent
f590ca4e96
commit
b67852a5ff
1 changed files with 15 additions and 3 deletions
|
|
@ -1542,9 +1542,21 @@ namespace spot
|
||||||
if (i != m->end())
|
if (i != m->end())
|
||||||
return i->second;
|
return i->second;
|
||||||
|
|
||||||
|
translated t;
|
||||||
|
if (f->is_boolean())
|
||||||
|
{
|
||||||
|
t.symbolic = boolean_to_bdd(f);
|
||||||
|
t.has_rational = false;
|
||||||
|
t.has_marked = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
ltl_trad_visitor v(*this, mark_all, exprop);
|
ltl_trad_visitor v(*this, mark_all, exprop);
|
||||||
f->accept(v);
|
f->accept(v);
|
||||||
translated t = { v.result(), v.has_rational(), v.has_marked() };
|
t.symbolic = v.result();
|
||||||
|
t.has_rational = v.has_rational();
|
||||||
|
t.has_marked = v.has_marked();
|
||||||
|
}
|
||||||
|
|
||||||
return m->insert(std::make_pair(f->clone(), t)).first->second;
|
return m->insert(std::make_pair(f->clone(), t)).first->second;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue