diff --git a/src/tgbaalgos/powerset.cc b/src/tgbaalgos/powerset.cc index ca257cf00..50ca8bbad 100644 --- a/src/tgbaalgos/powerset.cc +++ b/src/tgbaalgos/powerset.cc @@ -21,7 +21,6 @@ // along with this program. If not, see . #include -#include #include #include #include "powerset.hh" @@ -46,7 +45,7 @@ namespace spot { typedef power_map::power_state power_state; typedef std::map power_set; - typedef std::deque todo_list; + typedef std::vector todo_list; power_set seen; todo_list todo; @@ -63,12 +62,12 @@ namespace spot while (!todo.empty()) { - power_state src = todo.front(); - todo.pop_front(); + power_state src = todo.back(); + todo.pop_back(); // Compute all variables occurring on outgoing arcs. bdd all_vars = bddtrue; for (auto s: src) - for (auto i: aut->out(s)) + for (auto& i: aut->out(s)) all_vars &= bdd_support(i.cond); bdd all_conds = bddtrue;