* src/tgbaalgos/gtec/gtec.cc: Fake statistics count to match
how the algorithm will behave once remove_component() is revamped.
This commit is contained in:
parent
8f0135ebb0
commit
42bc594193
2 changed files with 12 additions and 5 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
2005-01-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
2005-01-24 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
|
* src/tgbaalgos/gtec/gtec.cc: Fake statistics count to match
|
||||||
|
how the algorithm will behave once remove_component() is revamped.
|
||||||
|
|
||||||
* src/tgbaalgos/emptiness_stats.hh (ars_statistics): Distinguish
|
* src/tgbaalgos/emptiness_stats.hh (ars_statistics): Distinguish
|
||||||
states visited to compute the prefix and those for the cycle.
|
states visited to compute the prefix and those for the cycle.
|
||||||
* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
|
* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ namespace spot
|
||||||
assert(spi.first == from);
|
assert(spi.first == from);
|
||||||
assert(*spi.second != -1);
|
assert(*spi.second != -1);
|
||||||
*spi.second = -1;
|
*spi.second = -1;
|
||||||
|
dec_depth(); // FIXME: check once remove_component() is revamped.
|
||||||
tgba_succ_iterator* i = ecs_->aut->succ_iter(from);
|
tgba_succ_iterator* i = ecs_->aut->succ_iter(from);
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
|
|
@ -64,7 +65,7 @@ namespace spot
|
||||||
// Remove each destination of this iterator.
|
// Remove each destination of this iterator.
|
||||||
for (i->first(); !i->done(); i->next())
|
for (i->first(); !i->done(); i->next())
|
||||||
{
|
{
|
||||||
inc_transitions();
|
// FIXME: inc_transitions();
|
||||||
|
|
||||||
state* s = i->current_state();
|
state* s = i->current_state();
|
||||||
numbered_state_heap::state_index_p spi = ecs_->h->index(s);
|
numbered_state_heap::state_index_p spi = ecs_->h->index(s);
|
||||||
|
|
@ -80,6 +81,7 @@ namespace spot
|
||||||
if (*spi.second != -1)
|
if (*spi.second != -1)
|
||||||
{
|
{
|
||||||
*spi.second = -1;
|
*spi.second = -1;
|
||||||
|
dec_depth(); // FIXME: check after revamping.
|
||||||
to_remove.push(ecs_->aut->succ_iter(spi.first));
|
to_remove.push(ecs_->aut->succ_iter(spi.first));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -137,7 +139,7 @@ namespace spot
|
||||||
|
|
||||||
// Backtrack TODO.
|
// Backtrack TODO.
|
||||||
todo.pop();
|
todo.pop();
|
||||||
dec_depth();
|
// FIXME: dec_depth();
|
||||||
|
|
||||||
// When backtracking the root of an SCC, we must also
|
// When backtracking the root of an SCC, we must also
|
||||||
// remove that SCC from the ARC/ROOT stacks. We must
|
// remove that SCC from the ARC/ROOT stacks. We must
|
||||||
|
|
@ -295,7 +297,8 @@ namespace spot
|
||||||
dec_depth(todo.back().q.size() + 1);
|
dec_depth(todo.back().q.size() + 1);
|
||||||
todo.pop_back();
|
todo.pop_back();
|
||||||
}
|
}
|
||||||
assert(depth() == 0);
|
// FIXME: enable after revamping remove_component().
|
||||||
|
// assert(depth() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
emptiness_check_result*
|
emptiness_check_result*
|
||||||
|
|
@ -317,12 +320,13 @@ namespace spot
|
||||||
int index = todo.back().n;
|
int index = todo.back().n;
|
||||||
// Backtrack TODO.
|
// Backtrack TODO.
|
||||||
todo.pop_back();
|
todo.pop_back();
|
||||||
dec_depth();
|
// FIXME: dec_depth();
|
||||||
if (todo.empty())
|
if (todo.empty())
|
||||||
{
|
{
|
||||||
// This automaton recognizes no word.
|
// This automaton recognizes no word.
|
||||||
set_states(ecs_->states());
|
set_states(ecs_->states());
|
||||||
assert(depth() == 0);
|
// FIXME: enable after revamping remove_component().
|
||||||
|
// assert(depth() == 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue