PolyBoRi
DegLexOrder.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_DegLexOrder_h_
17 #define polybori_DegLexOrder_h_
18 
19 // include basic definitions
20 #include <polybori/pbori_defs.h>
21 
22 // include base order definitions
25 
27 
34  public COrderingFacade<DegLexOrder, dlex_tag> {
35 
37  typedef DegLexOrder self;
38 
39 public:
40 
42  typedef std::less<idx_type> idx_comparer_type;
43 
45  DegLexOrder(): base() {};
46 
48  DegLexOrder(const self& rhs): base(rhs) {};
49 
52 
54  comp_type compare(idx_type, idx_type) const;
55 
57  comp_type compare(const monom_type&, const monom_type&) const;
58 
60  comp_type compare(const exp_type&, const exp_type&) const;
61 
63  monom_type lead(const poly_type&) const;
64 
67  monom_type lead(const poly_type& poly, deg_type bound) const;
68 
70  exp_type leadExp(const poly_type&) const;
71 
74  exp_type leadExp(const poly_type&, deg_type) const;
75 };
76 
77 
79 
80 #endif // polybori_DegLexOrder_h_
DegLexOrder()
Default Constructor.
Definition: DegLexOrder.h:45
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
This class initialize the interface for orderings of CDynamicOrderBase for a given OrderType...
Definition: COrderingFacade.h:43
DegLexOrder(const self &rhs)
Copy Constructor.
Definition: DegLexOrder.h:48
int deg_type
Definition: groebner_defs.h:42
Definition: COrderingBase.h:43
std::less< idx_type > idx_comparer_type
Define binary predicate for index comparision.
Definition: DegLexOrder.h:42
~DegLexOrder()
Destructor.
Definition: DegLexOrder.h:51
This class defines ordering related functions.
Definition: DegLexOrder.h:33
polybori::CTypes::idx_type idx_type
Definition: groebner_defs.h:44