* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
Fix computation of states sharing the same accepting state.
This commit is contained in:
parent
2a8b1b7471
commit
d14eee25bf
2 changed files with 17 additions and 3 deletions
|
|
@ -1,5 +1,8 @@
|
|||
2003-07-09 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||
|
||||
* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
|
||||
Fix computation of states sharing the same accepting state.
|
||||
|
||||
Make sure we only output one initial state in LBTT's output.
|
||||
* src/tgbaalgos/lbtt.cc (fill_todo): Add the 'first' argument
|
||||
to designate initial states.
|
||||
|
|
|
|||
|
|
@ -100,10 +100,21 @@ namespace spot
|
|||
bdd prop = bdd_exist(cube, data_.acc_set);
|
||||
// prop = (!a)&b
|
||||
current_acc_ = bdd_forall(bdd_restrict(as, prop), data_.var_set);
|
||||
// acc = (Acc[a] | Acc[b])
|
||||
bdd all = as & current_acc_;
|
||||
// current_acc_ = (Acc[a] | Acc[b])
|
||||
assert(current_acc_ != bddfalse);
|
||||
// Find other transitions included in each of these
|
||||
// accepting sets.
|
||||
bdd all = bddtrue;
|
||||
bdd acc = current_acc_;
|
||||
do
|
||||
{
|
||||
bdd one_acc = bdd_satone(acc);
|
||||
acc &= !one_acc;
|
||||
all &= bdd_relprod(as, one_acc, data_.acc_set);
|
||||
}
|
||||
while (acc != bddfalse);
|
||||
// all = (a | (!a)&b) & (Acc[a] | Acc[b])
|
||||
current_ = bdd_exist(all, data_.acc_set) & dest;
|
||||
current_ = all & dest;
|
||||
// current_ = (a | (!a)&b) & (Next...)
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue