This class defines ordering related functions. More...
#include <LexOrder.h>
Public Types | |
enum | { order_code = CTypes::lp, baseorder_code = order_code } |
Get order code. More... | |
typedef LexOrder | self |
generic access to current type | |
typedef std::less< idx_type > | idx_comparer_type |
Define binary predicate for index comparision. | |
define generic property markers | |
typedef valid_tag | lex_property |
typedef valid_tag | ordered_property |
typedef valid_tag | symmetry_property |
typedef valid_tag | descending_property |
typedef lex_tag | order_tag |
Public Member Functions | |
LexOrder () | |
Default Constructor. | |
LexOrder (const self &rhs) | |
Copy Constructor. | |
~LexOrder () | |
Destructor. | |
comp_type | compare (idx_type, idx_type) const |
Comparison of indices corresponding to variables. | |
comp_type | compare (const monom_type &, const monom_type &) const |
Comparison of monomials. | |
comp_type | compare (const exp_type &, const exp_type &) const |
Comparison of exponent vectors. | |
monom_type | lead (const poly_type &) const |
Get leading term. | |
monom_type | lead (const poly_type &poly, deg_type) const |
Get leading term (using upper bound). | |
exp_type | leadExp (const poly_type &) const |
Get leading exponent. | |
exp_type | leadExp (const poly_type &poly, deg_type) const |
Get leading exponent (using upper bound). | |
indirect_iterator | leadIteratorBegin (const poly_type &) const |
Initialize iterator corresponding to leading term. | |
indirect_iterator | leadIteratorEnd () const |
indirect_exp_iterator | leadExpIteratorBegin (const poly_type &) const |
indirect_exp_iterator | leadExpIteratorEnd () const |
This class defines ordering related functions.
Reimplemented from polybori::COrderBase.
typedef std::less<idx_type> polybori::LexOrder::idx_comparer_type |
Define binary predicate for index comparision.
Reimplemented from polybori::COrderBase.
typedef lex_tag polybori::LexOrder::order_tag |
Reimplemented from polybori::COrderBase.
typedef LexOrder polybori::LexOrder::self |
generic access to current type
Reimplemented from polybori::COrderBase.
polybori::LexOrder::LexOrder | ( | ) | [inline] |
Default Constructor.
polybori::LexOrder::LexOrder | ( | const self & | rhs | ) | [inline] |
Copy Constructor.
polybori::LexOrder::~LexOrder | ( | ) | [inline] |
Destructor.
LexOrder::comp_type polybori::LexOrder::compare | ( | const exp_type & | lhs, | |
const exp_type & | rhs | |||
) | const [virtual] |
Comparison of exponent vectors.
Implements polybori::COrderBase.
References polybori::lex_compare(), and PBORI_TRACE_FUNC.
LexOrder::comp_type polybori::LexOrder::compare | ( | const monom_type & | lhs, | |
const monom_type & | rhs | |||
) | const [virtual] |
Comparison of monomials.
Implements polybori::COrderBase.
References polybori::lex_compare(), and PBORI_TRACE_FUNC.
LexOrder::comp_type polybori::LexOrder::compare | ( | idx_type | lhs, | |
idx_type | rhs | |||
) | const [virtual] |
Comparison of indices corresponding to variables.
Implements polybori::COrderBase.
References polybori::generic_compare_3way(), and PBORI_TRACE_FUNC.
Referenced by polybori::groebner::LexOrderGreaterComparer::operator()().
monom_type polybori::LexOrder::lead | ( | const poly_type & | poly, | |
deg_type | ||||
) | const [inline, virtual] |
Get leading term (using upper bound).
Implements polybori::COrderBase.
References lead().
Referenced by lead().
LexOrder::monom_type polybori::LexOrder::lead | ( | const poly_type & | poly | ) | const [virtual] |
Get leading term.
Implements polybori::COrderBase.
References polybori::BoolePolynomial::firstBegin(), polybori::BoolePolynomial::firstEnd(), polybori::BoolePolynomial::lexLmDeg(), PBORI_TRACE_FUNC, polybori::reversed_inter_copy(), and polybori::BoolePolynomial::ring().
Get leading exponent (using upper bound).
Implements polybori::COrderBase.
LexOrder::exp_type polybori::LexOrder::leadExp | ( | const poly_type & | poly | ) | const [virtual] |
Get leading exponent.
Implements polybori::COrderBase.
References polybori::BoolePolynomial::firstBegin(), polybori::BoolePolynomial::firstEnd(), polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lexLmDeg(), PBORI_TRACE_FUNC, and polybori::BooleExponent::reserve().
LexOrder::indirect_exp_iterator polybori::LexOrder::leadExpIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Implements polybori::COrderBase.
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
LexOrder::indirect_exp_iterator polybori::LexOrder::leadExpIteratorEnd | ( | ) | const [virtual] |
Implements polybori::COrderBase.
References PBORI_TRACE_FUNC.
LexOrder::indirect_iterator polybori::LexOrder::leadIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Initialize iterator corresponding to leading term.
Implements polybori::COrderBase.
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
LexOrder::indirect_iterator polybori::LexOrder::leadIteratorEnd | ( | ) | const [virtual] |
Implements polybori::COrderBase.
References PBORI_TRACE_FUNC.