Vcsn
2.0
Be Rational
|
Apply a quotient onto an automaton: fuse equivalent states. More...
#include <quotient.hh>
Public Types | |
using | automaton_t = Aut |
using | partition_automaton_t = partition_automaton< automaton_t > |
using | class_t = unsigned |
using | state_t = state_t_of< automaton_t > |
using | set_t = std::vector< state_t > |
using | state_to_class_t = std::unordered_map< state_t, class_t > |
using | class_to_set_t = std::vector< set_t > |
using | class_to_state_t = std::vector< state_t > |
Public Member Functions | |
quotienter (class_to_set_t &class_to_set) | |
void | sort_classes_ () |
Sort the classes. More... | |
partition_automaton_t | build_result_ (const automaton_t &aut) |
Build the resulting automaton. More... | |
partition_automaton_t | operator() (const automaton_t &aut) |
The minimized automaton. More... | |
Private Member Functions | |
std::ostream & | print_ (const set_t &ss, std::ostream &o) const |
std::ostream & | print_ (const class_to_set_t &c2ss, std::ostream &o) const |
Private Attributes | |
class_to_set_t & | class_to_set_ |
unsigned | num_classes_ |
class_to_state_t | class_to_res_state_ |
Apply a quotient onto an automaton: fuse equivalent states.
Definition at line 21 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::automaton_t = Aut |
Definition at line 24 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::class_t = unsigned |
Definition at line 27 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::class_to_set_t = std::vector<set_t> |
Definition at line 31 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::class_to_state_t = std::vector<state_t> |
Definition at line 32 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::partition_automaton_t = partition_automaton<automaton_t> |
Definition at line 25 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::set_t = std::vector<state_t> |
Definition at line 29 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::state_t = state_t_of<automaton_t> |
Definition at line 28 of file quotient.hh.
using vcsn::detail::quotienter< Aut >::state_to_class_t = std::unordered_map<state_t, class_t> |
Definition at line 30 of file quotient.hh.
|
inline |
class_to_set | The equivalence classes. Might be modified to put the states with the smallest ID first in their class. |
Definition at line 37 of file quotient.hh.
References vcsn::detail::quotienter< Aut >::sort_classes_().
|
inline |
Build the resulting automaton.
Definition at line 68 of file quotient.hh.
References vcsn::detail::quotienter< Aut >::class_to_res_state_, vcsn::detail::quotienter< Aut >::class_to_set_, and vcsn::detail::quotienter< Aut >::num_classes_.
Referenced by vcsn::detail::quotienter< Aut >::operator()().
|
inline |
The minimized automaton.
Definition at line 104 of file quotient.hh.
References vcsn::detail::quotienter< Aut >::build_result_().
|
inlineprivate |
Definition at line 110 of file quotient.hh.
Referenced by vcsn::detail::quotienter< Aut >::print_().
|
inlineprivate |
Definition at line 121 of file quotient.hh.
References vcsn::detail::quotienter< Aut >::print_().
|
inline |
Sort the classes.
This step, which is "useless" in that the result would be correct anyway, just ensures that the classes are numbered after their states: classes are sorted by the smallest of their state ids.
Definition at line 50 of file quotient.hh.
References vcsn::detail::quotienter< Aut >::class_to_set_, vcsn::detail::quotienter< Aut >::num_classes_, and vcsn::sort().
Referenced by vcsn::detail::quotienter< Aut >::quotienter().
|
private |
Definition at line 136 of file quotient.hh.
Referenced by vcsn::detail::quotienter< Aut >::build_result_().
|
private |
Definition at line 134 of file quotient.hh.
Referenced by vcsn::detail::quotienter< Aut >::build_result_(), and vcsn::detail::quotienter< Aut >::sort_classes_().
|
private |
Definition at line 135 of file quotient.hh.
Referenced by vcsn::detail::quotienter< Aut >::build_result_(), and vcsn::detail::quotienter< Aut >::sort_classes_().