* src/tgbaalgos/scc.cc (dump_scc_dot): Use a bit vector instead of
a map to track visited SCC since they are sequentially numbered.
This commit is contained in:
parent
15b3b9e07d
commit
a375972f5c
2 changed files with 9 additions and 6 deletions
|
|
@ -1,3 +1,8 @@
|
||||||
|
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
|
* src/tgbaalgos/scc.cc (dump_scc_dot): Use a bit vector instead of
|
||||||
|
a map to track visited SCC since they are sequentially numbered.
|
||||||
|
|
||||||
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
2009-05-28 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
Number states using negative values and SCCs using nonnegative
|
Number states using negative values and SCCs using nonnegative
|
||||||
|
|
|
||||||
|
|
@ -360,9 +360,8 @@ namespace spot
|
||||||
int start = m.initial();
|
int start = m.initial();
|
||||||
out << " i -> " << start << std::endl;
|
out << " i -> " << start << std::endl;
|
||||||
|
|
||||||
typedef std::set<int> seen_map;
|
std::vector<bool> seen(m.scc_count());
|
||||||
seen_map seen;
|
seen[start] = true;
|
||||||
seen.insert(start);
|
|
||||||
|
|
||||||
std::queue<int> q;
|
std::queue<int> q;
|
||||||
q.push(start);
|
q.push(start);
|
||||||
|
|
@ -412,11 +411,10 @@ namespace spot
|
||||||
bdd_print_formula(out, m.get_aut()->get_dict(), label);
|
bdd_print_formula(out, m.get_aut()->get_dict(), label);
|
||||||
out << "\"]" << std::endl;
|
out << "\"]" << std::endl;
|
||||||
|
|
||||||
seen_map::const_iterator it = seen.find(dest);
|
if (seen[dest])
|
||||||
if (it != seen.end())
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
seen.insert(dest);
|
seen[dest] = true;
|
||||||
q.push(dest);
|
q.push(dest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue