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

@ -41,7 +41,7 @@ namespace spot
/// If no equivalent deterministic TBA with \a target_state_number
/// states is found, a null pointer
SPOT_API tgba_digraph_ptr
dtba_sat_synthetize(const const_tgba_ptr& a,
dtba_sat_synthetize(const const_tgba_digraph_ptr& a,
int target_state_number,
bool state_based = false);
@ -52,7 +52,8 @@ namespace spot
///
/// If no smaller TBA exist, this returns a null pointer.
SPOT_API tgba_digraph_ptr
dtba_sat_minimize(const const_tgba_ptr& a, bool state_based = false);
dtba_sat_minimize(const const_tgba_digraph_ptr& a,
bool state_based = false);
/// \brief Attempt to minimize a deterministic TBA with a SAT solver.
///
@ -61,7 +62,7 @@ namespace spot
//
/// If no smaller TBA exist, this returns a null pointer.
SPOT_API tgba_digraph_ptr
dtba_sat_minimize_dichotomy(const const_tgba_ptr& a,
dtba_sat_minimize_dichotomy(const const_tgba_digraph_ptr& a,
bool state_based = false);
}