PolyBoRi
MonomialTerms.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_MonomialTerms_h_
17 #define polybori_groebner_MonomialTerms_h_
18 
19 #include "TermsFacade.h"
20 
21 // include basic definitions
22 #include "groebner_defs.h"
23 
25 
32  public TermsFacade<MonomialTerms> {
33 
34 public:
35  template <class Type>
36  MonomialTerms(const Type& rhs): TermsFacade<MonomialTerms>(rhs) {}
37 
38  bool isCompatible(const PolyEntry& entry) const {
39  PBORI_ASSERT( (entry.length != 1) || (entry.p == entry.lead) );
40  return (entry.length == 1);
41  }
42 };
43 
45 
46 #endif /* polybori_groebner_MonomialTerms_h_ */
bool isCompatible(const PolyEntry &entry) const
Definition: MonomialTerms.h:38
MonomialTerms(const Type &rhs)
Definition: MonomialTerms.h:36
Polynomial p
Definition: PolyEntryBase.h:54
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
This class defines TermsFacade.
Definition: TermsFacade.h:30
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
This class defines PolyEntry.
Definition: PolyEntry.h:32
#define PBORI_ASSERT(arg)
Definition: pbori_defs.h:118
This class defines MonomialTerms.
Definition: MonomialTerms.h:31
len_type length
Definition: PolyEntryBase.h:57
Monomial lead
Definition: PolyEntryBase.h:55