* 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:
Alexandre Duret-Lutz 2003-06-30 15:38:41 +00:00
parent b53d8aac71
commit e562620885
15 changed files with 67 additions and 28 deletions

View file

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