dtbasat,dtgbasat: rewrite using the tgba_digraph interface

This gets rid of many state*/int conversions.  We now use scc_info
instead of scc_map.  Finally the loops are now all 0-based.

* src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh (weak_sccs): New
method.
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh,
src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh: Use the
tgba_digraph interface.
* src/tgbatest/ltl2tgba.cc: Adjust calls.
This commit is contained in:
Alexandre Duret-Lutz 2014-08-20 16:11:50 +02:00
parent 99d28c3cc2
commit edb220af6a
7 changed files with 381 additions and 425 deletions

View file

@ -1369,7 +1369,8 @@ checked_main(int argc, char** argv)
if (opt_dtbasat >= 0)
{
tm.start("dtbasat");
auto satminimized = dtba_sat_synthetize(a, opt_dtbasat);
auto satminimized =
dtba_sat_synthetize(ensure_digraph(a), opt_dtbasat);
tm.stop("dtbasat");
if (satminimized)
a = satminimized;
@ -1377,7 +1378,8 @@ checked_main(int argc, char** argv)
else if (opt_dtgbasat >= 0)
{
tm.start("dtgbasat");
auto satminimized = dtgba_sat_minimize(a, opt_dtgbasat);
auto satminimized = dtgba_sat_minimize(ensure_digraph(a),
opt_dtgbasat);
tm.stop("dtgbasat");
if (satminimized)
a = satminimized;