#include <OrderedManager.h>
Public Types | |
typedef OrderType | order_type |
Variable ordering definiton functional type. | |
typedef CDynamicOrderBase | base |
Variable manager interface (base type). | |
typedef CDynamicOrder< order_type > | self |
Type of *this. | |
typedef COrderProperties < order_type > | properties_type |
Type defining order related properties. | |
adopt global type definitions | |
typedef base::bool_type | bool_type |
typedef base::size_type | size_type |
typedef base::idx_type | idx_type |
typedef base::comp_type | comp_type |
typedef base::monom_type | monom_type |
typedef base::poly_type | poly_type |
typedef base::exp_type | exp_type |
typedef base::ordered_iterator | ordered_iterator |
typedef base::ordered_exp_iterator | ordered_exp_iterator |
typedef base::ordercode_type | ordercode_type |
typedef base::block_iterator | block_iterator |
Type for block iterators. | |
Public Member Functions | |
CDynamicOrder (const order_type &theOrder=order_type()) | |
Construct new decision diagramm manager. | |
CDynamicOrder (const self &rhs) | |
Construct new decision diagramm manager. | |
~CDynamicOrder () | |
comp_type | compare (idx_type lhs, idx_type rhs) const |
Comparison of indices. | |
comp_type | compare (const monom_type &lhs, const monom_type &rhs) const |
Comparison of monomials. | |
comp_type | compare (const exp_type &lhs, const exp_type &rhs) const |
monom_type | lead (const poly_type &rhs) const |
Get leading term. | |
monom_type | lead (const poly_type &rhs, size_type bound) const |
Get leading term (using upper bound). | |
exp_type | leadExp (const poly_type &rhs) const |
Get leading exponent. | |
exp_type | leadExp (const poly_type &rhs, size_type bound) const |
Get leading exponent (using upper bound). | |
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 | isDegreeReverseLexicograpical () 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. | |
ordered_iterator | leadIteratorBegin (const poly_type &poly) const |
Initialize iterator corresponding to leading term. | |
ordered_iterator | leadIteratorEnd () const |
ordered_exp_iterator | leadExpIteratorBegin (const poly_type &poly) const |
Initialize iterator corresponding to leading term. | |
ordered_exp_iterator | leadExpIteratorEnd () const |
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 |
interface for block orderings | |
block_iterator | blockBegin () const |
block_iterator | blockEnd () const |
void | appendBlock (idx_type idx) |
void | clearBlocks () |
Protected Attributes | |
order_type | ordering |
typedef CDynamicOrderBase polybori::CDynamicOrder< OrderType >::base |
Variable manager interface (base type).
typedef base::block_iterator polybori::CDynamicOrder< OrderType >::block_iterator |
typedef base::bool_type polybori::CDynamicOrder< OrderType >::bool_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::comp_type polybori::CDynamicOrder< OrderType >::comp_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::exp_type polybori::CDynamicOrder< OrderType >::exp_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::idx_type polybori::CDynamicOrder< OrderType >::idx_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::monom_type polybori::CDynamicOrder< OrderType >::monom_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef OrderType polybori::CDynamicOrder< OrderType >::order_type |
Variable ordering definiton functional type.
typedef base::ordercode_type polybori::CDynamicOrder< OrderType >::ordercode_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::ordered_exp_iterator polybori::CDynamicOrder< OrderType >::ordered_exp_iterator |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::ordered_iterator polybori::CDynamicOrder< OrderType >::ordered_iterator |
Reimplemented from polybori::CDynamicOrderBase.
typedef base::poly_type polybori::CDynamicOrder< OrderType >::poly_type |
Reimplemented from polybori::CDynamicOrderBase.
typedef COrderProperties<order_type> polybori::CDynamicOrder< OrderType >::properties_type |
Type defining order related properties.
typedef CDynamicOrder<order_type> polybori::CDynamicOrder< OrderType >::self |
typedef base::size_type polybori::CDynamicOrder< OrderType >::size_type |
Reimplemented from polybori::CDynamicOrderBase.
polybori::CDynamicOrder< OrderType >::CDynamicOrder | ( | const order_type & | theOrder = order_type() |
) | [inline] |
Construct new decision diagramm manager.
polybori::CDynamicOrder< OrderType >::CDynamicOrder | ( | const self & | rhs | ) | [inline] |
Construct new decision diagramm manager.
polybori::CDynamicOrder< OrderType >::~CDynamicOrder | ( | ) | [inline] |
void polybori::CDynamicOrder< OrderType >::appendBlock | ( | idx_type | idx | ) | [inline, virtual] |
Implements polybori::CDynamicOrderBase.
bool_type polybori::CDynamicOrder< OrderType >::ascendingVariables | ( | ) | const [inline, virtual] |
block_iterator polybori::CDynamicOrder< OrderType >::blockBegin | ( | ) | const [inline, virtual] |
Implements polybori::CDynamicOrderBase.
block_iterator polybori::CDynamicOrder< OrderType >::blockEnd | ( | ) | const [inline, virtual] |
Implements polybori::CDynamicOrderBase.
void polybori::CDynamicOrder< OrderType >::clearBlocks | ( | ) | [inline, virtual] |
Implements polybori::CDynamicOrderBase.
comp_type polybori::CDynamicOrder< OrderType >::compare | ( | const exp_type & | lhs, | |
const exp_type & | rhs | |||
) | const [inline, virtual] |
Implements polybori::CDynamicOrderBase.
comp_type polybori::CDynamicOrder< OrderType >::compare | ( | const monom_type & | lhs, | |
const monom_type & | rhs | |||
) | const [inline, virtual] |
comp_type polybori::CDynamicOrder< OrderType >::compare | ( | idx_type | lhs, | |
idx_type | rhs | |||
) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::descendingVariables | ( | ) | const [inline, virtual] |
ordercode_type polybori::CDynamicOrder< OrderType >::getBaseOrderCode | ( | ) | const [inline, virtual] |
Get numerical code for base ordering (the same for non-block orderings).
Implements polybori::CDynamicOrderBase.
ordercode_type polybori::CDynamicOrder< OrderType >::getOrderCode | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isBlockOrder | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isDegreeOrder | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isDegreeReverseLexicograpical | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isLexicographical | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isSymmetric | ( | ) | const [inline, virtual] |
bool_type polybori::CDynamicOrder< OrderType >::isTotalDegreeOrder | ( | ) | const [inline, virtual] |
monom_type polybori::CDynamicOrder< OrderType >::lead | ( | const poly_type & | rhs, | |
size_type | bound | |||
) | const [inline, virtual] |
monom_type polybori::CDynamicOrder< OrderType >::lead | ( | const poly_type & | rhs | ) | const [inline, virtual] |
exp_type polybori::CDynamicOrder< OrderType >::leadExp | ( | const poly_type & | rhs, | |
size_type | bound | |||
) | const [inline, virtual] |
exp_type polybori::CDynamicOrder< OrderType >::leadExp | ( | const poly_type & | rhs | ) | const [inline, virtual] |
ordered_exp_iterator polybori::CDynamicOrder< OrderType >::leadExpIteratorBegin | ( | const poly_type & | poly | ) | const [inline, virtual] |
ordered_exp_iterator polybori::CDynamicOrder< OrderType >::leadExpIteratorEnd | ( | ) | const [inline, virtual] |
Implements polybori::CDynamicOrderBase.
poly_type polybori::CDynamicOrder< OrderType >::leadFirst | ( | const poly_type & | poly | ) | const [inline, virtual] |
Generates polynomial with leading term first (other terms may be skipped).
Implements polybori::CDynamicOrderBase.
ordered_iterator polybori::CDynamicOrder< OrderType >::leadIteratorBegin | ( | const poly_type & | poly | ) | const [inline, virtual] |
Initialize iterator corresponding to leading term.
Initialize iterator corresponding to leading term
Implements polybori::CDynamicOrderBase.
ordered_iterator polybori::CDynamicOrder< OrderType >::leadIteratorEnd | ( | ) | const [inline, virtual] |
Implements polybori::CDynamicOrderBase.
bool_type polybori::CDynamicOrder< OrderType >::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::CDynamicOrderBase.
References polybori::lie_in_same_block().
bool_type polybori::CDynamicOrder< OrderType >::orderedStandardIteration | ( | ) | const [inline, virtual] |
order_type polybori::CDynamicOrder< OrderType >::ordering [protected] |