powerset: deal with accepting sinks more effectively
Part of #444. * spot/twaalgos/powerset.cc, spot/twaalgos/powerset.hh: Implement accepting sink handling. * spot/twaalgos/minimize.cc (minimize_wdba): Pass sinks to tgba_powerset. * spot/misc/bitvect.hh: Add an interesects method. * tests/core/ltl2tgba2.test: More tests. * NEWS: Mention this new feature.
This commit is contained in:
parent
eeaed5592f
commit
48edfd80c2
6 changed files with 75 additions and 8 deletions
|
|
@ -94,14 +94,21 @@ namespace spot
|
|||
///
|
||||
/// If ab \a aborter is given, abort the construction whenever it
|
||||
/// would build an automaton that is too large, and return nullptr.
|
||||
///
|
||||
/// If a vector of accepting sinks is given, all power-state that
|
||||
/// contains any accepting sink will be merged into a single state
|
||||
/// with number 0.
|
||||
///
|
||||
//@{
|
||||
SPOT_API twa_graph_ptr
|
||||
tgba_powerset(const const_twa_graph_ptr& aut,
|
||||
power_map& pm, bool merge = true,
|
||||
const output_aborter* aborter = nullptr);
|
||||
const output_aborter* aborter = nullptr,
|
||||
std::vector<unsigned>* accepting_sinks = nullptr);
|
||||
SPOT_API twa_graph_ptr
|
||||
tgba_powerset(const const_twa_graph_ptr& aut,
|
||||
const output_aborter* aborter = nullptr);
|
||||
const output_aborter* aborter = nullptr,
|
||||
std::vector<unsigned>* accepting_sinks = nullptr);
|
||||
//@}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue