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_ */
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
polybori::groebner::RelatedTerms::RelatedTerms
RelatedTerms(const Monomial &lead, const MonomialSet &monomials, const MonomialSet &ignorable)
Constructor.
Definition: RelatedTerms.h:45
RelatedTermsBase.h
polybori::BoolePolyRing
This class reinterprets decicion diagram managers as Boolean polynomial rings, adds an ordering and v...
Definition: BoolePolyRing.h:40
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::groebner::RelatedTerms::terms
const MonomialSet & terms() const
Access actual monomial set.
Definition: RelatedTerms.h:50
polybori::groebner::RelatedTerms::divisors
divisors_sequence_type divisors(const MonomialSet &monomials) const
Get sequence of corresponding divisors (in the given monomial set)
Definition: RelatedTerms.h:53
groebner_defs.h
polybori::groebner::RelatedTerms::divisors_sequence_type
TransformedSequence< MonomialSet, BoundedDivisorsOf > divisors_sequence_type
Definition: RelatedTerms.h:39
polybori::groebner::RelatedTermsBase
This class deals as a base of RelatedTerns.
Definition: RelatedTermsBase.h:32
polybori::TransformedSequence
This class converts a sequence-like structure when iterating.
Definition: TransformedSequence.h:34
polybori::groebner::RelatedTerms::RelatedTerms
RelatedTerms(const BoolePolyRing &ring)
Empty set of terms.
Definition: RelatedTerms.h:42
polybori::groebner::RelatedTerms
This class finds those terms in a given set which are related to given terms.
Definition: RelatedTerms.h:33
polybori::BooleSet
Definition: BooleSet.h:57
TransformedSequence.h
polybori::BooleMonomial
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50