spot  1.2.1a
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
spot::opt_ndfs Class Reference

Compute the SCCs of a TGBA. More...

#include <fasttgbaalgos/ec/opt/opt_ndfs.hh>

Inheritance diagram for spot::opt_ndfs:
Inheritance graph
Collaboration diagram for spot::opt_ndfs:
Collaboration graph

Classes

struct  pair_state_iter
 

Public Member Functions

 opt_ndfs (instanciator *i, std::string option="", bool swarm=false, int tid=0)
 A constructor taking the automaton to check. More...
 
virtual ~opt_ndfs ()
 A destructor. More...
 
bool check ()
 The implementation of the interface. More...
 
std::string extra_info_csv ()
 

Protected Types

enum  rcol { Blue, Cyan, Red }
 
enum  color { Alive, Dead, Unknown }
 The color for a new State. More...
 
typedef Sgi::hash_map< const fasttgba_state *, rcol, fasttgba_state_ptr_hash, fasttgba_state_ptr_equalseen_map
 The map of visited states. More...
 

Protected Member Functions

void init ()
 Fix set ups for the algo. More...
 
virtual void dfs_push (fasttgba_state *)
 Push a new state to explore. More...
 
virtual void dfs_pop ()
 Pop states already explored. More...
 
virtual bool dfs_update (fasttgba_state *s)
 the update for backedges More...
 
virtual void main ()
 the main procedure More...
 
virtual void nested_dfs (const spot::fasttgba_state *a)
 
virtual opt_ndfs::color get_color (const fasttgba_state *)
 Use a "generic" lowlink stack. More...
 

Protected Attributes

std::vector< pair_state_itertodo
 the todo stack More...
 
bool counterexample_found
 
const fasttgbaa_
 the automaton that will be used for the Emptiness check More...
 
seen_map H
 the HashMap Live More...
 
deadstoredeadstore_
 The store for Deads states. More...
 
const instance_automatoninst
 The instance automaton. More...
 
unsigned int dfs_size_
 keep dfs size More...
 
unsigned int max_live_size_
 keep peack size More...
 
unsigned int max_dfs_size_
 keep peack size More...
 
int update_cpt_
 count UPDATE calls More...
 
int roots_poped_cpt_
 count UPDATE loop iterations More...
 
int states_cpt_
 count states More...
 
int transitions_cpt_
 count transitions More...
 
int memory_cost_
 evaluates memory More...
 
int trivial_scc_
 count trivial SCCs More...
 
bool swarm_
 shall use swarming? More...
 
int tid_
 the thread id More...
 

Detailed Description

Compute the SCCs of a TGBA.

This implementation use many optimisations

Member Typedef Documentation

The map of visited states.

Member Enumeration Documentation

enum spot::opt_ndfs::color
protected

The color for a new State.

Constructor & Destructor Documentation

spot::opt_ndfs::opt_ndfs ( instanciator i,
std::string  option = "",
bool  swarm = false,
int  tid = 0 
)

A constructor taking the automaton to check.

virtual spot::opt_ndfs::~opt_ndfs ( )
virtual

A destructor.

Member Function Documentation

bool spot::opt_ndfs::check ( )
virtual

The implementation of the interface.

Implements spot::ec.

virtual void spot::opt_ndfs::dfs_pop ( )
protectedvirtual

Pop states already explored.

virtual void spot::opt_ndfs::dfs_push ( fasttgba_state )
protectedvirtual

Push a new state to explore.

virtual bool spot::opt_ndfs::dfs_update ( fasttgba_state s)
protectedvirtual

the update for backedges

std::string spot::opt_ndfs::extra_info_csv ( )

Supply more information in a CSV way Informations are : Number of merge, number of states mark as dead.

virtual opt_ndfs::color spot::opt_ndfs::get_color ( const fasttgba_state )
protectedvirtual

Use a "generic" lowlink stack.

Access the color of a state Storage for counterexample found or not

void spot::opt_ndfs::init ( )
protected

Fix set ups for the algo.

virtual void spot::opt_ndfs::main ( )
protectedvirtual

the main procedure

Reimplemented in spot::single_opt_ndfs_ec.

Member Data Documentation

const fasttgba* spot::opt_ndfs::a_
protected

the automaton that will be used for the Emptiness check

deadstore* spot::opt_ndfs::deadstore_
protected

The store for Deads states.

unsigned int spot::opt_ndfs::dfs_size_
protected

keep dfs size

seen_map spot::opt_ndfs::H
protected

the HashMap Live

const instance_automaton* spot::opt_ndfs::inst
protected

The instance automaton.

unsigned int spot::opt_ndfs::max_dfs_size_
protected

keep peack size

unsigned int spot::opt_ndfs::max_live_size_
protected

keep peack size

int spot::opt_ndfs::memory_cost_
protected

evaluates memory

int spot::opt_ndfs::roots_poped_cpt_
protected

count UPDATE loop iterations

int spot::opt_ndfs::states_cpt_
protected

count states

bool spot::opt_ndfs::swarm_
protected

shall use swarming?

int spot::opt_ndfs::tid_
protected

the thread id

std::vector<pair_state_iter> spot::opt_ndfs::todo
protected

the todo stack

int spot::opt_ndfs::transitions_cpt_
protected

count transitions

int spot::opt_ndfs::trivial_scc_
protected

count trivial SCCs

int spot::opt_ndfs::update_cpt_
protected

count UPDATE calls


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

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Fri Jun 5 2015 11:31:19 for spot by doxygen 1.8.9.1