![]() |
Vcsn
2.6
Be Rational
|
#include <expansionset.hh>
Classes | |
struct | tuple_impl |
Denormalize a pack of one-tape expansions. More... | |
struct | value_t |
An expansion. More... | |
Public Types | |
using | expressionset_t = ExpSet |
using | self_t = expansionset |
using | context_t = context_t_of< expressionset_t > |
using | labelset_t = labelset_t_of< context_t > |
using | label_t = label_t_of< context_t > |
using | expression_t = typename expressionset_t::value_t |
using | weightset_t = weightset_t_of< expressionset_t > |
using | weight_t = typename weightset_t::value_t |
using | polynomialset_t = expression_polynomialset_t< expressionset_t > |
using | polynomial_t = typename polynomialset_t::value_t |
using | monomial_t = typename polynomialset_t::monomial_t |
using | polys_t = std::map< label_t, polynomial_t, vcsn::less< labelset_t > > |
template<unsigned Tape> | |
using | project_t = expansionset< typename expressionset_t::template project_t< Tape > > |
The type of the expansionset for tape Tape. More... | |
Public Member Functions | |
expansionset (const expressionset_t &rs) | |
const expressionset_t & | expressionset () const |
The expressionset. More... | |
const polynomialset_t & | polynomialset () const |
The polynomialset. More... | |
const context_t & | context () const |
The context. More... | |
std::ostream & | print_set (std::ostream &o, format fmt={}) const |
Print this valueset. More... | |
std::ostream & | print (const value_t &v, std::ostream &o=std::cout, format fmt={}) const |
Print this expansion. More... | |
bool | is_normal (const value_t &x) const |
Whether an expansion is normal. More... | |
value_t & | normalize (value_t &res) const |
Normalize: eliminate null polynomials and move the constant term from the label one. More... | |
value_t & | normalize_ (value_t &res, std::true_type) const |
Normalize res. More... | |
value_t & | normalize_ (value_t &res, std::false_type) const |
Normalize when there is no label one: identity. More... | |
value_t & | denormalize (value_t &res) const |
Move the constant to the polynomial associated to one. More... | |
value_t & | denormalize_ (value_t &res, std::true_type) const |
Denormalize res move the constant to the polynomial associated to one. More... | |
value_t & | denormalize_ (value_t &res, std::false_type) const |
Denormalize when there is no label one: identity. More... | |
template<typename OtherExpSet > | |
value_t | conv (const expansionset< OtherExpSet > &other, const typename expansionset< OtherExpSet >::value_t &v) const |
Convert from another expansionset to self. More... | |
value_t | zero () const |
The zero. More... | |
value_t | one () const |
The one. More... | |
value_t | atom (const label_t &l) const |
A single label. More... | |
void | add_here (value_t &lhs, const value_t &rhs) const |
In place addition. More... | |
value_t | add (value_t res, const value_t &rhs) const |
Addition. More... | |
value_t | lweight (const weight_t &w, value_t res) const |
Left-multiplication by w of rhs. More... | |
value_t & | lweight_here (const weight_t &w, value_t &res) const |
Inplace left-multiplication by w of res. More... | |
value_t | rweight (const value_t &lhs, const weight_t &w) const |
Right-multiplication of lhs by w. More... | |
value_t & | rmul_label_here (value_t &res, const expression_t &rhs) const |
In place right multiplication by an expression. More... | |
value_t & | ldivide_here (const weight_t &w, value_t &res) const |
Inplace left-division by w of res. More... | |
value_t | conjunction (const value_t &l, const value_t &r) const |
The conjunction of l and r. More... | |
value_t | shuffle (const value_t &de, const expression_t &e, const value_t &df, const expression_t &f) const |
The shuffle product of de and df. More... | |
value_t | infiltrate (const value_t &de, const expression_t &e, const value_t &df, const expression_t &f) const |
The infiltration product of l and r. More... | |
value_t | complement (const value_t &v) const |
The complement of v. More... | |
value_t | transpose (const value_t &v) const |
Transpose an expansion. The firsts must be reduced to one. More... | |
value_t | ldivide (value_t lhs, value_t rhs) const |
value_t | determinize (const value_t &v) const |
Turn the polynomials into (normalized) monomials. More... | |
template<unsigned Tape> | |
auto | project () const -> project_t< Tape > |
The expansionset for tape Tape. More... | |
template<typename... Expansions> | |
auto | tuple (Expansions &&... es) const -> value_t |
The tuplization of single-tape expansions into a multitape expansion. More... | |
template<size_t Tape> | |
auto | project (const value_t &v) const |
Project a multitape expansion. More... | |
void | compose_with_one_ (value_t &, const value_t &, const value_t &, std::false_type) const |
void | compose_with_one_ (value_t &res, const value_t &l, const value_t &r, std::true_type) const |
void | compose_with_one_old_ (value_t &res, const value_t &l, const value_t &r) const |
void | compose_with_one_new_ (value_t &res, const value_t &l, const value_t &r) const |
template<typename Ctx = context_t> | |
auto | compose (value_t l, value_t r) const -> std::enable_if_t< are_composable< Ctx, Ctx >() &&number_of_tapes< Ctx >::value==2, value_t > |
The composition of l and r. More... | |
Static Public Member Functions | |
static constexpr const char * | me () |
static symbol | sname () |
The static name. More... | |
static value_t | conv (self_t, const value_t &v) |
Conversion from (this and) other weightsets. More... | |
Private Member Functions | |
template<typename Conjunction > | |
void | conjunctions_with_one_ (value_t &, const value_t &, const value_t &, std::false_type, Conjunction) const |
template<typename Conjunction > | |
void | conjunctions_with_one_ (value_t &res, const value_t &l, const value_t &r, std::true_type, Conjunction conjunction) const |
template<typename LabelSet = labelset_t, typename Conjunction > | |
auto | conjunction_ (value_t l, value_t r, Conjunction conjunction) const -> std::enable_if_t< detail::is_letterized_t< LabelSet > |
The conjunction of l and r. More... | |
for (const auto &p:zip_maps(l.polynomials, r.polynomials)) res.polynomials[p.first] | |
conjunctions_with_one_ (res, l, r, has_one, conjunction) | |
normalize (res) | |
template<typename LabelSet = labelset_t, typename Conjunction > | |
auto | conjunction_ (const value_t &lhs, const value_t &rhs, Conjunction conjunction) const -> std::enable_if_t<!detail::is_letterized_t< LabelSet > |
The conjunction of l and r. More... | |
for (const auto &l:lhs.polynomials) for(const auto &r | |
normalize (res) | |
template<typename Shuffle > | |
value_t & | shuffle_ (value_t &res, const value_t &lhs_xpn, const expression_t &lhs_xpr, const value_t &rhs_xpn, const expression_t &rhs_xpr, Shuffle shuffle) const |
The shuffle product of l and r. More... | |
template<bool IsLetterized> | |
std::enable_if_t<!IsLetterized, value_t > | complement_ (const value_t &) const |
Complement on an invalid labelset. More... | |
template<bool IsLetterized> | |
std::enable_if_t< IsLetterized, value_t > | complement_ (const value_t &v) const |
Complement on a letterized labelset. More... | |
Private Attributes | |
value_t | |
auto | has_one = bool_constant<context_t::has_one()>() |
return | res |
expressionset_t | rs_ |
The expressionset used for the expressions. More... | |
const labelset_t & | ls_ = *rs_.labelset() |
Shorthand to the labelset. More... | |
const weightset_t & | ws_ = *rs_.weightset() |
Shorthand to the weightset. More... | |
polynomialset_t | ps_ = make_expression_polynomialset(rs_) |
The polynomialset for the polynomials. More... | |
bool | old_way_ = !!getenv("VCSN_OLDWAY") |
Whether to running the old composition code. More... | |
bool | denorm_ = old_way_ || !!getenv("VCSN_DENORM") |
Denormalize if requested explicitly, or if running the old way. More... | |
Definition at line 21 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::context_t = context_t_of<expressionset_t> |
Definition at line 26 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::expression_t = typename expressionset_t::value_t |
Definition at line 29 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::expressionset_t = ExpSet |
Definition at line 24 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::label_t = label_t_of<context_t> |
Definition at line 28 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::labelset_t = labelset_t_of<context_t> |
Definition at line 27 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::monomial_t = typename polynomialset_t::monomial_t |
Definition at line 35 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::polynomial_t = typename polynomialset_t::value_t |
Definition at line 34 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::polynomialset_t = expression_polynomialset_t<expressionset_t> |
Definition at line 33 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::polys_t = std::map<label_t, polynomial_t, vcsn::less<labelset_t> > |
Definition at line 42 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::project_t = expansionset<typename expressionset_t::template project_t<Tape> > |
The type of the expansionset for tape Tape.
Definition at line 663 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::self_t = expansionset |
Definition at line 25 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::weight_t = typename weightset_t::value_t |
Definition at line 31 of file expansionset.hh.
using vcsn::rat::expansionset< ExpSet >::weightset_t = weightset_t_of<expressionset_t> |
Definition at line 30 of file expansionset.hh.
|
inline |
Definition at line 53 of file expansionset.hh.
|
inline |
Addition.
Definition at line 288 of file expansionset.hh.
|
inline |
In place addition.
Definition at line 279 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::add(), and vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
A single label.
Definition at line 273 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
The complement of v.
Definition at line 535 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inlineprivate |
Complement on an invalid labelset.
Definition at line 550 of file expansionset.hh.
|
inlineprivate |
Complement on a letterized labelset.
Definition at line 559 of file expansionset.hh.
|
inline |
The composition of l and r.
Definition at line 931 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::compose().
|
inline |
Definition at line 814 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose().
|
inline |
Definition at line 820 of file expansionset.hh.
|
inline |
Definition at line 862 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose_with_one_().
|
inline |
Definition at line 831 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose_with_one_().
|
inline |
The conjunction of l and r.
Definition at line 482 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inlineprivate |
The conjunction of l and r.
When labelset is letterized.
Definition at line 415 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::conjunction(), and vcsn::rat::expansionset< expressionset_t >::infiltrate().
|
inlineprivate |
The conjunction of l and r.
When labelset is not letterized.
Definition at line 435 of file expansionset.hh.
|
inlineprivate |
Definition at line 349 of file expansionset.hh.
|
inlineprivate |
Definition at line 357 of file expansionset.hh.
|
private |
|
inline |
The context.
Definition at line 78 of file expansionset.hh.
|
inlinestatic |
Conversion from (this and) other weightsets.
Definition at line 243 of file expansionset.hh.
|
inline |
Convert from another expansionset to self.
Definition at line 251 of file expansionset.hh.
|
inline |
Move the constant to the polynomial associated to one.
Note that this should be named maybe_denormalize
, as if the labelset has no one, the input argument is returned unmodified. In particular, be sure to use the constant term of the result, even if in typically cases it is expected to be zero.
Definition at line 211 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::ldivide(), and vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
Denormalize res move the constant to the polynomial associated to one.
Definition at line 219 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::denormalize().
|
inline |
Denormalize when there is no label one: identity.
Definition at line 232 of file expansionset.hh.
|
inline |
Turn the polynomials into (normalized) monomials.
Definition at line 648 of file expansionset.hh.
|
inline |
The expressionset.
Definition at line 66 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::conv(), and vcsn::join_weightset_expansionset().
|
private |
|
inlineprivate |
Definition at line 441 of file expansionset.hh.
|
inline |
The infiltration product of l and r.
Definition at line 508 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
Whether an expansion is normal.
Definition at line 148 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
Definition at line 606 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
Inplace left-division by w of res.
Definition at line 337 of file expansionset.hh.
|
inline |
Left-multiplication by w of rhs.
Definition at line 295 of file expansionset.hh.
|
inline |
Inplace left-multiplication by w of res.
Definition at line 302 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::lweight(), and vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inlinestatic |
Definition at line 37 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::complement_().
|
inline |
Normalize: eliminate null polynomials and move the constant term from the label one.
Definition at line 164 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::add_here(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::for(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::ldivide_here(), and vcsn::rat::expansionset< ExpSet >::tuple_impl< Expansions >::tuple().
|
private |
|
private |
|
inline |
Normalize res.
There must not remain a constant-term associated to one: put it with the constant term of the expansion. I.e., turn ε⊙[⟨w⟩ε + P...] + X_p...
into ⟨w⟩ + ε⊙[P...] + X_p...
.
Definition at line 180 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::normalize().
|
inline |
Normalize when there is no label one: identity.
Definition at line 199 of file expansionset.hh.
|
inline |
The one.
Definition at line 267 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::ldivide(), and vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
The polynomialset.
Definition at line 72 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::conv().
|
inline |
Print this expansion.
Definition at line 112 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::print_().
|
inline |
Print this valueset.
Definition at line 84 of file expansionset.hh.
|
inline |
The expansionset for tape Tape.
Definition at line 667 of file expansionset.hh.
|
inline |
Project a multitape expansion.
Definition at line 797 of file expansionset.hh.
|
inline |
In place right multiplication by an expression.
Definition at line 328 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
Right-multiplication of lhs by w.
Definition at line 316 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
The shuffle product of de and df.
d(E) : F + E : d(F)
Definition at line 495 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inlineprivate |
The shuffle product of l and r.
Definition at line 461 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::infiltrate(), and vcsn::rat::expansionset< expressionset_t >::shuffle().
|
inlinestatic |
The static name.
Definition at line 58 of file expansionset.hh.
|
inline |
Transpose an expansion. The firsts must be reduced to one.
Definition at line 593 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
inline |
The tuplization of single-tape expansions into a multitape expansion.
Another implementation is possible, based on the following two-tape example taking e0 and e1, two single-tape expansions:
auto res = value_t{ws_.mul(e0.constant, e1.constant)}; for (const auto& p0: e0.polynomials) for (const auto& p1: e1.polynomials) { auto l = label_t{p0.first, p1.first}; ps_.add_here(res.polynomials[l], ps_.tuple(p0.second, p1.second)); } if (!ws_.is_zero(e0.constant)) { auto rs0 = detail::project<0>(rs_); using p0_t = typename polynomialset_t::template project_t<0>; auto p0 = p0_t{{rs0.one(), e0.constant}}; for (const auto& p1: e1.polynomials) { auto l = label_t{detail::label_one(*rs0.labelset()), p1.first}; ps_.add_here(res.polynomials[l], ps_.tuple(p0, p1.second)); } } if (!ws_.is_zero(e1.constant)) { auto rs1 = detail::project<1>(rs_); using p1_t = typename polynomialset_t::template project_t<1>; auto p1 = p1_t{{rs1.one(), e1.constant}}; for (const auto& p0: e0.polynomials) { auto l = label_t{p0.first, detail::label_one(*rs1.labelset())}; ps_.add_here(res.polynomials[l], ps_.tuple(p0.second, p1)); } } return res;
The first part, the two nested for-loops that deal with the polynomial part of the expansions, is easy to scale to variadic tuples (that's a Cartesian product). The second part, the two if's and loop that deal with the constant terms, is more tricky.
Rather than making the code more complex, since the constant part of the expansions is just the weight of the unit polynomial for the unit label, let's denormalize the expansions, let the general laws apply, and then normalize the result.
Definition at line 788 of file expansionset.hh.
Referenced by vcsn::rat::to_expansion_visitor< ExpSet >::visit_tuple< bool, Dummy >::work_().
|
inline |
The zero.
Definition at line 261 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::lweight_here(), vcsn::rat::to_expansion_visitor< expressionset_t >::operator()(), vcsn::rat::expansionset< ExpSet >::tuple_impl< Expansions >::tuple(), and vcsn::rat::to_expansion_visitor< expressionset_t >::VCSN_RAT_VISIT().
|
private |
Denormalize if requested explicitly, or if running the old way.
Definition at line 977 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose().
|
private |
Definition at line 425 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::denormalize(), and vcsn::rat::expansionset< expressionset_t >::normalize().
|
private |
Shorthand to the labelset.
Definition at line 969 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::complement_(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_new_(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_old_(), vcsn::rat::expansionset< expressionset_t >::conjunctions_with_one_(), vcsn::rat::expansionset< expressionset_t >::denormalize_(), vcsn::rat::expansionset< expressionset_t >::for(), vcsn::rat::expansionset< expressionset_t >::is_normal(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::normalize_(), vcsn::rat::expansionset< expressionset_t >::print(), vcsn::rat::expansionset< expressionset_t >::project(), and vcsn::rat::expansionset< expressionset_t >::transpose().
|
private |
Whether to running the old composition code.
Definition at line 975 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose_with_one_().
|
private |
The polynomialset for the polynomials.
Definition at line 973 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::add_here(), vcsn::rat::expansionset< expressionset_t >::atom(), vcsn::rat::expansionset< expressionset_t >::complement_(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_new_(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_old_(), vcsn::rat::expansionset< expressionset_t >::conjunction(), vcsn::rat::expansionset< expressionset_t >::conjunctions_with_one_(), vcsn::rat::expansionset< expressionset_t >::conv(), vcsn::rat::expansionset< expressionset_t >::denormalize_(), vcsn::rat::expansionset< expressionset_t >::determinize(), vcsn::rat::expansionset< expressionset_t >::for(), vcsn::rat::expansionset< expressionset_t >::infiltrate(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::lweight_here(), vcsn::rat::expansionset< expressionset_t >::normalize_(), vcsn::rat::expansionset< expressionset_t >::polynomialset(), vcsn::rat::expansionset< expressionset_t >::print(), vcsn::rat::expansionset< expressionset_t >::project(), vcsn::rat::expansionset< expressionset_t >::rmul_label_here(), vcsn::rat::expansionset< expressionset_t >::rweight(), vcsn::rat::expansionset< expressionset_t >::shuffle_(), vcsn::rat::expansionset< expressionset_t >::transpose(), and vcsn::rat::expansionset< ExpSet >::tuple_impl< Expansions >::tuple().
|
private |
Definition at line 428 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::add(), vcsn::rat::expansionset< expressionset_t >::complement_(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::conjunction_(), vcsn::rat::expansionset< expressionset_t >::denormalize_(), vcsn::rat::expansionset< ExpSet >::tuple_impl< Expansions >::denormalize_tape(), vcsn::rat::expansionset< expressionset_t >::determinize(), vcsn::rat::expansionset< expressionset_t >::for(), vcsn::rat::expansionset< expressionset_t >::infiltrate(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::lweight(), vcsn::rat::expansionset< expressionset_t >::lweight_here(), vcsn::rat::expansionset< expressionset_t >::normalize_(), vcsn::rat::expansionset< expressionset_t >::project(), vcsn::rat::expansionset< expressionset_t >::rmul_label_here(), vcsn::rat::expansionset< expressionset_t >::rweight(), vcsn::rat::expansionset< expressionset_t >::shuffle(), vcsn::rat::expansionset< expressionset_t >::shuffle_(), vcsn::rat::expansionset< expressionset_t >::sname(), vcsn::rat::expansionset< expressionset_t >::transpose(), and vcsn::rat::expansionset< ExpSet >::tuple_impl< Expansions >::tuple().
|
private |
The expressionset used for the expressions.
Definition at line 967 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::compose_with_one_new_(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_old_(), vcsn::rat::expansionset< expressionset_t >::conjunctions_with_one_(), vcsn::rat::expansionset< expressionset_t >::context(), vcsn::rat::expansionset< expressionset_t >::expressionset(), vcsn::rat::expansionset< expressionset_t >::for(), vcsn::rat::expansionset< expressionset_t >::infiltrate(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::normalize_(), vcsn::rat::expansionset< expressionset_t >::print_set(), vcsn::rat::expansionset< expressionset_t >::project(), vcsn::rat::expansionset< expressionset_t >::rweight(), and vcsn::rat::expansionset< expressionset_t >::shuffle().
|
private |
Definition at line 419 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::complement_(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::conjunction_(), vcsn::rat::expansionset< expressionset_t >::conv(), vcsn::rat::expansionset< expressionset_t >::denormalize_(), vcsn::rat::expansionset< expressionset_t >::determinize(), vcsn::rat::expansionset< expressionset_t >::is_normal(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::project(), vcsn::rat::expansionset< expressionset_t >::rweight(), vcsn::rat::expansionset< expressionset_t >::shuffle(), and vcsn::rat::expansionset< expressionset_t >::transpose().
|
private |
Shorthand to the weightset.
Definition at line 971 of file expansionset.hh.
Referenced by vcsn::rat::expansionset< expressionset_t >::add_here(), vcsn::rat::expansionset< expressionset_t >::atom(), vcsn::rat::expansionset< expressionset_t >::complement_(), vcsn::rat::expansionset< expressionset_t >::compose(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_new_(), vcsn::rat::expansionset< expressionset_t >::compose_with_one_old_(), vcsn::rat::expansionset< expressionset_t >::conjunction_(), vcsn::rat::expansionset< expressionset_t >::conjunctions_with_one_(), vcsn::rat::expansionset< expressionset_t >::conv(), vcsn::rat::expansionset< expressionset_t >::denormalize_(), vcsn::rat::expansionset< expressionset_t >::ldivide(), vcsn::rat::expansionset< expressionset_t >::ldivide_here(), vcsn::rat::expansionset< expressionset_t >::lweight_here(), vcsn::rat::expansionset< expressionset_t >::normalize_(), vcsn::rat::expansionset< expressionset_t >::one(), vcsn::rat::expansionset< expressionset_t >::print(), vcsn::rat::expansionset< expressionset_t >::rmul_label_here(), vcsn::rat::expansionset< expressionset_t >::rweight(), vcsn::rat::expansionset< expressionset_t >::shuffle(), vcsn::rat::expansionset< expressionset_t >::transpose(), and vcsn::rat::expansionset< expressionset_t >::zero().