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 COrderBase.
typedef std::less<idx_type> LexOrder::idx_comparer_type |
Define binary predicate for index comparision.
typedef valid_tag LexOrder::lex_property |
Reimplemented from COrderBase.
typedef lex_tag LexOrder::order_tag |
typedef valid_tag LexOrder::ordered_property |
Reimplemented from COrderBase.
typedef LexOrder LexOrder::self |
generic access to current type
typedef valid_tag LexOrder::symmetry_property |
Reimplemented from COrderBase.
LexOrder::LexOrder | ( | ) | [inline] |
Default Constructor.
LexOrder::LexOrder | ( | const self & | rhs | ) | [inline] |
Copy Constructor.
LexOrder::~LexOrder | ( | ) | [inline] |
Destructor.
LexOrder::comp_type LexOrder::compare | ( | const exp_type & | lhs, | |
const exp_type & | rhs | |||
) | const [virtual] |
Comparison of exponent vectors.
Implements COrderBase.
References lex_compare(), and PBORI_TRACE_FUNC.
BEGIN_NAMESPACE_PBORI LexOrder::comp_type LexOrder::compare | ( | const monom_type & | lhs, | |
const monom_type & | rhs | |||
) | const [virtual] |
LexOrder::comp_type LexOrder::compare | ( | idx_type | lhs, | |
idx_type | rhs | |||
) | const [virtual] |
Comparison of indices corresponding to variables.
Implements COrderBase.
References generic_compare_3way(), and PBORI_TRACE_FUNC.
Referenced by LexOrderGreaterComparer::operator()().
monom_type LexOrder::lead | ( | const poly_type & | poly, | |
deg_type | ||||
) | const [inline, virtual] |
Get leading term (using upper bound).
Implements COrderBase.
References lead().
Referenced by lead().
LexOrder::monom_type LexOrder::lead | ( | const poly_type & | poly | ) | const [virtual] |
Get leading term.
Implements COrderBase.
References BoolePolynomial::firstBegin(), BoolePolynomial::firstEnd(), BoolePolynomial::lexLeadDeg(), PBORI_TRACE_FUNC, reversed_inter_copy(), and BoolePolynomial::ring().
LexOrder::exp_type LexOrder::leadExp | ( | const poly_type & | poly | ) | const [virtual] |
Get leading exponent.
Implements COrderBase.
References BoolePolynomial::firstBegin(), BoolePolynomial::firstEnd(), BoolePolynomial::isOne(), BoolePolynomial::isZero(), BoolePolynomial::lexLeadDeg(), PBORI_TRACE_FUNC, and BooleExponent::reserve().
Referenced by leadExp().
LexOrder::indirect_exp_iterator LexOrder::leadExpIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Implements COrderBase.
References BoolePolynomial::diagram(), BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
LexOrder::indirect_exp_iterator LexOrder::leadExpIteratorEnd | ( | ) | const [virtual] |
Implements COrderBase.
References PBORI_TRACE_FUNC.
LexOrder::indirect_iterator LexOrder::leadIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Initialize iterator corresponding to leading term.
Implements COrderBase.
References BoolePolynomial::diagram(), BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
LexOrder::indirect_iterator LexOrder::leadIteratorEnd | ( | ) | const [virtual] |
Implements COrderBase.
References PBORI_TRACE_FUNC.