18 #ifndef polybori_BooleMonomial_h_
19 #define polybori_BooleMonomial_h_
97 std::less<poly_type::navigator>,
105 m_poly(rhs.m_poly) {}
113 m_poly(rhs, ring) { }
117 m_poly(ring.one()) {}
126 exp_type exp()
const;
147 return std::distance(m_poly.firstBegin(),m_poly.firstEnd());
157 set_type multiples(
const self&)
const;
174 self& operator/=(
const self&);
176 self& operator/=(
const var_type&);
191 return m_poly.firstReducibleBy(rhs); }
192 bool_type reducibleBy(
const var_type& rhs)
const;
195 comp_type compare(
const self&)
const;
201 self& LCMAssign(
const self&);
204 self LCM(
const self&)
const;
207 self& GCDAssign(
const self&);
210 self GCD(
const self&)
const;
222 m_poly.navigation().thenBranch()) );
226 var_type firstVariable()
const;
231 return *m_poly.navigation();
261 inline BoolePolynomial
267 inline BoolePolynomial
285 inline BooleMonomial::bool_type
288 return (lhs.
compare(rhs) == CTypes::less_than);
292 inline BooleMonomial::bool_type
295 return (lhs.
compare(rhs) == CTypes::greater_than);
299 inline BooleMonomial::bool_type
302 return (lhs.
compare(rhs) <= CTypes::less_or_equal_max);
306 inline BooleMonomial::bool_type
309 return (lhs.
compare(rhs) >= CTypes::greater_or_equal_min);
335 inline BoolePolynomial
342 inline BoolePolynomial
349 inline BoolePolynomial
365 inline BoolePolynomial&
381 inline BoolePolynomial
389 inline BoolePolynomial
398 inline BoolePolynomial
409 #endif // of polybori_BooleMonomial_h_