LexOrder.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_LexOrder_h_
#define polybori_LexOrder_h_
// include basic definitions
#include <polybori/pbori_defs.h>
// include base order definitions
#include <polybori/orderings/COrderingFacade.h>
#include <polybori/orderings/COrderingTags.h>
BEGIN_NAMESPACE_PBORI
class LexOrder:
public COrderingFacade<LexOrder, lex_tag> {
typedef LexOrder self;
public:
typedef std::less<idx_type> idx_comparer_type;
LexOrder(): base() {};
LexOrder(const self& rhs): base(rhs) {};
~LexOrder() {};
comp_type compare(idx_type, idx_type) const;
comp_type compare(const monom_type&, const monom_type&) const;
comp_type compare(const exp_type&, const exp_type&) const;
monom_type lead(const poly_type&) const;
monom_type lead(const poly_type& poly, deg_type) const {
return lead(poly);
}
exp_type leadExp(const poly_type&) const;
exp_type leadExp(const poly_type& poly, deg_type) const {
return leadExp(poly);
}
};
END_NAMESPACE_PBORI
#endif // polybori_LexOrder_h_
polybori::BooleExponent
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
END_NAMESPACE_PBORI
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
polybori::LexOrder::LexOrder
LexOrder()
Default Constructor.
Definition: LexOrder.h:45
BEGIN_NAMESPACE_PBORI
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
polybori::COrderingFacade
This class initialize the interface for orderings of CDynamicOrderBase for a given OrderType...
Definition: COrderingFacade.h:43
polybori::CAuxTypes::deg_type
int deg_type
Type for polynomial degrees (ranges from -1 to maxint)
Definition: pbori_defs.h:222
COrderingFacade.h
polybori::LexOrder::~LexOrder
~LexOrder()
Destructor.
Definition: LexOrder.h:51
polybori::COrderingBase
Definition: COrderingBase.h:43
polybori::BoolePolynomial
This class wraps the underlying decicion diagram type and defines the necessary operations.
Definition: BoolePolynomial.h:85
pbori_defs.h
polybori::LexOrder::LexOrder
LexOrder(const self &rhs)
Copy Constructor.
Definition: LexOrder.h:48
polybori::LexOrder
This class defines ordering related functions.
Definition: LexOrder.h:33
polybori::LexOrder::lead
monom_type lead(const poly_type &poly, deg_type) const
Definition: LexOrder.h:67
COrderingTags.h
polybori::LexOrder::idx_comparer_type
std::less< idx_type > idx_comparer_type
Define binary predicate for index comparision.
Definition: LexOrder.h:42
polybori::groebner::idx_type
polybori::CTypes::idx_type idx_type
Definition: groebner_defs.h:44
polybori::BooleMonomial
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
polybori::LexOrder::leadExp
exp_type leadExp(const poly_type &poly, deg_type) const
Definition: LexOrder.h:76