MonomialTerms.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_MonomialTerms_h_
#define polybori_groebner_MonomialTerms_h_
#include "TermsFacade.h"
// include basic definitions
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class MonomialTerms:
public TermsFacade<MonomialTerms> {
public:
template <class Type>
MonomialTerms(const Type& rhs): TermsFacade<MonomialTerms>(rhs) {}
bool isCompatible(const PolyEntry& entry) const {
PBORI_ASSERT( (entry.length != 1) || (entry.p == entry.lead) );
return (entry.length == 1);
}
};
END_NAMESPACE_PBORIGB
#endif /* polybori_groebner_MonomialTerms_h_ */
polybori::groebner::MonomialTerms::isCompatible
bool isCompatible(const PolyEntry &entry) const
Definition: MonomialTerms.h:38
polybori::groebner::MonomialTerms::MonomialTerms
MonomialTerms(const Type &rhs)
Definition: MonomialTerms.h:36
polybori::groebner::PolyEntryBase::p
Polynomial p
Definition: PolyEntryBase.h:54
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
TermsFacade.h
polybori::groebner::TermsFacade
This class defines TermsFacade.
Definition: TermsFacade.h:30
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::groebner::PolyEntry
This class defines PolyEntry.
Definition: PolyEntry.h:32
groebner_defs.h
PBORI_ASSERT
#define PBORI_ASSERT(arg)
Definition: pbori_defs.h:118
polybori::groebner::MonomialTerms
This class defines MonomialTerms.
Definition: MonomialTerms.h:31
polybori::groebner::PolyEntryBase::length
len_type length
Definition: PolyEntryBase.h:57
polybori::groebner::PolyEntryBase::lead
Monomial lead
Definition: PolyEntryBase.h:55