This class defines ordering related functions. More...
#include <BlockDegLexOrder.h>
Public Types | |
enum | { order_code = CTypes::block_dlex, baseorder_code = CTypes::dlex } |
Get order code. More... | |
typedef BlockDegLexOrder | 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 | blockorder_property |
typedef valid_tag | descending_property |
typedef block_dlex_tag | order_tag |
Public Member Functions | |
BlockDegLexOrder () | |
Default Constructor. | |
BlockDegLexOrder (const self &rhs) | |
Copy Constructor. | |
~BlockDegLexOrder () | |
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 &, deg_type) const |
Get leading exponent (using an 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 |
interface for block orderings | |
block_iterator | blockBegin () const |
block_iterator | blockEnd () const |
void | appendBlock (idx_type idx) |
void | clearBlocks () |
This class defines ordering related functions.
typedef valid_tag BlockDegLexOrder::blockorder_property |
Reimplemented from COrderBase.
typedef valid_tag BlockDegLexOrder::descending_property |
Reimplemented from COrderBase.
typedef std::less<idx_type> BlockDegLexOrder::idx_comparer_type |
Define binary predicate for index comparision.
generic access to current type
BlockDegLexOrder::BlockDegLexOrder | ( | ) | [inline] |
Default Constructor.
BlockDegLexOrder::BlockDegLexOrder | ( | const self & | rhs | ) | [inline] |
Copy Constructor.
BlockDegLexOrder::~BlockDegLexOrder | ( | ) | [inline] |
Destructor.
void BlockDegLexOrder::appendBlock | ( | idx_type | idx | ) | [inline] |
block_iterator BlockDegLexOrder::blockBegin | ( | ) | const [inline, virtual] |
Reimplemented from COrderBase.
Referenced by compare().
block_iterator BlockDegLexOrder::blockEnd | ( | ) | const [inline, virtual] |
Reimplemented from COrderBase.
Referenced by compare().
void BlockDegLexOrder::clearBlocks | ( | ) | [inline] |
BlockDegLexOrder::comp_type BlockDegLexOrder::compare | ( | const exp_type & | lhs, | |
const exp_type & | rhs | |||
) | const [virtual] |
Comparison of exponent vectors.
Implements COrderBase.
References BooleExponent::begin(), polybori::block_dlex_compare(), blockBegin(), blockEnd(), BooleExponent::end(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::comp_type BlockDegLexOrder::compare | ( | const monom_type & | lhs, | |
const monom_type & | rhs | |||
) | const [virtual] |
Comparison of monomials.
Implements COrderBase.
References BooleMonomial::begin(), polybori::block_dlex_compare(), blockBegin(), blockEnd(), BooleMonomial::end(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::comp_type BlockDegLexOrder::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.
BlockDegLexOrder::monom_type BlockDegLexOrder::lead | ( | const poly_type & | poly, | |
deg_type | bound | |||
) | const [virtual] |
Get leading term (using upper bound).
Implements COrderBase.
References lead(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::monom_type BlockDegLexOrder::lead | ( | const poly_type & | poly | ) | const [virtual] |
Get leading term.
Implements COrderBase.
References polybori::dd_block_degree_lead(), BoolePolynomial::diagram(), COrderBase::monom(), BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::exp_type BlockDegLexOrder::leadExp | ( | const poly_type & | poly, | |
deg_type | bound | |||
) | const [virtual] |
Get leading exponent (using an upper bound).
Implements COrderBase.
References leadExp(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::exp_type BlockDegLexOrder::leadExp | ( | const poly_type & | poly | ) | const [virtual] |
Get leading exponent.
Implements COrderBase.
References lead(), and PBORI_TRACE_FUNC.
Referenced by leadExp().
BlockDegLexOrder::indirect_exp_iterator BlockDegLexOrder::leadExpIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Implements COrderBase.
References BoolePolynomial::diagram(), BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::indirect_exp_iterator BlockDegLexOrder::leadExpIteratorEnd | ( | ) | const [virtual] |
Implements COrderBase.
References PBORI_TRACE_FUNC.
BlockDegLexOrder::indirect_iterator BlockDegLexOrder::leadIteratorBegin | ( | const poly_type & | poly | ) | const [virtual] |
Initialize iterator corresponding to leading term.
Implements COrderBase.
References BoolePolynomial::diagram(), BoolePolynomial::navigation(), and PBORI_TRACE_FUNC.
BlockDegLexOrder::indirect_iterator BlockDegLexOrder::leadIteratorEnd | ( | ) | const [virtual] |
Implements COrderBase.
References PBORI_TRACE_FUNC.