Vcsn  2.2
Be Rational
vcsn::detail::cycle_identity_impl< Aut > Class Template Reference

Whether all the paths between any two states have the same weight (i.e., for all s0, s1, any two paths p0, p1 between s0 and s1 have the same weight w_{s0,s1}). More...

#include <has-twins-property.hh>

Collaboration diagram for vcsn::detail::cycle_identity_impl< Aut >:

Public Types

using transition_t = transition_t_of< Aut >
 
using weight_t = weight_t_of< Aut >
 
using state_t = state_t_of< Aut >
 
using component_t = detail::component_t< Aut >
 

Public Member Functions

bool check (const component_t &component, const Aut &aut)
 By DFS starting in s0, check that all the states are reached with a single weight. More...
 

Detailed Description

template<Automaton Aut>
class vcsn::detail::cycle_identity_impl< Aut >

Whether all the paths between any two states have the same weight (i.e., for all s0, s1, any two paths p0, p1 between s0 and s1 have the same weight w_{s0,s1}).

Because we are on an SCC, it suffices to check on a DFS that every state is reached with a unique weight from any chosen "initial" state.

Definition at line 31 of file has-twins-property.hh.

Member Typedef Documentation

template<Automaton Aut>
using vcsn::detail::cycle_identity_impl< Aut >::component_t = detail::component_t<Aut>

Definition at line 37 of file has-twins-property.hh.

template<Automaton Aut>
using vcsn::detail::cycle_identity_impl< Aut >::state_t = state_t_of<Aut>

Definition at line 36 of file has-twins-property.hh.

template<Automaton Aut>
using vcsn::detail::cycle_identity_impl< Aut >::transition_t = transition_t_of<Aut>

Definition at line 34 of file has-twins-property.hh.

template<Automaton Aut>
using vcsn::detail::cycle_identity_impl< Aut >::weight_t = weight_t_of<Aut>

Definition at line 35 of file has-twins-property.hh.

Member Function Documentation

template<Automaton Aut>
bool vcsn::detail::cycle_identity_impl< Aut >::check ( const component_t component,
const Aut &  aut 
)
inline

By DFS starting in s0, check that all the states are reached with a single weight.

Definition at line 41 of file has-twins-property.hh.

References vcsn::detail::all_out(), and vcsn::has().

Referenced by vcsn::cycle_identity().

Here is the call graph for this function:


The documentation for this class was generated from the following file: