* src/tgbaalgos/emptinesscheck.hh (connected_component::set_of_state):

Rename as ...
(connected_component::set_type): ... this, and define as a hash_set.
(connected_component::has_state): New method.
* src/tgbaalgos/emptinesscheck.cc (connected_component::has_state):
New method.
(emptiness_check::counter_example, emptiness_check::complete_cycle,
emptiness_check::accepting_path): Simplify using has_state().
This commit is contained in:
Alexandre Duret-Lutz 2003-10-23 15:49:29 +00:00
parent f0dd415f2f
commit fb4873d92e
3 changed files with 29 additions and 20 deletions

View file

@ -5,7 +5,6 @@
#include "misc/hash.hh"
#include <stack>
#include <list>
#include <set>
#include <utility>
#include <iostream>
@ -23,12 +22,15 @@ namespace spot
/// The bdd condition is the union of all accepting condition of
/// transitions which connect the states of the connected component.
bdd condition;
typedef std::set<const spot::state*,
spot::state_ptr_less_than> set_of_state;
typedef Sgi::hash_set<const state*,
state_ptr_hash, state_ptr_equal> set_type;
/// for the counter example we need to know all the states of the
/// component
set_of_state state_set;
set_type state_set;
/// Check if the SCC contains states \a s.
bool has_state(const state* s) const;
};
/// \brief Check whether the language of an automate is empty.
@ -54,7 +56,7 @@ namespace spot
class emptiness_check
{
typedef std::list<const state*> state_sequence;
typedef std::pair<const spot::state*, bdd> state_proposition;
typedef std::pair<const state*, bdd> state_proposition;
typedef std::list<state_proposition> cycle_path;
public:
emptiness_check(const tgba* a);