* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh:
(couvreur99_check_shy_ssp): Add a onepass_ attribute to disable the "shyness", and do not increment pos before calling find_state since gspn's implementation uses it. * iface/gspn/ssp.cc: Enable "onepass_" for all "shy" variants, and also fix find_state for the case where onepass_ is disabled (but I do not yet know why the latter fix isn't enough).
This commit is contained in:
parent
644b74f8c0
commit
983d12cc5a
4 changed files with 38 additions and 4 deletions
|
|
@ -994,6 +994,8 @@ namespace spot
|
|||
inclusion_count_stack(0),
|
||||
stack_inclusion(stack_inclusion)
|
||||
{
|
||||
onepass_ = true;
|
||||
|
||||
stats["inclusion count heap"] =
|
||||
static_cast<spot::unsigned_statistics::unsigned_fun>
|
||||
(&couvreur99_check_shy_ssp::get_inclusion_count_heap);
|
||||
|
|
@ -1046,6 +1048,7 @@ namespace spot
|
|||
const state_gspn_ssp* s_ = dynamic_cast<const state_gspn_ssp*>(s);
|
||||
const void* cont = container_(s_->left());
|
||||
contained_map::const_iterator i = contained.find(cont);
|
||||
|
||||
if (i != contained.end())
|
||||
{
|
||||
f_map::const_iterator k = i->second.find(s_->right());
|
||||
|
|
@ -1094,13 +1097,19 @@ namespace spot
|
|||
Diff_succ(old_state->left(), new_state->left(),
|
||||
&succ_tgba_, &size_tgba_);
|
||||
|
||||
succ_queue::iterator old;
|
||||
if (pos == queue.end())
|
||||
old = queue.begin();
|
||||
else
|
||||
old = pos;
|
||||
|
||||
for (size_t i = 0; i < size_tgba_; i++)
|
||||
{
|
||||
state_gspn_ssp* s =
|
||||
new state_gspn_ssp
|
||||
(succ_tgba_[i],
|
||||
old_state->right()->clone());
|
||||
queue.push_back(successor(queue.begin()->acc,
|
||||
queue.push_back(successor(old->acc,
|
||||
s));
|
||||
inc_depth();
|
||||
}
|
||||
|
|
@ -1166,6 +1175,8 @@ namespace spot
|
|||
numbered_state_heap_ssp_factory_semi::instance()),
|
||||
inclusion_count(0)
|
||||
{
|
||||
onepass_ = true;
|
||||
|
||||
stats["find_state count"] =
|
||||
static_cast<spot::unsigned_statistics::unsigned_fun>
|
||||
(&couvreur99_check_shy_semi_ssp::get_inclusion_count);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue