17 #ifndef AWALI_ALGOS_FACTOR_HH
18 #define AWALI_ALGOS_FACTOR_HH
23 namespace awali {
namespace sttc {
31 template <
typename Aut>
39 template <
typename Aut>
40 typename Aut::element_type::automaton_nocv_t
41 prefix(
const Aut& a,
bool keep_history=
true)
43 auto r =
copy(a, keep_history);
53 template <
typename Aut>
61 template <
typename Aut>
62 typename Aut::element_type::automaton_nocv_t
63 suffix(
const Aut& a,
bool keep_history=
true)
65 auto r =
copy(a, keep_history);
75 template <
typename Aut>
85 template <
typename Aut>
86 typename Aut::element_type::automaton_nocv_t
87 factor(
const Aut& a,
bool keep_history=
true)
89 auto r =
copy(a, keep_history);
The semiring of floating Numbers.
Definition: r.hh:35
std::set< state_t > useful_states(const Aut &aut, bool include_pre_post=false)
List of useful states.
Definition: accessible.hh:131
Aut::element_type::automaton_nocv_t factor(const Aut &a, bool keep_history=true)
Definition: factor.hh:87
std::set< state_t > coaccessible_states(const Aut &aut, bool include_pre_post=false)
List of coaccessible states.
Definition: accessible.hh:113
void factor_here(Aut &a)
Make each useful state both initial and final.
Definition: factor.hh:77
void suffix_here(Aut &a)
Make all accessible states initial.
Definition: factor.hh:55
void prefix_here(Aut &a)
Make all coaccessible states final.
Definition: factor.hh:33
AutOut copy(const AutIn &input, Pred keep_state, bool keep_history=true, bool transpose=false)
A copy of input keeping only its states that are accepted by keep_state.
Definition: copy.hh:189
std::set< state_t > accessible_states(const Aut &aut, bool include_pre_post=false)
List of accessible states.
Definition: accessible.hh:86
Aut::element_type::automaton_nocv_t prefix(const Aut &a, bool keep_history=true)
Definition: factor.hh:41
Aut::element_type::automaton_nocv_t suffix(const Aut &a, bool keep_history=true)
Definition: factor.hh:63
Main namespace of Awali.
Definition: ato.hh:22