complement: add a complement() function
* spot/twaalgos/complement.cc, spot/twaalgos/complement.hh (complement): New function. * bin/autfilt.cc, spot/twa/twa.cc, spot/twaalgos/contains.cc, spot/twaalgos/powerset.cc, spot/twaalgos/stutter.cc: Use it. * tests/core/complement.test: Adjust. * NEWS: Mention it.
This commit is contained in:
parent
4bb4aeb372
commit
948f99bc4e
9 changed files with 82 additions and 86 deletions
|
|
@ -49,6 +49,7 @@
|
|||
#include <spot/twaalgos/canonicalize.hh>
|
||||
#include <spot/twaalgos/cobuchi.hh>
|
||||
#include <spot/twaalgos/cleanacc.hh>
|
||||
#include <spot/twaalgos/complement.hh>
|
||||
#include <spot/twaalgos/contains.hh>
|
||||
#include <spot/twaalgos/degen.hh>
|
||||
#include <spot/twaalgos/dtwasat.hh>
|
||||
|
|
@ -318,7 +319,7 @@ static const argp_option options[] =
|
|||
{ "cleanup-acceptance", OPT_CLEAN_ACC, nullptr, 0,
|
||||
"remove unused acceptance sets from the automaton", 0 },
|
||||
{ "complement", OPT_COMPLEMENT, nullptr, 0,
|
||||
"complement each automaton (currently via determinization)", 0 },
|
||||
"complement each automaton (different strategies are used)", 0 },
|
||||
{ "complement-acceptance", OPT_COMPLEMENT_ACC, nullptr, 0,
|
||||
"complement the acceptance condition (without touching the automaton)",
|
||||
0 },
|
||||
|
|
@ -1500,7 +1501,7 @@ namespace
|
|||
|
||||
if (opt_complement)
|
||||
{
|
||||
aut = spot::dualize(ensure_deterministic(aut));
|
||||
aut = spot::complement(aut);
|
||||
aut->merge_edges();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue