Overhaul bdddict to speedup bdd->formula lookups.
* src/tgba/bdddict.hh, src/tgba/bdddict.cc: Store variable types and associated formula in a vector indexed by BDD variable numbers, instead of using several maps. * src/evtgbaalgos/tgba2evtgba.cc, src/tgba/bddprint.cc, src/tgba/formula2bdd.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/save.cc: Adjust usage.
This commit is contained in:
parent
c5b294c786
commit
191fa370e2
7 changed files with 218 additions and 211 deletions
|
|
@ -283,16 +283,9 @@ namespace spot
|
|||
vf_map::const_iterator isi = next_formula_map.find(var);
|
||||
if (isi != next_formula_map.end())
|
||||
return isi->second->clone();
|
||||
isi = dict->acc_formula_map.find(var);
|
||||
if (isi != dict->acc_formula_map.end())
|
||||
return isi->second->clone();
|
||||
isi = dict->var_formula_map.find(var);
|
||||
if (isi != dict->var_formula_map.end())
|
||||
return isi->second->clone();
|
||||
assert(0);
|
||||
// Never reached, but some GCC versions complain about
|
||||
// a missing return otherwise.
|
||||
return 0;
|
||||
const bdd_dict::bdd_info& i = dict->bdd_map[var];
|
||||
assert(i.type == bdd_dict::acc || i.type == bdd_dict::var);
|
||||
return i.f->clone();
|
||||
}
|
||||
|
||||
bdd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue