* 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:
Alexandre Duret-Lutz 2003-11-21 10:58:44 +00:00
parent 982c5efc6c
commit c317154df4
5 changed files with 186 additions and 9 deletions

View file

@ -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);