14 template <
typename ValueSet>
16 typename ValueSet::value_t
18 const typename ValueSet::value_t& lhs,
19 const typename ValueSet::value_t& rhs)
21 return vs.ldiv(lhs, rhs);
30 template <
typename ExpressionSetLhs,
typename ExpressionSetRhs>
34 auto join_elts = join<ExpressionSetLhs, ExpressionSetRhs>(lhs, rhs);
36 std::get<1>(join_elts),
37 std::get<2>(join_elts)));
41 template <
typename PolynomialSetLhs,
typename PolynomialSetRhs>
45 auto join_elts = join<PolynomialSetLhs, PolynomialSetRhs>(lhs, rhs);
47 std::get<1>(join_elts),
48 std::get<2>(join_elts)));
58 template <
typename ValueSet>
60 typename ValueSet::value_t
62 const typename ValueSet::value_t& lhs,
63 const typename ValueSet::value_t& rhs)
65 return vs.lgcd(lhs, rhs);
74 template <
typename PolynomialSetLhs,
typename PolynomialSetRhs>
78 auto join_elts = join<PolynomialSetLhs, PolynomialSetRhs>(lhs, rhs);
80 std::get<1>(join_elts),
81 std::get<2>(join_elts)));
91 template <
typename ValueSet>
93 typename ValueSet::value_t
95 const typename ValueSet::value_t& lhs,
96 const typename ValueSet::value_t& rhs)
98 return vs.rdiv(lhs, rhs);
106 template <
typename ExpressionSetLhs,
typename ExpressionSetRhs>
110 auto join_elts = join<ExpressionSetLhs, ExpressionSetRhs>(lhs, rhs);
112 std::get<1>(join_elts),
113 std::get<2>(join_elts)));
auto ldiv(const Aut1 &a1, const Aut2 &a2)
Compute the left quotient.
std::shared_ptr< const detail::polynomial_base > polynomial
expression make_expression(const ExpSet &rs, const typename ExpSet::value_t &r)
automaton rdiv(const automaton &aut1, const automaton &aut2)
Bridge.
polynomial ldiv_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (ldiv).
expression rdiv_expression(const expression &lhs, const expression &rhs)
Bridge (rdiv).
automaton ldiv(const automaton &aut1, const automaton &aut2)
Bridge (ldiv).
polynomial lgcd_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (lgcd).
polynomial lgcd(const polynomial &lhs, const polynomial &rhs)
Left greatest common divisor of two polynomials (lhs \ rhs).
polynomial make_polynomial(const PolynomialSet &ps, const typename PolynomialSet::value_t &p)
auto rdiv(const Aut1 &a1, const Aut2 &a2)
Compute the right quotient.
ValueSet::value_t lgcd(const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs)
Left-division of values.
std::shared_ptr< detail::expression_base > expression
expression ldiv_expression(const expression &lhs, const expression &rhs)
Bridge (ldiv).