|
PolyBoRi
|
This class defines ordering related functions. More...
#include <BlockDegRevLexAscOrder.h>
Public Types | |
| typedef std::greater< idx_type > | idx_comparer_type |
| Define binary predicate for index comparision. More... | |
Public Types inherited from polybori::CBlockOrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| typedef self | base |
*this is to be used as base for OrderType only More... | |
| typedef base_type::order_lead_tag | order_lead_tag |
| typedef base_type::poly_type | poly_type |
| typedef base_type::monom_type | monom_type |
| typedef base_type::exp_type | exp_type |
| typedef base_type::deg_type | deg_type |
| typedef base_type::set_type | set_type |
| typedef base_type::comp_type | comp_type |
Public Types inherited from polybori::COrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| typedef self | base |
*this is to be used as base for OrderType only More... | |
| typedef BlockDegRevLexAscOrder | order_type |
| Variable ordering definiton functional type. More... | |
| typedef CCacheTypes::lead_tag< block_dp_asc_tag > | order_lead_tag |
| Tag for for leading monomial cache. More... | |
| typedef COrderingTags< block_dp_asc_tag > | 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::COrderingTagsBase< block_dp_asc_tag, invalid_tag, invalid_tag, valid_tag, invalid_tag > | |
| typedef block_dp_asc_tag | order_tag |
| typedef invalid_tag | lex_property |
| typedef invalid_tag | ordered_property |
| typedef typename invert_tag< valid_tag >::type | symmetry_property |
| typedef invalid_tag | degorder_property |
| typedef valid_tag | blockorder_property |
| typedef invalid_tag | totaldegorder_property |
| typedef invert_tag< invalid_tag >::type | ascending_property |
| typedef and_tag< invalid_tag, ascending_property >::type | degrevlexorder_property |
| typedef invalid_tag | descending_property |
Public Types inherited from polybori::order_traits< block_dp_asc_tag > | |
| enum | |
Public Member Functions | |
| BlockDegRevLexAscOrder () | |
| Default Constructor. More... | |
| BlockDegRevLexAscOrder (const self &rhs) | |
| Copy Constructor. More... | |
| ~BlockDegRevLexAscOrder () | |
| Destructor. More... | |
| comp_type | compare (idx_type, idx_type) const |
| Comparison of indices corresponding to variables. More... | |
| comp_type | compare (const monom_type &, const monom_type &) const |
| Comparison of monomials. More... | |
| comp_type | compare (const exp_type &, const exp_type &) const |
| Comparison of exponent vectors. More... | |
Public Member Functions inherited from polybori::CBlockOrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| CBlockOrderingFacade () | |
| Default Constructor. More... | |
| CBlockOrderingFacade (const self &rhs) | |
| Copy Constructor. More... | |
| ~CBlockOrderingFacade ()=0 | |
| Destructor. More... | |
| monom_type | lead (const poly_type &poly) const |
| generic block lead More... | |
| monom_type | lead (const poly_type &poly, deg_type) const |
| exp_type | leadExp (const poly_type &poly) const |
| Extraction of leading exponent - just using lead. More... | |
| exp_type | leadExp (const poly_type &poly, deg_type) const |
| COrderingBase::block_iterator | blockBegin () const |
| COrderingBase::block_iterator | blockEnd () const |
| void | appendBlock (COrderingBase::checked_idx_type idx) |
| void | clearBlocks () |
Public Member Functions inherited from polybori::COrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| 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 |
Additional Inherited Members | |
Protected Member Functions inherited from polybori::CBlockOrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| comp_type | compare_terms (const TermType &lhs, const TermType &rhs, const BinOpType &idx_comparer) const |
| Comparison of monomials/expoinents template. More... | |
Protected Member Functions inherited from polybori::COrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| 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... | |
Protected Attributes inherited from polybori::CBlockOrderingFacade< BlockDegRevLexAscOrder, block_dp_asc_tag > | |
| COrderingBase::block_idx_type | m_indices |
| index data More... | |
This class defines ordering related functions.
| typedef std::greater<idx_type> polybori::BlockDegRevLexAscOrder::idx_comparer_type |
Define binary predicate for index comparision.
|
inline |
Default Constructor.
|
inline |
Copy Constructor.
|
inline |
Destructor.
|
virtual |
Comparison of indices corresponding to variables.
Implements polybori::COrderingBase.
References polybori::block_deg_lex_idx_compare(), and PBORI_TRACE_FUNC.
|
virtual |
Comparison of monomials.
Implements polybori::COrderingBase.
|
virtual |
Comparison of exponent vectors.
Implements polybori::COrderingBase.
1.8.9.1