spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
spot::fasttgba_product Class Reference

This class allows to do a synchronized product between two fast tgba. More...

#include <fasttgba/fasttgba_product.hh>

Inheritance diagram for spot::fasttgba_product:
Inheritance graph
Collaboration diagram for spot::fasttgba_product:
Collaboration graph

Public Member Functions

 fasttgba_product (const fasttgba *left, const fasttgba *right, bool left_is_kripke=false)
 
virtual fasttgba_stateget_init_state () const
 Get the initial state of the automaton. More...
 
virtual fasttgba_succ_iteratorsucc_iter (const fasttgba_state *local_state) const
 Get an iterator over the successors of state. More...
 
virtual fasttgba_succ_iteratorswarm_succ_iter (const fasttgba_state *local_state) const
 Get a Swarm iterator over the sucessors of a state. More...
 
virtual ap_dictget_dict () const
 Get the dictionary associated to the automaton. More...
 
virtual acc_dictget_acc () const
 Get the acceptance dictionary associated to the automaton. More...
 
virtual std::string format_state (const fasttgba_state *state) const
 Format the state as a string for printing. More...
 
virtual std::string transition_annotation (const fasttgba_succ_iterator *t) const
 Return a possible annotation for the transition pointed to by the iterator. More...
 
virtual fasttgba_stateproject_state (const fasttgba_state *s, const fasttgba *t) const
 Project a state on an automaton. More...
 
virtual markset all_acceptance_marks () const
 Return the set of all acceptance marks used by this automaton. More...
 
virtual unsigned int number_of_acceptance_marks () const
 The number of acceptance marks. More...
 

Protected Attributes

const fasttgbaleft_
 The left aut. of the product. More...
 
const fasttgbaright_
 The right aut. of the product. More...
 
fixed_size_pool pool_
 
bool kripke_left
 The left automaton is a Kripke. More...
 
int num_acc_
 The number of acceptance mark. More...
 
int num_var_
 The number of variables. More...
 

Detailed Description

This class allows to do a synchronized product between two fast tgba.

Warning : left and right must have the same atomic proposition dictionnary and the same acceptance dictionnary. This is not a restriction since the two FastTgba can share the same dictionnary even if they do not work with the same set of variables.

Remark : in order to do parallel emptiness checks, this product do not write in this two dicitonnaries

Member Function Documentation

virtual markset spot::fasttgba_product::all_acceptance_marks ( ) const
virtual

Return the set of all acceptance marks used by this automaton.

The goal of the emptiness check is to ensure that a strongly connected component walks through each of these acceptance conditions. I.e., the union of the acceptance conditions of all transition in the SCC should be equal to the result of this function.

Implements spot::fasttgba.

virtual std::string spot::fasttgba_product::format_state ( const fasttgba_state state) const
virtual

Format the state as a string for printing.

This formating is the responsability of the automata that owns the state.

Implements spot::fasttgba.

virtual acc_dict& spot::fasttgba_product::get_acc ( ) const
virtual

Get the acceptance dictionary associated to the automaton.

Implements spot::fasttgba.

virtual ap_dict& spot::fasttgba_product::get_dict ( ) const
virtual

Get the dictionary associated to the automaton.

Implements spot::fasttgba.

virtual fasttgba_state* spot::fasttgba_product::get_init_state ( ) const
virtual

Get the initial state of the automaton.

The state has been allocated with new. It is the responsability of the caller to destroy it when no longer needed.

Implements spot::fasttgba.

virtual unsigned int spot::fasttgba_product::number_of_acceptance_marks ( ) const
virtual

The number of acceptance marks.

Implements spot::fasttgba.

virtual fasttgba_state* spot::fasttgba_product::project_state ( const fasttgba_state s,
const fasttgba t 
) const
virtual

Project a state on an automaton.

Implements spot::fasttgba.

virtual fasttgba_succ_iterator* spot::fasttgba_product::succ_iter ( const fasttgba_state state) const
virtual

Get an iterator over the successors of state.

Parameters
stateThe state whose successors are to be explored. This pointer is not adopted in any way by succ_iter, and it is still the caller's responsability to destroy it when appropriate (this can be done during the lifetime of the iterator).

Implements spot::fasttgba.

virtual fasttgba_succ_iterator* spot::fasttgba_product::swarm_succ_iter ( const fasttgba_state state) const
virtual

Get a Swarm iterator over the sucessors of a state.

Such an iterator visits randomly once each outgoing transitions

Parameters
statethe states whose successors are to be explored.

Implements spot::fasttgba.

virtual std::string spot::fasttgba_product::transition_annotation ( const fasttgba_succ_iterator t) const
virtual

Return a possible annotation for the transition pointed to by the iterator.

Implements spot::fasttgba.

Member Data Documentation

bool spot::fasttgba_product::kripke_left
protected

The left automaton is a Kripke.

const fasttgba* spot::fasttgba_product::left_
protected

The left aut. of the product.

int spot::fasttgba::num_acc_
mutableprotectedinherited

The number of acceptance mark.

int spot::fasttgba::num_var_
mutableprotectedinherited

The number of variables.

const fasttgba* spot::fasttgba_product::right_
protected

The right aut. of the product.


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 Tue Jan 21 2014 16:52:02 for spot by doxygen 1.8.5