sccinfo: store live states in a separate stack

Suggested by Etienne.

The command in #96 now takes 9min 35s.

* src/twaalgos/sccinfo.cc, src/twaalgos/sccinfo.hh: Here.
This commit is contained in:
Alexandre Duret-Lutz 2015-07-08 14:14:14 +02:00
parent c8cf86b081
commit b13b591f11
2 changed files with 22 additions and 19 deletions

View file

@ -35,7 +35,7 @@ namespace spot
protected:
scc_succs succ_;
acc_cond::mark_t acc_;
std::list<unsigned> states_; // States of the component
std::vector<unsigned> states_; // States of the component
bool trivial_:1;
bool accepting_:1; // Necessarily accepting
bool rejecting_:1; // Necessarily rejecting
@ -86,7 +86,7 @@ namespace spot
return acc_;
}
const std::list<unsigned>& states() const
const std::vector<unsigned>& states() const
{
return states_;
}
@ -149,7 +149,7 @@ namespace spot
auto rend() const
SPOT_RETURN(node_.rend());
const std::list<unsigned>& states_of(unsigned scc) const
const std::vector<unsigned>& states_of(unsigned scc) const
{
return node(scc).states();
}