replace sba_explicit_* by tgba_digraph, and use tgba_digraph is postproc
This is a huge patch. tgba_digraph are equiped with some boolean properties that can be used to indicate whether they represent SBA (and will carry more informations later). All algorithms that produce or use sba_explicit_* automata are changed to use tgba_digraph. postproc has been rewritten using only tgba_digraph, and this required changing the return types of many algorithms from tgba* to tgba_digraph*. * src/bin/dstar2tgba.cc, src/bin/ltlfilt.cc, src/dstarparse/dra2ba.cc, src/dstarparse/dstar2tgba.cc, src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc, src/dstarparse/public.hh, src/tgba/tgbagraph.hh, src/tgba/tgbasafracomplement.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/minimize.hh, src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccinfo.cc, src/tgbaalgos/stripacc.cc, src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh, src/tgbatest/ltl2tgba.cc, wrap/python/spot.i: Update.
This commit is contained in:
parent
637aeff2d3
commit
6c9d5e4bb3
26 changed files with 296 additions and 257 deletions
|
|
@ -378,13 +378,22 @@ namespace std {
|
|||
%inline %{
|
||||
|
||||
// A variant of minimize_obligation() that always return a new object.
|
||||
const spot::tgba*
|
||||
const spot::tgba_digraph*
|
||||
minimize_obligation_new(const spot::tgba* a, const spot::ltl::formula* f)
|
||||
{
|
||||
const tgba* res = spot::minimize_obligation(a, f);
|
||||
auto aa = dynamic_cast<const spot::tgba_digraph*>(a);
|
||||
bool freeit = false;
|
||||
if (!aa)
|
||||
{
|
||||
freeit = true;
|
||||
aa = tgba_dupexp_dfs(a);
|
||||
}
|
||||
auto res = spot::minimize_obligation(aa, f);
|
||||
// Return 0 if the output is the same as the input, otherwise
|
||||
// it is hard for swig to know if the output is "new" or not.
|
||||
if (res == a)
|
||||
if (freeit)
|
||||
delete aa;
|
||||
if (res == aa)
|
||||
return 0;
|
||||
else
|
||||
return res;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue