Commit graph

6 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
96a7a49c52 Store the scc_map_ as a vector instead of a std::map. There is no
point in using a map since the SCC are numbered in sequence.

* src/tgbaalgos/scc.hh (scc_map::relabel_component): Return the
number of the SCC instead of taking it as argument.
(scc_map::scc_num_): Delete this variable.  scc_map_.size() gives
the same information.
(scc_map::scc_map_type): Define using std::vector instead of
std::map.
* src/tgbaalgos/scc.cc: Adjust all uses.
2009-05-28 18:42:18 +02:00
Alexandre Duret-Lutz
07ead6134e Keep track of conditions in SCC, and add a more verbose dump.
* src/tgbaalgos/scc.hh (scc_map::scc_of_state,
scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
New functions.
(scc_map::scc::conds): New attribute.
(dump_scc_dot): Take an optional VERBOSE argument.
* src/tgbaalgos/scc.cc (scc_map::scc_of_state,
scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
Implement these new functions.
(dump_scc_dot): Display number of states, conditions and
acceptance conditions, with VERBOSE is set.
(build_map): Fill the new scc_map::scc::cond field.
2009-05-28 18:41:58 +02:00
Alexandre Duret-Lutz
cbfdcca1f9 Fix assertion in scc.cc 2009-05-28 18:24:34 +02:00
Alexandre Duret-Lutz
7998fff056 Compute more statistics about SCCs. 2008-12-11 13:06:58 +01:00
Alexandre Duret-Lutz
b2f7c2d76d Fix tracking of SCCs on the search stack 2008-12-11 13:06:32 +01:00
Alexandre Duret-Lutz
c44d6277f2 Introduce scc.cc to compute SCC stats and map. 2008-12-10 18:14:44 +01:00