|
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 More... | |
| typedef OrderType | order_type |
| Variable ordering definiton functional type. More... | |
| typedef CCacheTypes::lead_tag< OrderTag > | order_lead_tag |
| Tag for for leading monomial cache. More... | |
| typedef COrderingTags< OrderTag > | ordering_tags |
Public Types inherited from polybori::COrderingBase | |
| typedef CCheckedIdx | checked_idx_type |
| Check index on input. More... | |
| typedef std::vector< idx_type > | block_idx_type |
| Type for block indices. More... | |
| typedef block_idx_type::const_iterator | block_iterator |
| Type for block iterators. More... | |
| typedef BooleSet | set_type |
| Type of Boolean sets. More... | |
| typedef BoolePolynomial | poly_type |
| typedef BooleMonomial | monom_type |
| typedef CCuddNavigator | navigator |
| typedef BooleExponent | exp_type |
| typedef COrderedIter< navigator, monom_type > | ordered_iterator |
| typedef COrderedIter< navigator, exp_type > | ordered_exp_iterator |
Public Types inherited from polybori::CAuxTypes | |
| typedef bool | bool_type |
| Type for standard true/false statements. More... | |
| typedef std::size_t | size_type |
| Type for lengths, dimensions, etc. More... | |
| typedef int | deg_type |
| Type for polynomial degrees (ranges from -1 to maxint) More... | |
| typedef int | integer_type |
| Type for integer numbers. More... | |
| typedef int | idx_type |
| Type for indices. More... | |
| typedef std::size_t | hash_type |
| Type for hashing. More... | |
| typedef unsigned int | errornum_type |
| Type used to store error codes. More... | |
| typedef short int | comp_type |
| Type for comparisons. More... | |
| typedef int | ordercode_type |
| Type for ordering codes. More... | |
| typedef const char * | errortext_type |
| Type used to verbose error information. More... | |
| typedef std::ostream | ostream_type |
| Type for out-stream. More... | |
| typedef const char * | vartext_type |
| Type for setting/getting names of variables. More... | |
| typedef unsigned long | large_size_type |
| large size_type (necessary?) More... | |
| typedef std::size_t | refcount_type |
| Type for counting references. More... | |
Public Types inherited from polybori::order_traits< OrderTag > | |
| enum | { order_code = order_traits_code<OrderTag>::order_code, baseorder_code = order_code } |
Public Member Functions | |
| COrderingFacade () | |
| Construct new decision diagramm manager. More... | |
| COrderingFacade (const self &rhs) | |
| Construct new decision diagramm manager. More... | |
| ~COrderingFacade () | |
| Destructor. More... | |
| poly_type | leadFirst (const poly_type &poly) const |
| Generates polynomial with leading term first (other terms may be skipped) More... | |
| bool_type | isLexicographical () const |
| Check whether ring is lexicographical. More... | |
| bool_type | orderedStandardIteration () const |
| Test whether iterators respect order. More... | |
| bool_type | isSymmetric () const |
| Test whether variable pertubation do not change the order. More... | |
| bool_type | isDegreeOrder () const |
| Test whether we deal with a degree-ordering. More... | |
| bool_type | isBlockOrder () const |
| Test whether we deal with a degree-ordering. More... | |
| bool_type | isTotalDegreeOrder () const |
| Test whether we deal with a total degree-ordering. More... | |
| bool_type | isDegreeReverseLexicographical () const |
| Test whether ordering is deg-rev-lex ordering. More... | |
| bool_type | ascendingVariables () const |
| Test whether variables are in ascending order. More... | |
| bool_type | descendingVariables () const |
| Test whether variables are in descending order. More... | |
| ordercode_type | getOrderCode () const |
| Get numerical code for ordering. More... | |
| ordercode_type | getBaseOrderCode () const |
| Get numerical code for base ordering (the same for non-block orderings) More... | |
| bool_type | lieInSameBlock (idx_type first, idx_type second) const |
| idx_type | lastBlockStart () const |
| Generic procedure to get index, where last block starts. More... | |
| ordered_iterator | leadIteratorBegin (const poly_type &poly) const |
| Initialize iterator corresponding to leading term. More... | |
| ordered_iterator | leadIteratorEnd (const poly_type &poly) const |
| End marker for iterator corresponding to leading term. More... | |
| ordered_exp_iterator | leadExpIteratorBegin (const poly_type &poly) const |
| Initialize exponent iterator corresponding to leading term. More... | |
| ordered_exp_iterator | leadExpIteratorEnd (const poly_type &poly) const |
| End marker for exponent iterator corresponding to leading term. More... | |
Public Member Functions inherited from polybori::COrderingBase | |
| COrderingBase () | |
| Default constructor. More... | |
| virtual | ~COrderingBase ()=0 |
| virtual comp_type | compare (idx_type, idx_type) const =0 |
| Comparison of monomials. More... | |
| virtual comp_type | compare (const monom_type &, const monom_type &) const =0 |
| virtual comp_type | compare (const exp_type &, const exp_type &) const =0 |
| virtual monom_type | lead (const poly_type &) const =0 |
| Get leading term. More... | |
| virtual monom_type | lead (const poly_type &, deg_type) const =0 |
| Get leading term (using upper bound) More... | |
| virtual exp_type | leadExp (const poly_type &) const =0 |
| Get leading exponent. More... | |
| virtual exp_type | leadExp (const poly_type &, deg_type) const =0 |
| Get leading exponent (using upper bound) More... | |
| virtual block_iterator | blockBegin () const |
| virtual block_iterator | blockEnd () const |
| virtual void | appendBlock (checked_idx_type) |
| virtual void | clearBlocks () |
Protected Member Functions | |
| bool_type | inSameBlockInternal (idx_type, idx_type, invalid_tag) const |
| trivial case for non-block orderings More... | |
| bool_type | inSameBlockInternal (idx_type first, idx_type second, valid_tag) const |
| complicated case for block orderings More... | |
Protected Member Functions inherited from polybori::COrderingBase | |
| monom_type | monom (const set_type &rhs) const |
| Get monomial from set of subsets of Boolean variables (internal use only) More... | |
This class initialize the interface for orderings of CDynamicOrderBase for a given OrderType. OrderType must inherit from COrderingFacade<OrderType>.
| typedef self polybori::COrderingFacade< OrderType, OrderTag >::base |
*this is to be used as base for OrderType only
| typedef CCacheTypes::lead_tag<OrderTag> polybori::COrderingFacade< OrderType, OrderTag >::order_lead_tag |
Tag for for leading monomial cache.
| typedef OrderType polybori::COrderingFacade< OrderType, OrderTag >::order_type |
Variable ordering definiton functional type.
| typedef COrderingTags<OrderTag> polybori::COrderingFacade< OrderType, OrderTag >::ordering_tags |
|
inline |
Construct new decision diagramm manager.
|
inline |
Construct new decision diagramm manager.
|
inline |
Destructor.
|
inlinevirtual |
Test whether variables are in ascending order.
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether variables are in descending order.
Implements polybori::COrderingBase.
|
inlinevirtual |
Get numerical code for base ordering (the same for non-block orderings)
Implements polybori::COrderingBase.
|
inlinevirtual |
Get numerical code for ordering.
Implements polybori::COrderingBase.
|
inlineprotected |
trivial case for non-block orderings
|
inlineprotected |
complicated case for block orderings
|
inlinevirtual |
Test whether we deal with a degree-ordering.
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether we deal with a degree-ordering.
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether ordering is deg-rev-lex ordering.
Implements polybori::COrderingBase.
|
inlinevirtual |
Check whether ring is lexicographical.
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether variable pertubation do not change the order.
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether we deal with a total degree-ordering.
Implements polybori::COrderingBase.
|
inlinevirtual |
Generic procedure to get index, where last block starts.
Implements polybori::COrderingBase.
|
inlinevirtual |
Initialize exponent iterator corresponding to leading term.
Implements polybori::COrderingBase.
|
inlinevirtual |
End marker for exponent iterator corresponding to leading term.
Implements polybori::COrderingBase.
|
inlinevirtual |
Generates polynomial with leading term first (other terms may be skipped)
Implements polybori::COrderingBase.
|
inlinevirtual |
Initialize iterator corresponding to leading term.
Implements polybori::COrderingBase.
|
inlinevirtual |
End marker for iterator corresponding to leading term.
Implements polybori::COrderingBase.
|
inlinevirtual |
Check, whether two indices are in the same block (true for nonblock orderings)
Implements polybori::COrderingBase.
|
inlinevirtual |
Test whether iterators respect order.
Implements polybori::COrderingBase.
1.8.9.1