#include <COrderingFacade.h>
Public Types | |
typedef self | base |
*this is to be used as base for OrderType only | |
typedef OrderType | order_type |
Variable ordering definiton functional type. | |
typedef CCacheTypes::lead_tag < OrderTag > | order_lead_tag |
Tag for for leading monomial cache. | |
typedef COrderingTags< OrderTag > | ordering_tags |
Public Member Functions | |
COrderingFacade () | |
Construct new decision diagramm manager. | |
COrderingFacade (const self &rhs) | |
Construct new decision diagramm manager. | |
~COrderingFacade () | |
Destructor. | |
poly_type | leadFirst (const poly_type &poly) const |
Generates polynomial with leading term first (other terms may be skipped). | |
bool_type | isLexicographical () const |
Check whether ring is lexicographical. | |
bool_type | orderedStandardIteration () const |
Test whether iterators respect order. | |
bool_type | isSymmetric () const |
Test whether variable pertubation do not change the order. | |
bool_type | isDegreeOrder () const |
Test whether we deal with a degree-ordering. | |
bool_type | isBlockOrder () const |
Test whether we deal with a degree-ordering. | |
bool_type | isTotalDegreeOrder () const |
Test whether we deal with a total degree-ordering. | |
bool_type | isDegreeReverseLexicographical () const |
Test whether ordering is deg-rev-lex ordering. | |
bool_type | ascendingVariables () const |
Test whether variables are in ascending order. | |
bool_type | descendingVariables () const |
Test whether variables are in descending order. | |
ordercode_type | getOrderCode () const |
Get numerical code for ordering. | |
ordercode_type | getBaseOrderCode () const |
Get numerical code for base ordering (the same for non-block orderings). | |
bool_type | lieInSameBlock (idx_type first, idx_type second) const |
idx_type | lastBlockStart () const |
Generic procedure to get index, where last block starts. | |
ordered_iterator | leadIteratorBegin (const poly_type &poly) const |
Initialize iterator corresponding to leading term. | |
ordered_iterator | leadIteratorEnd (const poly_type &poly) const |
End marker for iterator corresponding to leading term. | |
ordered_exp_iterator | leadExpIteratorBegin (const poly_type &poly) const |
Initialize exponent iterator corresponding to leading term. | |
ordered_exp_iterator | leadExpIteratorEnd (const poly_type &poly) const |
End marker for exponent iterator corresponding to leading term. | |
Protected Member Functions | |
bool_type | inSameBlockInternal (idx_type, idx_type, invalid_tag) const |
trivial case for non-block orderings | |
bool_type | inSameBlockInternal (idx_type first, idx_type second, valid_tag) const |
complicated case for block orderings |
typedef self polybori::COrderingFacade< OrderType, OrderTag >::base |
*this is to be used as base for OrderType
only
Reimplemented in polybori::CBlockOrderingFacade< OrderType, OrderTag >, polybori::CBlockOrderingFacade< polybori::BlockDegLexOrder, polybori::block_tag >, and polybori::CBlockOrderingFacade< polybori::BlockDegRevLexAscOrder, polybori::block_tag >.
typedef OrderType polybori::COrderingFacade< OrderType, OrderTag >::order_type |
Variable ordering definiton functional type.
typedef CCacheTypes::lead_tag<OrderTag> polybori::COrderingFacade< OrderType, OrderTag >::order_lead_tag |
Tag for for leading monomial cache.
Reimplemented in polybori::CBlockOrderingFacade< OrderType, OrderTag >, polybori::CBlockOrderingFacade< polybori::BlockDegLexOrder, polybori::block_tag >, and polybori::CBlockOrderingFacade< polybori::BlockDegRevLexAscOrder, polybori::block_tag >.
typedef COrderingTags<OrderTag> polybori::COrderingFacade< OrderType, OrderTag >::ordering_tags |
polybori::COrderingFacade< OrderType, OrderTag >::COrderingFacade | ( | ) | [inline] |
Construct new decision diagramm manager.
polybori::COrderingFacade< OrderType, OrderTag >::COrderingFacade | ( | const self & | rhs | ) | [inline] |
Construct new decision diagramm manager.
polybori::COrderingFacade< OrderType, OrderTag >::~COrderingFacade | ( | ) | [inline] |
Destructor.
poly_type polybori::COrderingFacade< OrderType, OrderTag >::leadFirst | ( | const poly_type & | poly | ) | const [inline, virtual] |
Generates polynomial with leading term first (other terms may be skipped).
Implements polybori::COrderingBase.
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isLexicographical | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::orderedStandardIteration | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isSymmetric | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isDegreeOrder | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isBlockOrder | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isTotalDegreeOrder | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::isDegreeReverseLexicographical | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::ascendingVariables | ( | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::descendingVariables | ( | ) | const [inline, virtual] |
ordercode_type polybori::COrderingFacade< OrderType, OrderTag >::getOrderCode | ( | ) | const [inline, virtual] |
ordercode_type polybori::COrderingFacade< OrderType, OrderTag >::getBaseOrderCode | ( | ) | const [inline, virtual] |
Get numerical code for base ordering (the same for non-block orderings).
Implements polybori::COrderingBase.
bool_type polybori::COrderingFacade< OrderType, OrderTag >::lieInSameBlock | ( | idx_type | first, | |
idx_type | second | |||
) | const [inline, virtual] |
Check, whether two indices are in the same block (true for nonblock orderings)
Implements polybori::COrderingBase.
idx_type polybori::COrderingFacade< OrderType, OrderTag >::lastBlockStart | ( | ) | const [inline, virtual] |
ordered_iterator polybori::COrderingFacade< OrderType, OrderTag >::leadIteratorBegin | ( | const poly_type & | ) | const [inline, virtual] |
ordered_iterator polybori::COrderingFacade< OrderType, OrderTag >::leadIteratorEnd | ( | const poly_type & | ) | const [inline, virtual] |
ordered_exp_iterator polybori::COrderingFacade< OrderType, OrderTag >::leadExpIteratorBegin | ( | const poly_type & | ) | const [inline, virtual] |
ordered_exp_iterator polybori::COrderingFacade< OrderType, OrderTag >::leadExpIteratorEnd | ( | const poly_type & | ) | const [inline, virtual] |
bool_type polybori::COrderingFacade< OrderType, OrderTag >::inSameBlockInternal | ( | idx_type | , | |
idx_type | , | |||
invalid_tag | ||||
) | const [inline, protected] |
trivial case for non-block orderings
bool_type polybori::COrderingFacade< OrderType, OrderTag >::inSameBlockInternal | ( | idx_type | first, | |
idx_type | second, | |||
valid_tag | ||||
) | const [inline, protected] |
complicated case for block orderings