17 template <
typename State>
41 size_t insp,
size_t in,
42 size_t outsp,
size_t out)
44 , in_sp(insp), in_nsp(in - insp)
45 , out_sp(outsp), out_nsp(out - outsp)
49 size_t outsp,
size_t out)
54 out_nsp = out - outsp;
71 < std::tie(out_sp, out_nsp, in_sp, r.
state));
size_t in_sp
Number of incoming spontaneous transitions.
bool operator<(const epsilon_profile &r) const
Whether l < r for the max-heap.
friend std::ostream & operator<<(std::ostream &o, const epsilon_profile &p)
Provide a variadic mul on top of a binary mul(), and one().
state_t state
From the heap's top, recover state to eliminate.
size_t in_nsp
Number of incoming non-spontaneous transitions.
This is used by some epsilon removal algorithms.
auto out(const Aut &aut, state_t_of< Aut > s)
Indexes of visible transitions leaving state s.
size_t out_nsp
Number of outgoing non-spontaneous transitions.
void update(size_t insp, size_t in, size_t outsp, size_t out)
auto in(const Aut &aut, state_t_of< Aut > s)
Indexes of visible transitions arriving to state s.
epsilon_profile(state_t s, size_t insp, size_t in, size_t outsp, size_t out)
Generate a state profile.
size_t out_sp
Number of outgoing spontaneous transitions.