* src/tgba/succiter.hh (tgba_succ_iterator::current_state):
Return a state*, not a state_bdd. * src/tgba/succiterconcrete.hh (tgba_succ_iterator_concrete::current_state): Return a state_bdd*, not a state_bdd. * src/tgba/state.hh (state::as_bdd): New abstract method. * src/tgba/statebdd.hh (state_bdd::as_bdd): Move definitions ... * src/tgba/statebdd.cc (state_bdd::as_bdd): ... here. * src/tgba/tgba.hh: Add Doxygen comments. (tgba::succ_iter, tgba::get_init_state): Use state*, not state_bdd. * src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::get_init_state): Return a state_bdd*, not a state_bdd. (tgba_bdd_concrete::get_init_bdd): New method. (tgba_bdd_concrete::succ_uter): Take a state* as argument. * src/tgba/tgbabddconcrete.cc: Likewise. * src/tgba/tgbabddtranslatefactory.cc (tgba_bdd_translate_factory::tgba_bdd_translate_factory): Use tgba_bdd_concrete::get_init_bdd. * src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty): Adjust to use state* instead of state_bdd. * src/tgba/succlist.hh: Delete. (Leftover from a previous draft.)
This commit is contained in:
parent
d7e49255d3
commit
3f0e95f061
13 changed files with 139 additions and 64 deletions
|
|
@ -8,11 +8,11 @@ namespace spot
|
|||
current_(bddfalse)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
tgba_succ_iterator_concrete::~tgba_succ_iterator_concrete()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
tgba_succ_iterator_concrete::first()
|
||||
{
|
||||
|
|
@ -20,12 +20,12 @@ namespace spot
|
|||
if (!done())
|
||||
next();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
tgba_succ_iterator_concrete::next()
|
||||
{
|
||||
assert(!done());
|
||||
|
||||
|
||||
// FIXME: Iterating on the successors this way (calling bdd_satone
|
||||
// and NANDing out the result from the set) requires several descent
|
||||
// of the BDD. Maybe it would be faster to compute all satisfying
|
||||
|
|
@ -33,27 +33,27 @@ namespace spot
|
|||
next_succ_set_ &= !current_;
|
||||
current_ = bdd_satone(next_succ_set_);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
tgba_succ_iterator_concrete::done()
|
||||
{
|
||||
return next_succ_set_ == bddfalse;
|
||||
}
|
||||
|
||||
state_bdd
|
||||
|
||||
state_bdd*
|
||||
tgba_succ_iterator_concrete::current_state()
|
||||
{
|
||||
assert(!done());
|
||||
return bdd_exist(current_, data_.notnow_set);
|
||||
return new state_bdd(bdd_exist(current_, data_.notnow_set));
|
||||
}
|
||||
|
||||
|
||||
bdd
|
||||
tgba_succ_iterator_concrete::current_condition()
|
||||
{
|
||||
assert(!done());
|
||||
return bdd_exist(current_, data_.notvar_set);
|
||||
}
|
||||
|
||||
|
||||
bdd
|
||||
tgba_succ_iterator_concrete::current_promise()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue