Vcsn
2.2
Be Rational
|
This class contains the core of the proper algorithm. More...
#include <epsilon-remover-distance.hh>
Public Member Functions | |
epsilon_remover_distance (const automaton_t &aut, bool prune=true) | |
aut_proper_t | operator() () |
Private Types | |
using | automaton_t = std::remove_cv_t< Aut > |
using | state_t = state_t_of< automaton_t > |
using | weightset_t = weightset_t_of< automaton_t > |
using | weight_t = typename weightset_t::value_t |
using | labelset_t = labelset_t_of< automaton_t > |
using | transition_t = transition_t_of< automaton_t > |
using | dirty_ctx_t = context< vcsn::oneset, weightset_t > |
Context for spontaneous automaton (only spontaneous transitions of the input automaton). More... | |
using | aut_dirty_t = mutable_automaton< dirty_ctx_t > |
Spontaneous automaton. More... | |
using | state_dirty_t = state_t_of< aut_dirty_t > |
using | proper_ctx_t = detail::proper_context< context_t_of< Aut >> |
Context for proper automaton (only proper transitions). More... | |
using | aut_proper_t = fresh_automaton_t_of< Aut, proper_ctx_t > |
Proper automaton. More... | |
using | state_proper_t = state_t_of< aut_proper_t > |
using | label_proper_t = label_t_of< aut_proper_t > |
Private Attributes | |
aut_proper_t | aut_proper_ |
The automata we work on. More... | |
aut_dirty_t | aut_dirty_ |
const weightset_t & | ws_ |
Shorthand to the weightset. More... | |
bool | prune_ |
Whether to prune states that become inaccessible. More... | |
std::vector< state_proper_t > | d2p_ |
dirty states -> proper states. More... | |
std::vector< state_dirty_t > | p2d_ |
proper states -> dirty states. More... | |
std::vector< std::vector< weight_t > > | de_ |
This class contains the core of the proper algorithm.
This class is specialized for labels_are_letter automata since all these methods become trivial.
Definition at line 21 of file epsilon-remover-distance.hh.
|
private |
Spontaneous automaton.
Definition at line 34 of file epsilon-remover-distance.hh.
|
private |
Proper automaton.
Definition at line 40 of file epsilon-remover-distance.hh.
|
private |
Definition at line 23 of file epsilon-remover-distance.hh.
|
private |
Context for spontaneous automaton (only spontaneous transitions of the input automaton).
Definition at line 32 of file epsilon-remover-distance.hh.
|
private |
Definition at line 42 of file epsilon-remover-distance.hh.
|
private |
Definition at line 27 of file epsilon-remover-distance.hh.
|
private |
Context for proper automaton (only proper transitions).
Definition at line 38 of file epsilon-remover-distance.hh.
|
private |
Definition at line 35 of file epsilon-remover-distance.hh.
|
private |
Definition at line 41 of file epsilon-remover-distance.hh.
|
private |
Definition at line 24 of file epsilon-remover-distance.hh.
|
private |
Definition at line 28 of file epsilon-remover-distance.hh.
|
private |
Definition at line 26 of file epsilon-remover-distance.hh.
|
private |
Definition at line 25 of file epsilon-remover-distance.hh.
|
inline |
Definition at line 45 of file epsilon-remover-distance.hh.
References vcsn::all_distances(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::aut_dirty_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::aut_proper_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::d2p_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::de_, vcsn::detail::in(), vcsn::make_copier(), vcsn::detail::make_proper_context(), vcsn::detail::out(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::p2d_, and vcsn::detail::epsilon_remover_distance< Aut, has_one >::ws_.
|
inline |
Definition at line 90 of file epsilon-remover-distance.hh.
References vcsn::detail::all_in(), vcsn::detail::all_out(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::aut_dirty_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::aut_proper_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::d2p_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::de_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::prune_, and vcsn::detail::epsilon_remover_distance< Aut, has_one >::ws_.
|
private |
Definition at line 120 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), and vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().
|
private |
The automata we work on.
Definition at line 119 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), and vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().
|
private |
dirty states -> proper states.
Definition at line 129 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), and vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().
|
private |
Definition at line 133 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), and vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().
|
private |
proper states -> dirty states.
Definition at line 131 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance().
|
private |
Whether to prune states that become inaccessible.
Definition at line 126 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()(), and vcsn::detail::properer< Aut >::remover_().
|
private |
Shorthand to the weightset.
Definition at line 123 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance(), and vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().