Vcsn
2.0
Be Rational
|
#include <star-normal-form.hh>
Public Types | |
enum | operation_t { dot, box } |
The type of the operator. More... | |
using | ratexpset_t = RatExpSet |
using | ratexp_t = typename ratexpset_t::value_t |
using | context_t = context_t_of< ratexpset_t > |
using | weightset_t = weightset_t_of< context_t > |
using | weight_t = typename weightset_t::value_t |
using | super_t = typename RatExpSet::const_visitor |
Public Member Functions | |
star_normal_form_visitor (const ratexpset_t &rs) | |
ratexp_t | operator() (const ratexp_t &v) |
VCSN_RAT_VISIT (zero,) | |
VCSN_RAT_VISIT (one,) | |
VCSN_RAT_VISIT (atom, v) | |
VCSN_RAT_VISIT (sum, v) | |
VCSN_RAT_VISIT (prod, v) | |
void | box_of (const prod_t &v) |
Handling of a product by the box operator. More... | |
void | dot_of (const prod_t &v) |
Handling of a product by the dot operator. More... | |
VCSN_RAT_VISIT (star, v) | |
VCSN_RAT_VISIT (lweight, v) | |
VCSN_RAT_VISIT (rweight, v) | |
Static Public Member Functions | |
static constexpr const char * | me () |
Private Attributes | |
ratexpset_t | rs_ |
weightset_t | ws_ = *rs_.weightset() |
Shorthand to the weightset. More... | |
ratexp_t | res_ |
The result. More... | |
operation_t | operation_ = dot |
The current operation. More... | |
RatExpSet | relative to the RatExp. |
Implementation based on the dot/box operators as defined in "On the Number of Broken Derived Terms of a Rational Expression", Pierre-Yves Angrand, Sylvain Lombardy, Jacques Sakarovitch.
Definition at line 27 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::context_t = context_t_of<ratexpset_t> |
Definition at line 33 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::ratexp_t = typename ratexpset_t::value_t |
Definition at line 32 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::ratexpset_t = RatExpSet |
Definition at line 31 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::super_t = typename RatExpSet::const_visitor |
Definition at line 37 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::weight_t = typename weightset_t::value_t |
Definition at line 35 of file star-normal-form.hh.
using vcsn::rat::star_normal_form_visitor< RatExpSet >::weightset_t = weightset_t_of<context_t> |
Definition at line 34 of file star-normal-form.hh.
enum vcsn::rat::star_normal_form_visitor::operation_t |
|
inline |
Definition at line 44 of file star-normal-form.hh.
|
inline |
Handling of a product by the box operator.
Definition at line 99 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::box, vcsn::constant_term(), vcsn::rat::star_normal_form_visitor< RatExpSet >::dot, vcsn::rat::star_normal_form_visitor< RatExpSet >::dot_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::operation_, vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::ws_.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().
|
inline |
Handling of a product by the dot operator.
Definition at line 127 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().
|
inlinestatic |
Definition at line 39 of file star-normal-form.hh.
|
inline |
Definition at line 49 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::dot, vcsn::rat::star_normal_form_visitor< RatExpSet >::operation_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::res_.
|
inline |
Definition at line 56 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
|
inline |
|
inline |
Definition at line 66 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
|
inline |
Definition at line 72 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
|
inline |
Definition at line 90 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::box, vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::dot_of(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::operation_.
|
inline |
Definition at line 139 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::box, vcsn::constant_term(), vcsn::rat::star_normal_form_visitor< RatExpSet >::dot, vcsn::rat::star_normal_form_visitor< RatExpSet >::operation_, vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::ws_.
|
inline |
Definition at line 155 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
|
inline |
Definition at line 161 of file star-normal-form.hh.
References vcsn::rat::star_normal_form_visitor< RatExpSet >::res_, and vcsn::rat::star_normal_form_visitor< RatExpSet >::rs_.
|
private |
The current operation.
Definition at line 174 of file star-normal-form.hh.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::operator()(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().
|
private |
The result.
Definition at line 172 of file star-normal-form.hh.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::dot_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::operator()(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().
|
private |
Definition at line 168 of file star-normal-form.hh.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), vcsn::rat::star_normal_form_visitor< RatExpSet >::dot_of(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().
|
private |
Shorthand to the weightset.
Definition at line 170 of file star-normal-form.hh.
Referenced by vcsn::rat::star_normal_form_visitor< RatExpSet >::box_of(), and vcsn::rat::star_normal_form_visitor< RatExpSet >::VCSN_RAT_VISIT().