This class initialize the interface for runtime-switchable orderings. More...
#include <OrderedManager.h>
Public Types | |
typedef CDynamicOrderBase | self |
Type of *this. | |
typedef std::vector< idx_type > | block_idx_type |
Type for block indices. | |
typedef block_idx_type::const_iterator | block_iterator |
Type for block iterators. | |
adopt global type definitions | |
typedef CTypes::bool_type | bool_type |
typedef CTypes::size_type | size_type |
typedef CTypes::idx_type | idx_type |
typedef CTypes::comp_type | comp_type |
typedef CTypes::ordercode_type | ordercode_type |
typedef BoolePolynomial | poly_type |
typedef poly_type::monom_type | monom_type |
typedef poly_type::navigator | navigator |
typedef poly_type::exp_type | exp_type |
typedef COrderedIter < navigator, monom_type > | ordered_iterator |
typedef COrderedIter < navigator, exp_type > | ordered_exp_iterator |
Public Member Functions | |
CDynamicOrderBase () | |
Construct new. | |
virtual | ~CDynamicOrderBase () |
virtual comp_type | compare (idx_type, idx_type) const =0 |
Comparison of monomials. | |
virtual comp_type | compare (const monom_type &, const monom_type &) const =0 |
virtual comp_type | compare (const exp_type &, const exp_type &) const =0 |
virtual monom_type | lead (const poly_type &) const =0 |
Get leading term. | |
virtual monom_type | lead (const poly_type &, size_type) const =0 |
Get leading term (using upper bound). | |
virtual exp_type | leadExp (const poly_type &) const =0 |
Get leading exponent. | |
virtual exp_type | leadExp (const poly_type &, size_type) const =0 |
Get leading exponent (using upper bound). | |
virtual poly_type | leadFirst (const poly_type &) const =0 |
Generates polynomial with leading term first (other terms may be skipped). | |
virtual bool_type | isLexicographical () const =0 |
Check whether ring is lexicographical. | |
virtual bool_type | orderedStandardIteration () const =0 |
Test whether iterators respect order. | |
virtual bool_type | isSymmetric () const =0 |
Test whether variable pertubation do not change the order. | |
virtual bool_type | isDegreeOrder () const =0 |
Test whether we deal with a degree-ordering. | |
virtual bool_type | isBlockOrder () const =0 |
Test whether we deal with a block-ordering. | |
virtual bool_type | isTotalDegreeOrder () const =0 |
Test whether we deal with a total degree-ordering. | |
virtual bool_type | ascendingVariables () const =0 |
Test whether variables are in ascending order. | |
virtual bool_type | descendingVariables () const =0 |
Test whether variables are in descending order. | |
virtual bool_type | isDegreeReverseLexicograpical () const =0 |
Test whether ordering is deg-rev-lex ordering. | |
virtual ordered_iterator | leadIteratorBegin (const poly_type &) const =0 |
Initialize iterator corresponding to leading term. | |
virtual ordered_iterator | leadIteratorEnd () const =0 |
virtual ordered_exp_iterator | leadExpIteratorBegin (const poly_type &) const =0 |
virtual ordered_exp_iterator | leadExpIteratorEnd () const =0 |
virtual ordercode_type | getOrderCode () const =0 |
Get numerical code for ordering. | |
virtual ordercode_type | getBaseOrderCode () const =0 |
Get numerical code for base ordering (the same for non-block orderings). | |
virtual bool_type | lieInSameBlock (idx_type, idx_type) const =0 |
interface for block orderings | |
virtual block_iterator | blockBegin () const =0 |
virtual block_iterator | blockEnd () const =0 |
virtual void | appendBlock (idx_type)=0 |
virtual void | clearBlocks ()=0 |
This class initialize the interface for runtime-switchable orderings.
typedef std::vector<idx_type> polybori::CDynamicOrderBase::block_idx_type |
Type for block indices.
typedef block_idx_type::const_iterator polybori::CDynamicOrderBase::block_iterator |
Type for block iterators.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Type of *this.
Reimplemented in polybori::CDynamicOrder< OrderType >.
Reimplemented in polybori::CDynamicOrder< OrderType >.
polybori::CDynamicOrderBase::CDynamicOrderBase | ( | ) | [inline] |
Construct new.
virtual polybori::CDynamicOrderBase::~CDynamicOrderBase | ( | ) | [inline, virtual] |
virtual void polybori::CDynamicOrderBase::appendBlock | ( | idx_type | ) | [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::appendBlock().
virtual bool_type polybori::CDynamicOrderBase::ascendingVariables | ( | ) | const [pure virtual] |
Test whether variables are in ascending order.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual block_iterator polybori::CDynamicOrderBase::blockBegin | ( | ) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::blockBegin().
virtual block_iterator polybori::CDynamicOrderBase::blockEnd | ( | ) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::blockEnd().
virtual void polybori::CDynamicOrderBase::clearBlocks | ( | ) | [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::clearBlocks().
virtual comp_type polybori::CDynamicOrderBase::compare | ( | const exp_type & | , | |
const exp_type & | ||||
) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
virtual comp_type polybori::CDynamicOrderBase::compare | ( | const monom_type & | , | |
const monom_type & | ||||
) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Comparison of monomials.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::descendingVariables | ( | ) | const [pure virtual] |
Test whether variables are in descending order.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual ordercode_type polybori::CDynamicOrderBase::getBaseOrderCode | ( | ) | const [pure virtual] |
Get numerical code for base ordering (the same for non-block orderings).
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::getBaseOrderCode().
virtual ordercode_type polybori::CDynamicOrderBase::getOrderCode | ( | ) | const [pure virtual] |
Get numerical code for ordering.
Implemented in polybori::CDynamicOrder< OrderType >.
Referenced by polybori::BooleEnv::getOrderCode().
virtual bool_type polybori::CDynamicOrderBase::isBlockOrder | ( | ) | const [pure virtual] |
Test whether we deal with a block-ordering.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::isDegreeOrder | ( | ) | const [pure virtual] |
Test whether we deal with a degree-ordering.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::isDegreeReverseLexicograpical | ( | ) | const [pure virtual] |
Test whether ordering is deg-rev-lex ordering.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::isLexicographical | ( | ) | const [pure virtual] |
Check whether ring is lexicographical.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::isSymmetric | ( | ) | const [pure virtual] |
Test whether variable pertubation do not change the order.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::isTotalDegreeOrder | ( | ) | const [pure virtual] |
Test whether we deal with a total degree-ordering.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual monom_type polybori::CDynamicOrderBase::lead | ( | const poly_type & | , | |
size_type | ||||
) | const [pure virtual] |
Get leading term (using upper bound).
Implemented in polybori::CDynamicOrder< OrderType >.
virtual monom_type polybori::CDynamicOrderBase::lead | ( | const poly_type & | ) | const [pure virtual] |
Get leading term.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual exp_type polybori::CDynamicOrderBase::leadExp | ( | const poly_type & | , | |
size_type | ||||
) | const [pure virtual] |
Get leading exponent (using upper bound).
Implemented in polybori::CDynamicOrder< OrderType >.
Get leading exponent.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual ordered_exp_iterator polybori::CDynamicOrderBase::leadExpIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
virtual ordered_exp_iterator polybori::CDynamicOrderBase::leadExpIteratorEnd | ( | ) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
Generates polynomial with leading term first (other terms may be skipped).
Implemented in polybori::CDynamicOrder< OrderType >.
virtual ordered_iterator polybori::CDynamicOrderBase::leadIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
Initialize iterator corresponding to leading term.
Implemented in polybori::CDynamicOrder< OrderType >.
virtual ordered_iterator polybori::CDynamicOrderBase::leadIteratorEnd | ( | ) | const [pure virtual] |
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::lieInSameBlock | ( | idx_type | , | |
idx_type | ||||
) | const [pure virtual] |
Check, whether two indices are in the same block (true for nonblock orderings)
Implemented in polybori::CDynamicOrder< OrderType >.
virtual bool_type polybori::CDynamicOrderBase::orderedStandardIteration | ( | ) | const [pure virtual] |
Test whether iterators respect order.
Implemented in polybori::CDynamicOrder< OrderType >.