This class defines ordering related functions. More...
#include <COrderBase.h>
Public Types | |
typedef COrderBase | base |
current type should used as base only | |
typedef BoolePolynomial | poly_type |
Type of Boolean polynomials. | |
typedef poly_type::size_type | size_type |
Type for sizes. | |
typedef poly_type::idx_type | idx_type |
Type for indices. | |
typedef BooleMonomial | monom_type |
Type of Boolean monomials. | |
typedef BoolePolynomial::navigator | navigator |
typedef COrderedIter < navigator, monom_type > | indirect_iterator |
typedef BooleSet | set_type |
Type of Boolean sets. | |
typedef BooleExponent | exp_type |
Type of Boolean monomials. | |
typedef COrderedIter < navigator, exp_type > | indirect_exp_iterator |
typedef std::vector< idx_type > | block_idx_type |
Type for block indices. | |
typedef block_idx_type::const_iterator | block_iterator |
Type for block iterators. | |
define generic property markers (default is invalid) | |
typedef invalid_tag | lex_property |
typedef invalid_tag | ordered_property |
typedef invalid_tag | symmetry_property |
typedef invalid_tag | degorder_property |
typedef invalid_tag | blockorder_property |
typedef invalid_tag | degrevlexorder_property |
typedef invalid_tag | totaldegorder_property |
typedef invalid_tag | ascending_property |
typedef invalid_tag | descending_property |
Public Member Functions | |
COrderBase () | |
Default Constructor. | |
COrderBase (const COrderBase &) | |
Copy Constructor. | |
virtual | ~COrderBase () |
Destructor. | |
virtual comp_type | compare (idx_type, idx_type) const =0 |
Comparison of indices corresponding to variables. | |
virtual comp_type | compare (const monom_type &, const monom_type &) const =0 |
Comparison of monomials. | |
virtual comp_type | compare (const exp_type &, const exp_type &) const =0 |
Comparison of exponent vectors. | |
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 an 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 an upper bound). | |
virtual indirect_iterator | leadIteratorBegin (const poly_type &) const =0 |
Initialize iterator corresponding to leading term. | |
virtual indirect_iterator | leadIteratorEnd () const =0 |
virtual indirect_exp_iterator | leadExpIteratorBegin (const poly_type &) const =0 |
virtual indirect_exp_iterator | leadExpIteratorEnd () const =0 |
interface for block orderings | |
virtual block_iterator | blockBegin () const |
virtual block_iterator | blockEnd () const |
virtual void | appendBlock (idx_type) const |
virtual void | clearBlocks () const |
Protected Member Functions | |
monom_type | monom (const set_type &rhs) const |
Get monomial from set of subsets of Boolean variables (internal use only). |
This class defines ordering related functions.
Reimplemented in polybori::DegRevLexAscOrder.
typedef COrderBase polybori::COrderBase::base |
current type should used as base only
typedef std::vector<idx_type> polybori::COrderBase::block_idx_type |
Type for block indices.
typedef block_idx_type::const_iterator polybori::COrderBase::block_iterator |
Type for block iterators.
Reimplemented in polybori::BlockDegLexOrder, and polybori::BlockDegRevLexAscOrder.
Reimplemented in polybori::DegLexOrder, and polybori::DegRevLexAscOrder.
Reimplemented in polybori::DegRevLexAscOrder.
Reimplemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, and polybori::LexOrder.
Type of Boolean monomials.
Type for indices.
Reimplemented from polybori::CAuxTypes.
Reimplemented in polybori::LexOrder.
Type of Boolean monomials.
Reimplemented in polybori::LexOrder.
Type of Boolean polynomials.
Type of Boolean sets.
Type for sizes.
Reimplemented from polybori::CAuxTypes.
Reimplemented in polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
Reimplemented in polybori::DegLexOrder, and polybori::DegRevLexAscOrder.
polybori::COrderBase::COrderBase | ( | ) | [inline] |
Default Constructor.
polybori::COrderBase::COrderBase | ( | const COrderBase & | ) | [inline] |
Copy Constructor.
virtual polybori::COrderBase::~COrderBase | ( | ) | [inline, virtual] |
Destructor.
virtual void polybori::COrderBase::appendBlock | ( | idx_type | ) | const [inline, virtual] |
virtual block_iterator polybori::COrderBase::blockBegin | ( | ) | const [inline, virtual] |
Reimplemented in polybori::BlockDegLexOrder, and polybori::BlockDegRevLexAscOrder.
virtual block_iterator polybori::COrderBase::blockEnd | ( | ) | const [inline, virtual] |
Reimplemented in polybori::BlockDegLexOrder, and polybori::BlockDegRevLexAscOrder.
virtual void polybori::COrderBase::clearBlocks | ( | ) | const [inline, virtual] |
virtual comp_type polybori::COrderBase::compare | ( | const exp_type & | , | |
const exp_type & | ||||
) | const [pure virtual] |
Comparison of exponent vectors.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual comp_type polybori::COrderBase::compare | ( | const monom_type & | , | |
const monom_type & | ||||
) | const [pure virtual] |
Comparison of monomials.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
Comparison of indices corresponding to variables.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual monom_type polybori::COrderBase::lead | ( | const poly_type & | , | |
size_type | ||||
) | const [pure virtual] |
Get leading term (using an upper bound).
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual monom_type polybori::COrderBase::lead | ( | const poly_type & | ) | const [pure virtual] |
Get leading term.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual exp_type polybori::COrderBase::leadExp | ( | const poly_type & | , | |
size_type | ||||
) | const [pure virtual] |
Get leading exponent (using an upper bound).
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
Get leading exponent.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual indirect_exp_iterator polybori::COrderBase::leadExpIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
virtual indirect_exp_iterator polybori::COrderBase::leadExpIteratorEnd | ( | ) | const [pure virtual] |
virtual indirect_iterator polybori::COrderBase::leadIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
Initialize iterator corresponding to leading term.
Implemented in polybori::BlockDegLexOrder, polybori::BlockDegRevLexAscOrder, polybori::DegLexOrder, polybori::DegRevLexAscOrder, and polybori::LexOrder.
virtual indirect_iterator polybori::COrderBase::leadIteratorEnd | ( | ) | const [pure virtual] |
monom_type polybori::COrderBase::monom | ( | const set_type & | rhs | ) | const [inline, protected] |
Get monomial from set of subsets of Boolean variables (internal use only).
Referenced by polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), and polybori::BlockDegRevLexAscOrder::lead().