* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check):

Reorganize this function so that syntactically there is only one
loop over the successors, and not two.  Call reintroduce the call
to couvreur99_check_shy::state_index(), needed by SSP, and
suppress that to index_and_insert introduced on 2004-12-29.  Also
split the "group" option in two: "group" and "group2".  "group2"
is the equivalent of the older "group", while the new "group" is
weaker and faster.
(couvreur99_check_shy::state_index): Change prototype as needed by
the algorithm.
* src/tgbaalgos/gtec/gtec.hh: Adjust.
* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
(index_and_insert): Remove.
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::state_index): Adjust
to new prototype.
* bench/emptchk/README, bench/emptchk/algorithms: Adjust references
to group/group2.
This commit is contained in:
Alexandre Duret-Lutz 2006-02-02 13:46:04 +00:00
parent d9d4804bc9
commit 236742aed8
8 changed files with 197 additions and 214 deletions

View file

@ -1,4 +1,4 @@
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
// et Marie Curie.
//
@ -916,7 +916,7 @@ namespace spot
option_map(),
numbered_state_heap_ssp_factory_semi::instance())
{
}
}
protected:
@ -924,7 +924,7 @@ namespace spot
// children to the list of children of that older state. We cannot
// to this by sub-classing numbered_state_heap since TODO is not
// available. So we override find_state() instead.
virtual int*
virtual numbered_state_heap::state_index_p
find_state(const state* s)
{
typedef numbered_state_heap_ssp_semi::hash_type hash_type;
@ -979,11 +979,22 @@ namespace spot
}
}
}
state_index_p res;
if (i == h.end())
return 0;
if (i->first != s)
delete s;
return &i->second;
{
res.first = 0;
res.second = 0;
}
else
{
res.first = i->first;
res.second = &i->second;
if (s != i->first)
delete s;
}
return res;
}
};