Awali
Another Weighted Automata library
|
Build the (accessible part of the) product. More...
#include <product.hh>
Public Types | |
using | automata_t = std::tuple< Auts... > |
The type of input automata. More... | |
using | context_t = context_t_of< Aut > |
The context of the result. More... | |
using | indices_t = awali::internal::make_index_sequence< sizeof...(Auts)> |
The list of automaton indices as a static list. More... | |
template<size_t I> | |
using | input_automaton_t = base_t< typename std::tuple_element< I, automata_t >::type > |
The type of the Ith input automaton, unqualified. More... | |
using | label_t = typename labelset_t::value_t |
using | labelset_t = labelset_t_of< context_t > |
template<std::size_t... I> | |
using | seq = awali::internal::index_sequence< I... > |
template<typename A > | |
using | transition_map_t = transition_map< A, weightset_t, false, true > |
The type of our transition maps: convert the weight to weightset_t, non deterministic, and including transitions to post(). More... | |
using | tuple_t = typename std::cst_tuple< state_t, std::tuple_size< std::tuple< Auts... > >::value >::type |
using | weight_t = typename weightset_t::value_t |
using | weightset_t = weightset_t_of< context_t > |
Public Member Functions | |
product_algo_impl (Aut aut, const Auts &... auts) | |
void | infiltration () |
Compute the (accessible part of the) infiltration product. More... | |
tuple_t | post_ () const |
The name of the post of the output automaton. More... | |
template<size_t... I> | |
tuple_t | post_ (seq< I... >) const |
tuple_t | pre_ () const |
The name of the pre of the output automaton. More... | |
template<size_t... I> | |
tuple_t | pre_ (seq< I... >) const |
void | product () |
Compute the (accessible part of the) product. More... | |
void | set_history () |
void | shuffle () |
Compute the (accessible part of the) shuffle product. More... | |
state_t | state (tuple_t state) |
The state in the product corresponding to a tuple of states of operands. More... | |
Static Public Attributes | |
static constexpr indices_t | indices {} |
Build the (accessible part of the) product.
using awali::sttc::internal::product_algo_impl< Aut, Auts >::automata_t = std::tuple<Auts...> |
The type of input automata.
using awali::sttc::internal::product_algo_impl< Aut, Auts >::context_t = context_t_of<Aut> |
The context of the result.
using awali::sttc::internal::product_algo_impl< Aut, Auts >::indices_t = awali::internal::make_index_sequence<sizeof...(Auts)> |
The list of automaton indices as a static list.
using awali::sttc::internal::product_algo_impl< Aut, Auts >::input_automaton_t = base_t<typename std::tuple_element<I, automata_t>::type> |
The type of the Ith input automaton, unqualified.
using awali::sttc::internal::product_algo_impl< Aut, Auts >::label_t = typename labelset_t::value_t |
using awali::sttc::internal::product_algo_impl< Aut, Auts >::labelset_t = labelset_t_of<context_t> |
using awali::sttc::internal::product_algo_impl< Aut, Auts >::seq = awali::internal::index_sequence<I...> |
using awali::sttc::internal::product_algo_impl< Aut, Auts >::transition_map_t = transition_map<A, weightset_t, false, true> |
The type of our transition maps: convert the weight to weightset_t, non deterministic, and including transitions to post().
using awali::sttc::internal::product_algo_impl< Aut, Auts >::tuple_t = typename std::cst_tuple<state_t, std::tuple_size<std::tuple<Auts...> >::value>::type |
using awali::sttc::internal::product_algo_impl< Aut, Auts >::weight_t = typename weightset_t::value_t |
using awali::sttc::internal::product_algo_impl< Aut, Auts >::weightset_t = weightset_t_of<context_t> |
awali::sttc::internal::product_algo_impl< Aut, Auts >::product_algo_impl | ( | Aut | aut, |
const Auts &... | auts | ||
) |
void awali::sttc::internal::product_algo_impl< Aut, Auts >::infiltration | ( | ) |
Compute the (accessible part of the) infiltration product.
tuple_t awali::sttc::internal::product_algo_impl< Aut, Auts >::post_ | ( | ) | const |
The name of the post of the output automaton.
tuple_t awali::sttc::internal::product_algo_impl< Aut, Auts >::post_ | ( | seq< I... > | ) | const |
tuple_t awali::sttc::internal::product_algo_impl< Aut, Auts >::pre_ | ( | ) | const |
The name of the pre of the output automaton.
tuple_t awali::sttc::internal::product_algo_impl< Aut, Auts >::pre_ | ( | seq< I... > | ) | const |
void awali::sttc::internal::product_algo_impl< Aut, Auts >::product | ( | ) |
Compute the (accessible part of the) product.
void awali::sttc::internal::product_algo_impl< Aut, Auts >::set_history | ( | ) |
void awali::sttc::internal::product_algo_impl< Aut, Auts >::shuffle | ( | ) |
Compute the (accessible part of the) shuffle product.
state_t awali::sttc::internal::product_algo_impl< Aut, Auts >::state | ( | tuple_t | state | ) |
The state in the product corresponding to a tuple of states of operands.
Add the given two source-automaton states to the worklist for the given result automaton if they aren't already there, updating the map; in any case return.
|
staticconstexpr |