spot  1.0
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
spot::couvreur99_check Class Reference

An implementation of the Couvreur99 emptiness-check algorithm. More...

#include <tgbaalgos/gtec/gtec.hh>

Inheritance diagram for spot::couvreur99_check:
Inheritance graph
Collaboration diagram for spot::couvreur99_check:
Collaboration graph

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 (const tgba *a, option_map o=option_map(), const numbered_state_heap_factory *nshf=numbered_state_heap_hash_map_factory::instance())
virtual ~couvreur99_check ()
virtual emptiness_check_resultcheck ()
 Check whether the automaton's language is empty.
virtual std::ostream & print_stats (std::ostream &os) const
 Print statistics, if any.
const couvreur99_check_statusresult () const
 Return the status of the emptiness-check.
const tgbaautomaton () const
 The automaton that this emptiness-check inspects.
const option_mapoptions () 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_statisticsstatistics () 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 Member Functions

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

couvreur99_check_statusecs_
bool poprem_
 Whether to store the state to be removed.
unsigned removed_components
 Number of dead SCC removed by the algorithm.
const tgbaa_
 The automaton.
option_map o_
 The options.

Detailed Description

An implementation of the Couvreur99 emptiness-check algorithm.

See the documentation for spot::couvreur99.

Member Typedef Documentation

typedef std::map<const char*, unsigned_fun, char_ptr_less_than> spot::unsigned_statistics::stats_map
inherited
typedef unsigned(unsigned_statistics::* spot::unsigned_statistics::unsigned_fun)() const
inherited

Constructor & Destructor Documentation

spot::couvreur99_check::couvreur99_check ( 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::~couvreur99_check ( )
virtual

Member Function Documentation

const tgba* spot::emptiness_check::automaton ( ) const
inlineinherited

The automaton that this emptiness-check inspects.

References spot::emptiness_check::a_.

virtual emptiness_check_result* spot::couvreur99_check::check ( )
virtual

Check whether the automaton's language is empty.

Implements spot::emptiness_check.

Reimplemented in spot::couvreur99_check_shy.

void spot::ec_statistics::dec_depth ( unsigned  n = 1)
inlineinherited
unsigned spot::ec_statistics::depth ( ) const
inlineinherited
unsigned spot::unsigned_statistics::get ( const char *  str) const
inlineinherited
unsigned spot::couvreur99_check::get_removed_components ( ) const
protected
unsigned spot::couvreur99_check::get_vmsize ( ) const
protected
void spot::ec_statistics::inc_depth ( unsigned  n = 1)
inlineinherited
void spot::ec_statistics::inc_states ( )
inlineinherited
void spot::ec_statistics::inc_transitions ( )
inlineinherited
unsigned spot::ec_statistics::max_depth ( ) const
inlineinherited
const option_map& spot::emptiness_check::options ( ) const
inlineinherited

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)
virtualinherited

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

Print statistics, if any.

Reimplemented from spot::emptiness_check.

void spot::couvreur99_check::remove_component ( const state start_delete)
protected

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

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
virtualinherited

Return false iff accepting_run() can return 0 for non-empty automata.

void spot::ec_statistics::set_states ( unsigned  n)
inlineinherited
unsigned spot::ec_statistics::states ( ) const
inlineinherited
virtual const unsigned_statistics* spot::emptiness_check::statistics ( ) const
virtualinherited

Return statistics, if available.

unsigned spot::ec_statistics::transitions ( ) const
inlineinherited

Member Data Documentation

const tgba* spot::emptiness_check::a_
protectedinherited

The automaton.

Referenced by spot::emptiness_check::automaton().

couvreur99_check_status* spot::couvreur99_check::ecs_
protected
option_map spot::emptiness_check::o_
protectedinherited

The options.

Referenced by spot::emptiness_check::options().

bool spot::couvreur99_check::poprem_
protected

Whether to store the state to be removed.

unsigned spot::couvreur99_check::removed_components
protected

Number of dead SCC removed by the algorithm.

stats_map spot::unsigned_statistics::stats
inherited

The documentation for this class was generated from the following file:

Please comment this page and report errors about it on the RefDocComments page.
Generated on Sat Oct 27 2012 09:34:34 for spot by doxygen 1.8.1.2