* doc/Doxyfile.in (HAVE_DOT): Set to YES to output
collaboration diagrams. * doc/mainpage.dox: Typo. * src/tgba/state.hh (state::as_bdd): Delete. * src/tgba/tgbaproduct.hh (state_bdd_product): Inherit from state, not state_bdd. (state_bdd_product::state_bdd_product): Adjust. * src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product): Adjust. * src/tgba/succiter.hh (tgba_bdd_succ_iterator::done): Mark as const. * src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::done): Likewise. * src/tgba/succiterconcrete.hh (tgba_succ_iterator_concrete::done): Likewise. * src/tgba/tgbaexplicit.cc (tgba_explicit_succ_iterator::done): Likewise. * src/tgba/tgbaexplicit.hh (tgba_explicit_succ_iterator::done): Likewise. * src/tgba/tgbaproduct.cc (tgba_product_succ_iterator::done): Likewise. * src/tgba/tgbaproduct.hh (tgba_product_succ_iterator::done): Likewise. * src/tgba/tgbatranslateproxy.hh (tgba_translate_proxy_succ_iterator::done): Likewise. * src/tgba/tgbatranslateproxy.cc (tgba_translate_proxy_succ_iterator::done): Likewise. * src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next): Call bdd_satoneset on data_.varandnext_set. The previous implementation was wrong for GFa. * src/tgba/tgbabddcoredata.hh: Declare varandnext_set. * src/tgba/tgbabddcoredata.cc: Handle varandnext_set.
This commit is contained in:
parent
b53d8aac71
commit
e562620885
15 changed files with 67 additions and 28 deletions
|
|
@ -47,8 +47,7 @@ namespace spot
|
|||
// d * !Next[a] * Next[b]
|
||||
// (We don't really care about the Now variables here.)
|
||||
//
|
||||
// Note: on this example we would not exactly get the six transitions
|
||||
// mentionned, but maybe something like
|
||||
// Note: on this example it's ok to get something like
|
||||
// c * Next[a] * Next[b]
|
||||
// c * Next[a] * !Next[b]
|
||||
// c * !Next[a] * Next[b]
|
||||
|
|
@ -56,7 +55,10 @@ namespace spot
|
|||
// d * !c * Next[a] * !Next[b]
|
||||
// d * !c * !Next[a] * Next[b]
|
||||
// depending on the BDD order. It doesn't really matter. The important
|
||||
// point is that we don't list all four possible 'c' and 'd' combinations.
|
||||
// point is that we don't want to list all four possible 'c' and 'd'
|
||||
// combinations.
|
||||
// FIXME: This is not what we do now: we list all possible combinations
|
||||
// of atomic propositions.
|
||||
|
||||
// FIXME: Iterating on the successors this way (calling
|
||||
// bdd_satone/bdd_fullsetone and NANDing out the result from a
|
||||
|
|
@ -67,8 +69,8 @@ namespace spot
|
|||
succ_set_left_ &= !current_;
|
||||
if (succ_set_left_ == bddfalse) // No more successors?
|
||||
return;
|
||||
current_ = bdd_satoneset(succ_set_left_, data_.next_set, bddfalse);
|
||||
|
||||
current_ = bdd_satoneset(succ_set_left_,
|
||||
data_.varandnext_set, bddfalse);
|
||||
// The destination state, computed here, should be
|
||||
// compatible with the transition relation. Otherwise
|
||||
// it won't have any successor (a dead node).
|
||||
|
|
@ -79,7 +81,7 @@ namespace spot
|
|||
}
|
||||
|
||||
bool
|
||||
tgba_succ_iterator_concrete::done()
|
||||
tgba_succ_iterator_concrete::done() const
|
||||
{
|
||||
return succ_set_left_ == bddfalse;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue