![]() |
Vcsn
2.0
Be Rational
|
#include <minimize-signature.hh>
Classes | |
| class | signature_equal_to |
| class | signature_hasher |
| class | signature_multimap |
| struct | state_output_for_label_t |
Public Types | |
| using | state_output_t = std::vector< state_output_for_label_t > |
| using | label_to_states_t = std::map< label_t, std::vector< state_t >, vcsn::less< labelset_t >> |
Public Member Functions | |
| void | clear () |
| class_t | make_class (set_t &&set, class_t number=class_invalid) |
| Make a new class with the given set of states. More... | |
| minimizer (const Aut &a) | |
| void | build_classes_ () |
| Build the initial classes, and split until fix point. More... | |
| partition_automaton< automaton_t > | operator() () |
| The minimized automaton. More... | |
Static Public Member Functions | |
| static std::ostream & | print_ (const set_t &ss, std::ostream &o) |
| static std::ostream & | print_ (const class_to_set_t &c2ss, std::ostream &o) |
| static std::ostream & | print_ (const state_output_t &outs, std::ostream &o) |
Public Attributes | |
| std::unordered_map< state_t, state_output_t > | state_to_state_output_ |
Private Types | |
| using | automaton_t = Aut |
| using | labelset_t = labelset_t_of< automaton_t > |
| using | label_t = label_t_of< automaton_t > |
| using | state_t = state_t_of< automaton_t > |
| using | class_t = unsigned |
| 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 > |
Static Private Member Functions | |
| static constexpr const char * | me () |
Private Attributes | |
| const automaton_t & | a_ |
| Input automaton, supplied at construction time. More... | |
| const labelset_t & | ls_ |
| unsigned | num_classes_ = 0 |
| class_to_set_t | class_to_set_ |
| state_to_class_t | state_to_class_ |
Static Private Attributes | |
| static constexpr class_t | class_invalid = -1 |
| An invalid class. More... | |
Friends | |
| class | signature_hasher |
| class | signature_equal_to |
| class | signature_multimap |
Definition at line 25 of file minimize-signature.hh.
|
private |
Definition at line 30 of file minimize-signature.hh.
|
private |
Definition at line 40 of file minimize-signature.hh.
|
private |
Definition at line 43 of file minimize-signature.hh.
|
private |
Definition at line 38 of file minimize-signature.hh.
| using vcsn::detail_signature::minimizer< Aut >::label_to_states_t = std::map<label_t, std::vector<state_t>, vcsn::less<labelset_t>> |
Definition at line 123 of file minimize-signature.hh.
|
private |
Definition at line 35 of file minimize-signature.hh.
|
private |
Definition at line 41 of file minimize-signature.hh.
| using vcsn::detail_signature::minimizer< Aut >::state_output_t = std::vector<state_output_for_label_t> |
Definition at line 103 of file minimize-signature.hh.
|
private |
Definition at line 39 of file minimize-signature.hh.
|
private |
Definition at line 42 of file minimize-signature.hh.
|
inline |
Definition at line 319 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::a_, vcsn::is_trim(), vcsn::detail_signature::minimizer< Aut >::me(), vcsn::require(), vcsn::sort(), and vcsn::detail_signature::minimizer< Aut >::state_to_state_output_.
|
inline |
Build the initial classes, and split until fix point.
Definition at line 345 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::a_, vcsn::detail_signature::minimizer< Aut >::class_invalid, vcsn::detail_signature::minimizer< Aut >::class_to_set_, vcsn::detail_signature::minimizer< Aut >::ls_, vcsn::detail_signature::minimizer< Aut >::make_class(), vcsn::detail_signature::minimizer< Aut >::num_classes_, vcsn::detail_signature::minimizer< Aut >::print_(), vcsn::detail_signature::minimizer< Aut >::state_to_class_, and vcsn::detail_signature::minimizer< Aut >::state_to_state_output_.
Referenced by vcsn::detail_signature::minimizer< Aut >::operator()().
|
inline |
Definition at line 291 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::class_to_set_, vcsn::detail_signature::minimizer< Aut >::num_classes_, and vcsn::detail_signature::minimizer< Aut >::state_to_class_.
|
inline |
Make a new class with the given set of states.
Definition at line 299 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::class_invalid, vcsn::detail_signature::minimizer< Aut >::class_to_set_, vcsn::detail_signature::minimizer< Aut >::num_classes_, and vcsn::detail_signature::minimizer< Aut >::state_to_class_.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_().
|
inlinestaticprivate |
Definition at line 45 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::minimizer().
|
inline |
The minimized automaton.
Definition at line 411 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::a_, vcsn::detail_signature::minimizer< Aut >::build_classes_(), vcsn::detail_signature::minimizer< Aut >::class_to_set_, and vcsn::quotient().
|
inlinestatic |
Definition at line 55 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), vcsn::detail_signature::minimizer< Aut >::signature_hasher::operator()(), vcsn::detail_signature::minimizer< Aut >::signature_equal_to::operator()(), and vcsn::detail_signature::minimizer< Aut >::print_().
|
inlinestatic |
Definition at line 68 of file minimize-signature.hh.
References vcsn::detail_signature::minimizer< Aut >::print_().
|
inlinestatic |
Definition at line 106 of file minimize-signature.hh.
|
friend |
Definition at line 162 of file minimize-signature.hh.
|
friend |
Definition at line 127 of file minimize-signature.hh.
|
friend |
Definition at line 246 of file minimize-signature.hh.
|
private |
Input automaton, supplied at construction time.
Definition at line 33 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), vcsn::detail_signature::minimizer< Aut >::minimizer(), and vcsn::detail_signature::minimizer< Aut >::operator()().
|
staticprivate |
An invalid class.
Definition at line 48 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), and vcsn::detail_signature::minimizer< Aut >::make_class().
|
private |
|
private |
Definition at line 36 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_().
|
private |
Definition at line 49 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), vcsn::detail_signature::minimizer< Aut >::clear(), and vcsn::detail_signature::minimizer< Aut >::make_class().
|
private |
Definition at line 52 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), vcsn::detail_signature::minimizer< Aut >::clear(), and vcsn::detail_signature::minimizer< Aut >::make_class().
| std::unordered_map<state_t, state_output_t> vcsn::detail_signature::minimizer< Aut >::state_to_state_output_ |
Definition at line 125 of file minimize-signature.hh.
Referenced by vcsn::detail_signature::minimizer< Aut >::build_classes_(), and vcsn::detail_signature::minimizer< Aut >::minimizer().