PolyBoRi
RelatedTerms.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_RelatedTerms_h_
17 #define polybori_groebner_RelatedTerms_h_
18 
19 #include "RelatedTermsBase.h"
21 
22 // include basic definitions
23 #include "groebner_defs.h"
24 
26 
34  protected RelatedTermsBase {
35  typedef RelatedTermsBase base;
36 
37 public:
40 
42  RelatedTerms(const BoolePolyRing& ring): base(ring) { }
43 
45  RelatedTerms(const Monomial& lead, const MonomialSet& monomials,
46  const MonomialSet& ignorable):
47  base(lead, monomials, ignorable, monomials.diff(ignorable)) { }
48 
50  const MonomialSet& terms() const { return related_terms(); }
51 
53  divisors_sequence_type divisors(const MonomialSet& monomials) const {
54  return divisors_sequence_type(factors(monomials), divisors_of());
55  };
56 };
57 
58 
60 
61 #endif /* polybori_groebner_RelatedTerms_h_ */