acc: move unsat_mark in acc_cond

so that we can optimize it when no Fin are used

* spot/twa/acc.cc, spot/twa/acc.hh: Do it.
* spot/twaalgos/complete.cc, spot/twaalgos/strength.cc: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2015-12-09 11:21:41 +01:00
parent 2d3e7cecf5
commit 9bbcf85b3a
4 changed files with 17 additions and 25 deletions

View file

@ -857,12 +857,14 @@ namespace spot
}
std::pair<bool, acc_cond::mark_t>
acc_cond::acc_code::unsat_mark() const
acc_cond::unsat_mark() const
{
if (empty())
if (is_tt())
return {false, 0U};
if (!uses_fin_acceptance())
return {true, 0U};
auto used = acc_cond::acc_code::used_sets();
auto used = code_.used_sets();
unsigned c = used.count();
unsigned max = used.max_set();
@ -884,7 +886,7 @@ namespace spot
}
}
bdd res = to_bdd_rec(&back(), &r[0]);
bdd res = to_bdd_rec(&code_.back(), &r[0]);
if (res == bddtrue)
return {false, 0U};