|
mCRL2
|
#include <liblts_sim.h>
Classes | |
| struct | state_bucket |
Public Member Functions | |
| sim_partitioner (LTS_TYPE &l) | |
| virtual | ~sim_partitioner () |
| virtual void | partitioning_algorithm () |
| std::vector< mcrl2::lts::transition > | get_transitions () const |
| std::size_t | num_eq_classes () const |
| std::size_t | get_eq_class (std::size_t s) const |
| bool | in_preorder (std::size_t s, std::size_t t) const |
| bool | in_same_class (std::size_t s, std::size_t t) const |
Protected Member Functions | |
| void | partitioning_algorithmG () |
| void | initialise_datastructures () |
| void | refine (bool &change) |
| void | update () |
| void | touch (std::size_t a, std::size_t alpha) |
| void | untouch (std::size_t alpha) |
| void | reverse_topological_sort (std::vector< std::size_t > &Sort) |
| void | dfs_visit (std::size_t u, std::vector< bool > &visited, std::vector< std::size_t > &Sort) |
| void | initialise_Sigma (std::size_t gamma, std::size_t l) |
| void | initialise_Pi (std::size_t gamma, std::size_t l) |
| void | filter (std::size_t S, std::vector< std::vector< bool > > &R, bool B) |
| void | cleanup (std::size_t alpha, std::size_t beta) |
| void | initialise_pre_EA () |
| void | induce_P_on_Pi () |
| std::string | print_Sigma_P () |
| std::string | print_Pi_Q () |
| std::string | print_Sigma () |
| std::string | print_Pi () |
| std::string | print_relation (std::size_t s, std::vector< std::vector< bool > > &R) |
| std::string | print_block (std::size_t b) |
| std::string | print_structure (hash_table3 *struc) |
| std::string | print_reverse_topological_sort (const std::vector< std::size_t > &Sort) |
Protected Attributes | |
| LTS_TYPE & | aut |
| mcrl2::lts::outgoing_transitions_per_state_action_t | trans_index |
| std::size_t | s_Sigma = 0UL |
| std::size_t | s_Pi = 0UL |
| std::vector< bool > | state_touched |
| std::vector< bool > | block_touched |
| std::vector< state_bucket > | state_buckets |
| std::vector< std::size_t > | block_Pi |
| std::vector< std::size_t > | parent |
| std::vector< std::vector< std::size_t > > | children |
| std::vector< ptrdiff_t > | contents_t |
| std::vector< ptrdiff_t > | contents_u |
| std::vector< std::vector< bool > > | stable |
| hash_table3 * | exists |
| hash_table3 * | forall |
| std::vector< std::vector< std::size_t > > | pre_exists |
| std::vector< std::vector< std::size_t > > | pre_forall |
| hash_table3 * | match |
| std::vector< std::vector< bool > > | P |
| std::vector< std::vector< bool > > | Q |
| std::vector< std::size_t > | touched_blocks |
| std::vector< std::size_t > | contents |
Definition at line 24 of file liblts_sim.h.
| mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::sim_partitioner | ( | LTS_TYPE & | l | ) |
Creates a partitioner for an LTS.
| [in] | l | Pointer to the LTS. |
Definition at line 155 of file liblts_sim.h.
|
virtual |
Destroys this partitioner.
Definition at line 164 of file liblts_sim.h.
|
protected |
Definition at line 735 of file liblts_sim.h.
|
protected |
Definition at line 476 of file liblts_sim.h.
|
protected |
Definition at line 675 of file liblts_sim.h.
| std::size_t mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::get_eq_class | ( | std::size_t | s | ) | const |
Gives the equivalence class number of a state. The equivalence class numbers range from 0 upto (and excluding) num_eq_classes().
| [in] | s | A state number. |
Definition at line 838 of file liblts_sim.h.
| std::vector< mcrl2::lts::transition > mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::get_transitions |
Gives the transition relation on the computed equivalence classes of the LTS. The label numbers of the transitions correspond to the label numbers of the LTS that was passed as an argument to the constructor of this partitioner. The state numbers of the transitions are the equivalence class numbers which range from 0 upto (and excluding) num_eq_classes().
Definition at line 780 of file liblts_sim.h.
| bool mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::in_preorder | ( | std::size_t | s, |
| std::size_t | t | ||
| ) | const |
Returns whether one state is simulated by another state.
| [in] | s | A state number. |
| [in] | t | A state number. |
| true | if s is simulated by t; |
| false | otherwise. |
Definition at line 844 of file liblts_sim.h.
| bool mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::in_same_class | ( | std::size_t | s, |
| std::size_t | t | ||
| ) | const |
Returns whether two states are in the same simulation equivalence class.
| [in] | s | A state number. |
| [in] | t | A state number. |
| true | if s and t are in the same simulation equivalence class; |
| false | otherwise. |
Definition at line 850 of file liblts_sim.h.
|
protected |
Definition at line 652 of file liblts_sim.h.
|
protected |
Definition at line 235 of file liblts_sim.h.
|
protected |
Definition at line 291 of file liblts_sim.h.
|
protected |
Definition at line 641 of file liblts_sim.h.
|
protected |
Definition at line 336 of file liblts_sim.h.
| std::size_t mcrl2::lts::detail::sim_partitioner< LTS_TYPE >::num_eq_classes |
Gives the number of simulation equivalence classes of the LTS.
Definition at line 832 of file liblts_sim.h.
|
virtual |
Computes the simulation equivalence classes and preorder relations of the LTS.
Reimplemented in mcrl2::lts::detail::ready_sim_partitioner< LTS_TYPE >.
Definition at line 174 of file liblts_sim.h.
|
protected |
Computes the simulation equivalence classes and preorder relations of the LTS.
Definition at line 182 of file liblts_sim.h.
|
protected |
Definition at line 908 of file liblts_sim.h.
|
protected |
Definition at line 896 of file liblts_sim.h.
|
protected |
Definition at line 867 of file liblts_sim.h.
|
protected |
Definition at line 924 of file liblts_sim.h.
|
protected |
Definition at line 963 of file liblts_sim.h.
|
protected |
Definition at line 876 of file liblts_sim.h.
|
protected |
Definition at line 858 of file liblts_sim.h.
|
protected |
Definition at line 947 of file liblts_sim.h.
|
protected |
Definition at line 351 of file liblts_sim.h.
|
protected |
Definition at line 463 of file liblts_sim.h.
|
protected |
Definition at line 491 of file liblts_sim.h.
|
protected |
Definition at line 519 of file liblts_sim.h.
|
protected |
Definition at line 547 of file liblts_sim.h.
|
protected |
Definition at line 96 of file liblts_sim.h.
|
protected |
Definition at line 103 of file liblts_sim.h.
|
protected |
Definition at line 101 of file liblts_sim.h.
|
protected |
Definition at line 105 of file liblts_sim.h.
|
protected |
Definition at line 119 of file liblts_sim.h.
|
protected |
Definition at line 106 of file liblts_sim.h.
|
protected |
Definition at line 107 of file liblts_sim.h.
|
protected |
Definition at line 109 of file liblts_sim.h.
|
protected |
Definition at line 110 of file liblts_sim.h.
|
protected |
Definition at line 113 of file liblts_sim.h.
|
protected |
Definition at line 114 of file liblts_sim.h.
|
protected |
Definition at line 104 of file liblts_sim.h.
|
protected |
Definition at line 111 of file liblts_sim.h.
|
protected |
Definition at line 112 of file liblts_sim.h.
|
protected |
Definition at line 115 of file liblts_sim.h.
|
protected |
Definition at line 99 of file liblts_sim.h.
|
protected |
Definition at line 98 of file liblts_sim.h.
|
protected |
Definition at line 108 of file liblts_sim.h.
|
protected |
Definition at line 102 of file liblts_sim.h.
|
protected |
Definition at line 100 of file liblts_sim.h.
|
protected |
Definition at line 118 of file liblts_sim.h.
|
protected |
Definition at line 97 of file liblts_sim.h.