* src/misc/minato.cc, src/misc/minato.hh: New files.
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them. * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Use minato_isop.
This commit is contained in:
parent
982c5efc6c
commit
c317154df4
5 changed files with 186 additions and 9 deletions
|
|
@ -1,5 +1,6 @@
|
|||
#include "misc/hash.hh"
|
||||
#include "misc/bddalloc.hh"
|
||||
#include "misc/minato.hh"
|
||||
#include "ltlast/visitor.hh"
|
||||
#include "ltlast/allnodes.hh"
|
||||
#include "ltlvisit/lunabbrev.hh"
|
||||
|
|
@ -440,15 +441,10 @@ namespace spot
|
|||
|
||||
std::string now = to_string(f);
|
||||
|
||||
bdd all = res;
|
||||
bdd outside = !all;
|
||||
while (all != bddfalse)
|
||||
minato_isop isop(res);
|
||||
bdd cube;
|
||||
while ((cube = isop.next()) != bddfalse)
|
||||
{
|
||||
|
||||
bdd cube = bdd_satone(all);
|
||||
cube = bdd_simplify(cube, cube | outside);
|
||||
all -= cube;
|
||||
|
||||
ltl::formula* dest =
|
||||
d.conj_bdd_to_formula(bdd_existcomp(cube, d.next_set));
|
||||
|
||||
|
|
@ -459,7 +455,6 @@ namespace spot
|
|||
d.conj_bdd_to_atomic_props(a, bdd_existcomp(cube, d.var_set), t);
|
||||
d.conj_bdd_to_acc(a, bdd_existcomp(cube, d.a_set), t);
|
||||
|
||||
|
||||
if (formulae_seen.find(dest) == formulae_seen.end())
|
||||
{
|
||||
formulae_seen.insert(dest);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue