Awali
Another Weighted Automata library
accessible.hh
Go to the documentation of this file.
1 // This file is part of Awali.
2 // Copyright 2016-2022 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3 //
4 // Awali is a free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 /* @file accessible.hh
18  *
19  * This files contains dynamic functions computing accessible states.
20  */
21 #ifndef DYN_MODULES_ACCESSIBLE_HH
22 #define DYN_MODULES_ACCESSIBLE_HH
23 
24 #include <set>
25 
29 
30 namespace awali {
31  namespace dyn {
32 
39  std::set<state_t> accessible_states(automaton_t aut);
40 
41 
48  std::set<state_t> coaccessible_states(automaton_t aut);
49 
50 
57  std::set<state_t> useful_states(automaton_t aut);
58 
59 
68 
69 
77 
78 
98 
99 
119 
120 
139 
140 
147  bool is_trim(automaton_t aut);
148 
149 
157 
158 
166 
167 
175 
176 
184 
185 
186  }
187 }//end of namespaces awali::dyn, and awali.
188 
189 #endif
An automaton_t is essentially a shared pointer to an abstract_automaton_t, but also contains static f...
Definition: automaton.hh:93
An options_t is a set of optional parameters that is passed on to called functions.
Definition: options.hh:86
size_t num_accessible_states(automaton_t aut)
Computes the number of accessible states in aut.
bool is_empty(automaton_t aut)
Tests whether the automaton has no state.
std::set< state_t > coaccessible_states(automaton_t aut)
Computes the list of coaccessible states in aut.
bool is_trim(automaton_t aut)
Tests whether aut is trim.
std::set< state_t > useful_states(automaton_t aut)
Computes the list of useful states in aut.
automaton_t trim(automaton_t aut, options_t opts={})
Trims aut or returns a trimmed copy of aut.
bool is_accessible(automaton_t aut)
Tests whether every state of the automaton is accessible.
automaton_t coaccessible(automaton_t aut, options_t opt={})
Makes aut coaccessible or returns a copy of the coaccessible part of aut.
std::set< state_t > accessible_states(automaton_t aut)
Computes the list of accessible states in aut.
bool is_useless(automaton_t aut)
Tests whether the automaton has useful states.
bool is_coaccessible(automaton_t aut)
Tests whether every state of aut is coaccessible.
automaton_t accessible(automaton_t aut, options_t opt={})
Makes aut accessible or returns a copy of the accessible part of aut.
size_t num_coaccessible_states(automaton_t aut)
Computes the number of coaccessible states in aut.
Main namespace of Awali.
Definition: ato.hh:22