Vcsn
2.1
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 = typename std::remove_cv< Aut >::type |
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 | transitions_t = std::vector< transition_t > |
using | proper_ctx_t = detail::proper_context< context_t_of< Aut >> |
using | dirty_ctx_t = context< vcsn::oneset, weightset_t > |
using | aut_dirty_t = mutable_automaton< dirty_ctx_t > |
using | aut_proper_t = fresh_automaton_t_of< Aut, proper_ctx_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_t > | d2p_ |
std::vector< state_t > | p2d_ |
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 |
Definition at line 34 of file epsilon-remover-distance.hh.
|
private |
Definition at line 35 of file epsilon-remover-distance.hh.
|
private |
Definition at line 23 of file epsilon-remover-distance.hh.
|
private |
Definition at line 32 of file epsilon-remover-distance.hh.
|
private |
Definition at line 37 of file epsilon-remover-distance.hh.
|
private |
Definition at line 27 of file epsilon-remover-distance.hh.
|
private |
Definition at line 31 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 29 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 40 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::make_copier(), vcsn::detail::make_proper_context(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::p2d_, and vcsn::detail::epsilon_remover_distance< Aut, has_one >::ws_.
|
inline |
Definition at line 83 of file epsilon-remover-distance.hh.
References 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 >::p2d_, vcsn::detail::epsilon_remover_distance< Aut, has_one >::prune_, and vcsn::detail::epsilon_remover_distance< Aut, has_one >::ws_.
|
private |
Definition at line 112 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::epsilon_remover_distance().
|
private |
The automata we work on.
Definition at line 111 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 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 |
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()().
|
private |
Definition at line 121 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 |
Whether to prune states that become inaccessible.
Definition at line 118 of file epsilon-remover-distance.hh.
Referenced by vcsn::detail::epsilon_remover_distance< Aut, has_one >::operator()().
|
private |
Shorthand to the weightset.
Definition at line 115 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()().