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