Vcsn
2.0
Be Rational
|
Data needed to compare the elimination order between states. More...
Public Member Functions | |
state_profile (state_t s, size_t insp, size_t in, size_t outsp, size_t out) | |
Generate a state profile. More... | |
void | update (size_t insp, size_t in, size_t outsp, size_t out) |
bool | operator< (const state_profile &r) const |
Whether l < r for the max-heap. More... | |
Public Attributes | |
state_t | state |
From the heap's top, recover state to eliminate. More... | |
size_t | in_sp |
Number of incoming spontaneous transitions. More... | |
size_t | in_nsp |
Number of incoming non-spontaneous transitions. More... | |
size_t | out_sp |
Number of outgoing spontaneous transitions. More... | |
size_t | out_nsp |
Number of outgoing non-spontaneous transitions. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const state_profile &p) |
Data needed to compare the elimination order between states.
Code profiling shows that we spend too much time iterating on outgoing and inconing transitions of states to compute the order of elimination. This structure caches what needs to be compared, and provides the comparison operator.
|
inline |
|
inline |
Whether l < r for the max-heap.
Compare priorities: return true if r should be treated before l. Must be strict.
Definition at line 184 of file proper.hh.
References vcsn::detail::properer< Aut, has_one >::state_profile::in_sp, vcsn::detail::properer< Aut, has_one >::state_profile::out_nsp, vcsn::detail::properer< Aut, has_one >::state_profile::out_sp, and vcsn::detail::properer< Aut, has_one >::state_profile::state.
|
inline |
Definition at line 171 of file proper.hh.
References vcsn::detail::properer< Aut, has_one >::state_profile::in_nsp, vcsn::detail::properer< Aut, has_one >::state_profile::in_sp, vcsn::detail::properer< Aut, has_one >::state_profile::out_nsp, and vcsn::detail::properer< Aut, has_one >::state_profile::out_sp.
|
friend |
size_t vcsn::detail::properer< Aut, has_one >::state_profile::in_nsp |
Number of incoming non-spontaneous transitions.
Definition at line 150 of file proper.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::update().
size_t vcsn::detail::properer< Aut, has_one >::state_profile::in_sp |
Number of incoming spontaneous transitions.
Definition at line 148 of file proper.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().
size_t vcsn::detail::properer< Aut, has_one >::state_profile::out_nsp |
Number of outgoing non-spontaneous transitions.
Definition at line 154 of file proper.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().
size_t vcsn::detail::properer< Aut, has_one >::state_profile::out_sp |
Number of outgoing spontaneous transitions.
Definition at line 152 of file proper.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().
state_t vcsn::detail::properer< Aut, has_one >::state_profile::state |
From the heap's top, recover state to eliminate.
Definition at line 146 of file proper.hh.
Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<().