RelatedTerms.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_RelatedTerms_h_
#define polybori_groebner_RelatedTerms_h_
#include "RelatedTermsBase.h"
#include <polybori/common/TransformedSequence.h>
// include basic definitions
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class RelatedTerms:
protected RelatedTermsBase {
typedef RelatedTermsBase base;
public:
typedef TransformedSequence<MonomialSet, BoundedDivisorsOf>
divisors_sequence_type;
RelatedTerms(const BoolePolyRing& ring): base(ring) { }
RelatedTerms(const Monomial& lead, const MonomialSet& monomials,
const MonomialSet& ignorable):
base(lead, monomials, ignorable, monomials.diff(ignorable)) { }
const MonomialSet& terms() const { return related_terms(); }
divisors_sequence_type divisors(const MonomialSet& monomials) const {
return divisors_sequence_type(factors(monomials), divisors_of());
};
};
END_NAMESPACE_PBORIGB
#endif /* polybori_groebner_RelatedTerms_h_ */