Vcsn
2.0
Be Rational
|
#include <is-valid.hh>
Public Types | |
using | automaton_t = typename std::remove_cv< Aut >::type |
using | weightset_t = weightset_t_of< automaton_t > |
Static Public Member Functions | |
static bool | is_valid (const automaton_t &aut) |
Whether an automaton is valid. More... | |
Static Private Member Functions | |
template<star_status_t Status> | |
static std::enable_if< Status==star_status_t::TOPS, bool >::type | is_valid_ (const automaton_t &aut) |
template<star_status_t Status> | |
static std::enable_if< Status==star_status_t::ABSVAL, bool >::type | is_valid_ (const automaton_t &aut) |
template<star_status_t Status> | |
static std::enable_if< Status==star_status_t::STARRABLE, bool >::type | is_valid_ (const automaton_t &) |
template<star_status_t Status> | |
static std::enable_if< Status==star_status_t::NON_STARRABLE, bool >::type | is_valid_ (const automaton_t &aut) |
Definition at line 51 of file is-valid.hh.
using vcsn::detail::is_valider< Aut, has_one >::automaton_t = typename std::remove_cv<Aut>::type |
Definition at line 54 of file is-valid.hh.
using vcsn::detail::is_valider< Aut, has_one >::weightset_t = weightset_t_of<automaton_t> |
Definition at line 55 of file is-valid.hh.
|
inlinestatic |
Whether an automaton is valid.
The behavior of this method depends on the star_status of the weight_set:
– starrable: return true; – tops: copy the input and return the result of proper on the copy; – non_starrable: return true iff the automaton is epsilon-acyclic WARNING: for weight_sets with zero divisor, should test whether the weight of every simple circuit is zero; – absval: build a copy of the input where each weight is replaced by its absolute value and return the result of proper on the copy.
aut | The tested automaton |
Definition at line 75 of file is-valid.hh.
Referenced by vcsn::is_valid().
|
inlinestaticprivate |
Definition at line 85 of file is-valid.hh.
References vcsn::copy(), vcsn::is_eps_acyclic(), vcsn::is_proper(), and vcsn::detail::is_properable().
|
inlinestaticprivate |
Definition at line 96 of file is-valid.hh.
References vcsn::detail::absval(), vcsn::is_eps_acyclic(), vcsn::is_proper(), and vcsn::detail::is_properable().
|
inlinestaticprivate |
Definition at line 107 of file is-valid.hh.
|
inlinestaticprivate |
Definition at line 116 of file is-valid.hh.
References vcsn::is_eps_acyclic(), and vcsn::is_proper().