polybori::CDynamicOrder< OrderType > Class Template Reference

This class initialize the interface for orderings of CDynamicOrderBase. More...

#include <OrderedManager.h>

Inheritance diagram for polybori::CDynamicOrder< OrderType >:

polybori::CDynamicOrderBase

List of all members.

Public Types

typedef OrderType order_type
 Variable ordering definiton functional type.
typedef CDynamicOrderBase base
 Variable manager interface (base type).
typedef CDynamicOrder< order_typeself
 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


Detailed Description

template<class OrderType>
class polybori::CDynamicOrder< OrderType >

This class initialize the interface for orderings of CDynamicOrderBase.

Member Typedef Documentation

template<class OrderType >
typedef CDynamicOrderBase polybori::CDynamicOrder< OrderType >::base

Variable manager interface (base type).

template<class OrderType >
typedef base::block_iterator polybori::CDynamicOrder< OrderType >::block_iterator

Type for block iterators.

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::bool_type polybori::CDynamicOrder< OrderType >::bool_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::comp_type polybori::CDynamicOrder< OrderType >::comp_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::exp_type polybori::CDynamicOrder< OrderType >::exp_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::idx_type polybori::CDynamicOrder< OrderType >::idx_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::monom_type polybori::CDynamicOrder< OrderType >::monom_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef OrderType polybori::CDynamicOrder< OrderType >::order_type

Variable ordering definiton functional type.

template<class OrderType >
typedef base::ordercode_type polybori::CDynamicOrder< OrderType >::ordercode_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::ordered_exp_iterator polybori::CDynamicOrder< OrderType >::ordered_exp_iterator

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::ordered_iterator polybori::CDynamicOrder< OrderType >::ordered_iterator

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::poly_type polybori::CDynamicOrder< OrderType >::poly_type

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef COrderProperties<order_type> polybori::CDynamicOrder< OrderType >::properties_type

Type defining order related properties.

template<class OrderType >
typedef CDynamicOrder<order_type> polybori::CDynamicOrder< OrderType >::self

Type of *this.

Reimplemented from polybori::CDynamicOrderBase.

template<class OrderType >
typedef base::size_type polybori::CDynamicOrder< OrderType >::size_type

Reimplemented from polybori::CDynamicOrderBase.


Constructor & Destructor Documentation

template<class OrderType >
polybori::CDynamicOrder< OrderType >::CDynamicOrder ( const order_type theOrder = order_type()  )  [inline]

Construct new decision diagramm manager.

template<class OrderType >
polybori::CDynamicOrder< OrderType >::CDynamicOrder ( const self rhs  )  [inline]

Construct new decision diagramm manager.

template<class OrderType >
polybori::CDynamicOrder< OrderType >::~CDynamicOrder (  )  [inline]


Member Function Documentation

template<class OrderType >
void polybori::CDynamicOrder< OrderType >::appendBlock ( idx_type  idx  )  [inline, virtual]

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::ascendingVariables (  )  const [inline, virtual]

Test whether variables are in ascending order.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
block_iterator polybori::CDynamicOrder< OrderType >::blockBegin (  )  const [inline, virtual]

template<class OrderType >
block_iterator polybori::CDynamicOrder< OrderType >::blockEnd (  )  const [inline, virtual]

template<class OrderType >
void polybori::CDynamicOrder< OrderType >::clearBlocks (  )  [inline, virtual]

template<class OrderType >
comp_type polybori::CDynamicOrder< OrderType >::compare ( const exp_type lhs,
const exp_type rhs 
) const [inline, virtual]

template<class OrderType >
comp_type polybori::CDynamicOrder< OrderType >::compare ( const monom_type lhs,
const monom_type rhs 
) const [inline, virtual]

Comparison of monomials.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
comp_type polybori::CDynamicOrder< OrderType >::compare ( idx_type  lhs,
idx_type  rhs 
) const [inline, virtual]

Comparison of indices.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::descendingVariables (  )  const [inline, virtual]

Test whether variables are in descending order.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
ordercode_type polybori::CDynamicOrder< OrderType >::getBaseOrderCode (  )  const [inline, virtual]

Get numerical code for base ordering (the same for non-block orderings).

Implements polybori::CDynamicOrderBase.

template<class OrderType >
ordercode_type polybori::CDynamicOrder< OrderType >::getOrderCode (  )  const [inline, virtual]

Get numerical code for ordering.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isBlockOrder (  )  const [inline, virtual]

Test whether we deal with a degree-ordering.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isDegreeOrder (  )  const [inline, virtual]

Test whether we deal with a degree-ordering.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isDegreeReverseLexicograpical (  )  const [inline, virtual]

Test whether ordering is deg-rev-lex ordering.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isLexicographical (  )  const [inline, virtual]

Check whether ring is lexicographical.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isSymmetric (  )  const [inline, virtual]

Test whether variable pertubation do not change the order.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::isTotalDegreeOrder (  )  const [inline, virtual]

Test whether we deal with a total degree-ordering.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
monom_type polybori::CDynamicOrder< OrderType >::lead ( const poly_type rhs,
size_type  bound 
) const [inline, virtual]

Get leading term (using upper bound).

Implements polybori::CDynamicOrderBase.

template<class OrderType >
monom_type polybori::CDynamicOrder< OrderType >::lead ( const poly_type rhs  )  const [inline, virtual]

Get leading term.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
exp_type polybori::CDynamicOrder< OrderType >::leadExp ( const poly_type rhs,
size_type  bound 
) const [inline, virtual]

Get leading exponent (using upper bound).

Implements polybori::CDynamicOrderBase.

template<class OrderType >
exp_type polybori::CDynamicOrder< OrderType >::leadExp ( const poly_type rhs  )  const [inline, virtual]

Get leading exponent.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
ordered_exp_iterator polybori::CDynamicOrder< OrderType >::leadExpIteratorBegin ( const poly_type poly  )  const [inline, virtual]

Initialize iterator corresponding to leading term.

Implements polybori::CDynamicOrderBase.

template<class OrderType >
ordered_exp_iterator polybori::CDynamicOrder< OrderType >::leadExpIteratorEnd (  )  const [inline, virtual]

template<class OrderType >
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.

template<class OrderType >
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.

template<class OrderType >
ordered_iterator polybori::CDynamicOrder< OrderType >::leadIteratorEnd (  )  const [inline, virtual]

template<class OrderType >
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().

template<class OrderType >
bool_type polybori::CDynamicOrder< OrderType >::orderedStandardIteration (  )  const [inline, virtual]

Test whether iterators respect order.

Implements polybori::CDynamicOrderBase.


Member Data Documentation

template<class OrderType >
order_type polybori::CDynamicOrder< OrderType >::ordering [protected]


The documentation for this class was generated from the following file:

Generated on Fri Apr 3 20:47:31 2009 for PolyBoRi by  doxygen 1.5.8