spot
0.8.1
|
A version of spot::couvreur99_check that tries to visit known states first. More...
#include <tgbaalgos/gtec/gtec.hh>
Classes | |
struct | successor |
struct | todo_item |
Public Types | |
typedef unsigned(unsigned_statistics::* | unsigned_fun )() const |
typedef std::map< const char *, unsigned_fun, char_ptr_less_than > | stats_map |
Public Member Functions | |
couvreur99_check_shy (const tgba *a, option_map o=option_map(), const numbered_state_heap_factory *nshf=numbered_state_heap_hash_map_factory::instance()) | |
virtual | ~couvreur99_check_shy () |
virtual emptiness_check_result * | check () |
Check whether the automaton's language is empty. | |
virtual std::ostream & | print_stats (std::ostream &os) const |
Print statistics, if any. | |
const couvreur99_check_status * | result () const |
Return the status of the emptiness-check. | |
const tgba * | automaton () const |
The automaton that this emptiness-check inspects. | |
const option_map & | options () const |
Return the options parametrizing how the emptiness check is realized. | |
const char * | parse_options (char *options) |
Modify the algorithm options. | |
virtual bool | safe () const |
Return false iff accepting_run() can return 0 for non-empty automata. | |
virtual const unsigned_statistics * | statistics () const |
Return statistics, if available. | |
virtual void | options_updated (const option_map &old) |
Notify option updates. | |
void | set_states (unsigned n) |
void | inc_states () |
void | inc_transitions () |
void | inc_depth (unsigned n=1) |
void | dec_depth (unsigned n=1) |
unsigned | states () const |
unsigned | transitions () const |
unsigned | max_depth () const |
unsigned | depth () const |
unsigned | get (const char *str) const |
Public Attributes | |
stats_map | stats |
Protected Types | |
typedef std::list< successor > | succ_queue |
typedef std::list< todo_item > | todo_list |
Protected Member Functions | |
void | clear_todo () |
void | dump_queue (std::ostream &os=std::cerr) |
Dump the queue for debugging. | |
virtual numbered_state_heap::state_index_p | find_state (const state *s) |
find the SCC number of a unprocessed state. | |
void | remove_component (const state *start_delete) |
Remove a strongly component from the hash. | |
unsigned | get_removed_components () const |
unsigned | get_vmsize () const |
Protected Attributes | |
std::stack< bdd > | arc |
int | num |
succ_queue::iterator | pos |
todo_list | todo |
bool | group_ |
Whether successors should be grouped for states in the same SCC. | |
bool | group2_ |
bool | onepass_ |
couvreur99_check_status * | ecs_ |
bool | poprem_ |
Whether to store the state to be removed. | |
unsigned | removed_components |
Number of dead SCC removed by the algorithm. | |
const tgba * | a_ |
The automaton. | |
option_map | o_ |
The options. |
A version of spot::couvreur99_check that tries to visit known states first.
See the documentation for spot::couvreur99.
typedef std::map<const char*, unsigned_fun, char_ptr_less_than> spot::unsigned_statistics::stats_map [inherited] |
typedef std::list<successor> spot::couvreur99_check_shy::succ_queue [protected] |
typedef std::list<todo_item> spot::couvreur99_check_shy::todo_list [protected] |
typedef unsigned(unsigned_statistics::* spot::unsigned_statistics::unsigned_fun)() const [inherited] |
spot::couvreur99_check_shy::couvreur99_check_shy | ( | const tgba * | a, |
option_map | o = option_map() , |
||
const numbered_state_heap_factory * | nshf = numbered_state_heap_hash_map_factory::instance() |
||
) |
virtual spot::couvreur99_check_shy::~couvreur99_check_shy | ( | ) | [virtual] |
const tgba* spot::emptiness_check::automaton | ( | ) | const [inline, inherited] |
The automaton that this emptiness-check inspects.
References spot::emptiness_check::a_.
virtual emptiness_check_result* spot::couvreur99_check_shy::check | ( | ) | [virtual] |
Check whether the automaton's language is empty.
Reimplemented from spot::couvreur99_check.
void spot::couvreur99_check_shy::clear_todo | ( | ) | [protected] |
void spot::ec_statistics::dec_depth | ( | unsigned | n = 1 | ) | [inline, inherited] |
References spot::ec_statistics::depth_.
unsigned spot::ec_statistics::depth | ( | ) | const [inline, inherited] |
References spot::ec_statistics::depth_.
void spot::couvreur99_check_shy::dump_queue | ( | std::ostream & | os = std::cerr | ) | [protected] |
Dump the queue for debugging.
virtual numbered_state_heap::state_index_p spot::couvreur99_check_shy::find_state | ( | const state * | s | ) | [protected, virtual] |
find the SCC number of a unprocessed state.
Sometimes we want to modify some of the above structures when looking up a new state. This happens for instance when find() must perform inclusion checking and add new states to process to TODO during this step. (Because TODO must be known, sub-classing spot::numbered_state_heap is not enough.) Then overriding this method is the way to go.
unsigned spot::unsigned_statistics::get | ( | const char * | str | ) | const [inline, inherited] |
References spot::unsigned_statistics::stats.
unsigned spot::couvreur99_check::get_removed_components | ( | ) | const [protected, inherited] |
unsigned spot::couvreur99_check::get_vmsize | ( | ) | const [protected, inherited] |
void spot::ec_statistics::inc_depth | ( | unsigned | n = 1 | ) | [inline, inherited] |
References spot::ec_statistics::depth_, and spot::ec_statistics::max_depth_.
void spot::ec_statistics::inc_states | ( | ) | [inline, inherited] |
References spot::ec_statistics::states_.
void spot::ec_statistics::inc_transitions | ( | ) | [inline, inherited] |
References spot::ec_statistics::transitions_.
unsigned spot::ec_statistics::max_depth | ( | ) | const [inline, inherited] |
References spot::ec_statistics::max_depth_.
Referenced by spot::ec_statistics::ec_statistics().
const option_map& spot::emptiness_check::options | ( | ) | const [inline, inherited] |
Return the options parametrizing how the emptiness check is realized.
References spot::emptiness_check::o_.
virtual void spot::emptiness_check::options_updated | ( | const option_map & | old | ) | [virtual, inherited] |
Notify option updates.
const char* spot::emptiness_check::parse_options | ( | char * | options | ) | [inherited] |
Modify the algorithm options.
virtual std::ostream& spot::couvreur99_check::print_stats | ( | std::ostream & | os | ) | const [virtual, inherited] |
Print statistics, if any.
Reimplemented from spot::emptiness_check.
void spot::couvreur99_check::remove_component | ( | const state * | start_delete | ) | [protected, inherited] |
Remove a strongly component from the hash.
This function remove all accessible state from a given state. In other words, it removes the strongly connected component that contains this state.
const couvreur99_check_status* spot::couvreur99_check::result | ( | ) | const [inherited] |
Return the status of the emptiness-check.
When check() succeed, the status should be passed along to spot::counter_example.
This status should not be deleted, it is a pointer to a member of this class that will be deleted when the couvreur99 object is deleted.
virtual bool spot::emptiness_check::safe | ( | ) | const [virtual, inherited] |
Return false iff accepting_run() can return 0 for non-empty automata.
void spot::ec_statistics::set_states | ( | unsigned | n | ) | [inline, inherited] |
References spot::ec_statistics::states_.
unsigned spot::ec_statistics::states | ( | ) | const [inline, inherited] |
References spot::ec_statistics::states_.
Referenced by spot::ec_statistics::ec_statistics().
virtual const unsigned_statistics* spot::emptiness_check::statistics | ( | ) | const [virtual, inherited] |
Return statistics, if available.
unsigned spot::ec_statistics::transitions | ( | ) | const [inline, inherited] |
References spot::ec_statistics::transitions_.
Referenced by spot::ec_statistics::ec_statistics().
const tgba* spot::emptiness_check::a_ [protected, inherited] |
The automaton.
Referenced by spot::emptiness_check::automaton().
std::stack<bdd> spot::couvreur99_check_shy::arc [protected] |
couvreur99_check_status* spot::couvreur99_check::ecs_ [protected, inherited] |
bool spot::couvreur99_check_shy::group2_ [protected] |
bool spot::couvreur99_check_shy::group_ [protected] |
Whether successors should be grouped for states in the same SCC.
int spot::couvreur99_check_shy::num [protected] |
option_map spot::emptiness_check::o_ [protected, inherited] |
The options.
Referenced by spot::emptiness_check::options().
bool spot::couvreur99_check_shy::onepass_ [protected] |
bool spot::couvreur99_check::poprem_ [protected, inherited] |
Whether to store the state to be removed.
succ_queue::iterator spot::couvreur99_check_shy::pos [protected] |
unsigned spot::couvreur99_check::removed_components [protected, inherited] |
Number of dead SCC removed by the algorithm.
stats_map spot::unsigned_statistics::stats [inherited] |
todo_list spot::couvreur99_check_shy::todo [protected] |