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