72 #ifndef BooleExponent_h_
73 #define BooleExponent_h_
186 set_type divisors()
const;
189 set_type multiples(
const self&)
const;
221 self divide(
const self&)
const;
223 return (reducibleBy(rhs)? removeConst(rhs) :
self() ); }
226 self divide(
const monom_type&)
const;
229 self multiply(
const self&)
const;
233 self multiply(
const monom_type&)
const;
234 self multiplyFirst(
const set_type&)
const;
255 std::copy(rhs.
begin(), rhs.
end(), internalBegin());
260 bool_type reducibleBy(
const self& rhs)
const;
261 bool_type reducibleBy(
const monom_type& rhs)
const;
262 bool_type reducibleBy(
const idx_type& rhs)
const;
264 return reducibleBy(rhs.
index()); }
271 comp_type compare(
const self&)
const;
274 size_type LCMDeg(
const self&)
const;
280 self LCM(
const self&)
const;
286 self GCD(
const self&)
const;
290 assert(!m_data.empty());
291 m_data.erase(m_data.begin());
296 ostream_type& print(ostream_type&)
const;
317 template <
class RHSType>
324 template <
class RHSType>
332 inline BooleExponent::bool_type
335 return (lhs.
compare(rhs) == CTypes::less_than);
339 inline BooleExponent::bool_type
342 return (lhs.
compare(rhs) == CTypes::greater_than);
346 inline BooleExponent::bool_type
349 return (lhs.
compare(rhs) <= CTypes::less_or_equal_max);
353 inline BooleExponent::bool_type
356 return (lhs.
compare(rhs) >= CTypes::greater_or_equal_min);
376 inline BooleExponent::ostream_type&
378 return rhs.
print(os);
383 #endif // of BooleExponent_h_