PolyBoRi
|
This class wraps the underlying decicion diagram type and defines the necessary operations. More...
#include <BoolePolynomial.h>
Public Types | |
typedef BoolePolynomial | self |
Generic access to current type. | |
typedef dd_type::first_iterator | first_iterator |
Iterator type for iterating over indices of the leading term. | |
typedef dd_type::navigator | navigator |
Iterator-like type for navigating through diagram structure. | |
typedef dd_type::pretty_out_type | pretty_out_type |
Type for output of pretty print. | |
typedef dd_type::filename_type | filename_type |
Type for naming file for pretty print. | |
typedef BooleMonomial | monom_type |
Fix type for treatment of monomials. | |
typedef BooleVariable | var_type |
Fix type for treatment of monomials. | |
typedef BooleExponent | exp_type |
Fix type for treatment of exponent vectors. | |
typedef BooleConstant | constant_type |
Type for wrapping integer and bool values. | |
typedef BooleRing | ring_type |
Type for Boolean polynomial rings (without ordering) | |
typedef binary_composition < std::plus< size_type > , project_ith < 1 >, integral_constant < size_type, 1 > > | increment_type |
Incrementation functional type. | |
typedef binary_composition < std::minus< size_type > , project_ith < 1 >, integral_constant < size_type, 1 > > | decrement_type |
Decrementation functional type. | |
typedef COrderedIter < navigator, exp_type > | ordered_exp_iterator |
Iterator type for iterating over all exponents in ordering order. | |
typedef COrderedIter < navigator, monom_type > | ordered_iterator |
Iterator type for iterating over all monomials in ordering order. | |
typedef lex_iterator | const_iterator |
Iterator type for iterating over all monomials. | |
typedef CExpIter< navigator, exp_type > | exp_iterator |
Iterator type for iterating all exponent vectors. | |
typedef CGenericIter< LexOrder, navigator, deg_type > | deg_iterator |
Iterator type for iterating all monomials (dereferencing to degree) | |
typedef std::vector< monom_type > | termlist_type |
Type for lists of terms. | |
typedef dd_type::easy_equality_property | easy_equality_property |
The property whether the equality check is easy is inherited from dd_type. | |
typedef BooleSet | set_type |
Type for sets of Boolean variables. | |
typedef std::map< self, idx_type, symmetric_composition < std::less< navigator > , navigates< self > > > | idx_map_type |
Type for index maps. | |
typedef std::map< self, std::vector< self > , symmetric_composition < std::less< navigator > , navigates< self > > > | poly_vec_map_type |
Adopt global type definitions | |
typedef CTypes::manager_type | manager_type |
typedef CTypes::manager_reference | manager_reference |
typedef CTypes::manager_ptr | manager_ptr |
typedef CTypes::dd_type | dd_type |
typedef CTypes::size_type | size_type |
typedef CTypes::deg_type | deg_type |
typedef CTypes::idx_type | idx_type |
typedef CTypes::bool_type | bool_type |
typedef CTypes::ostream_type | ostream_type |
typedef CTypes::hash_type | hash_type |
Generic iterators for various orderings | |
typedef CGenericIter< LexOrder, navigator, monom_type > | lex_iterator |
typedef CGenericIter < DegLexOrder, navigator, monom_type > | dlex_iterator |
typedef CGenericIter < DegRevLexAscOrder, navigator, monom_type > | dp_asc_iterator |
typedef CGenericIter < BlockDegLexOrder, navigator, monom_type > | block_dlex_iterator |
typedef CGenericIter < BlockDegRevLexAscOrder, navigator, monom_type > | block_dp_asc_iterator |
typedef CGenericIter< LexOrder, navigator, exp_type > | lex_exp_iterator |
typedef CGenericIter < DegLexOrder, navigator, exp_type > | dlex_exp_iterator |
typedef CGenericIter < DegRevLexAscOrder, navigator, exp_type > | dp_asc_exp_iterator |
typedef CGenericIter < BlockDegLexOrder, navigator, exp_type > | block_dlex_exp_iterator |
typedef CGenericIter < BlockDegRevLexAscOrder, navigator, exp_type > | block_dp_asc_exp_iterator |
Public Member Functions | |
BoolePolynomial () | |
Default constructor. | |
BoolePolynomial (constant_type) | |
Construct polynomial from a constant value 0 or 1. | |
BoolePolynomial (constant_type isOne, const ring_type &ring) | |
Construct polynomial from a constant value 0 or 1. | |
BoolePolynomial (const dd_type &rhs) | |
Construct polynomial from decision diagram. | |
BoolePolynomial (const set_type &rhs) | |
Construct polynomial from a subset of the powerset over all variables. | |
BoolePolynomial (const exp_type &, const ring_type &) | |
Construct polynomial from exponent vector. | |
BoolePolynomial (const navigator &rhs, const ring_type &ring) | |
Construct polynomial from navigator. | |
~BoolePolynomial () | |
Destructor. | |
self & | operator= (constant_type rhs) |
bool_type | isZero () const |
Check whether polynomial is constant zero. | |
bool_type | isOne () const |
Check whether polynomial is constant one. | |
bool_type | isConstant () const |
Check whether polynomial is zero or one. | |
bool_type | hasConstantPart () const |
Check whether polynomial has term one. | |
bool_type | reducibleBy (const self &) const |
Tests whether polynomial can be reduced by right-hand side. | |
monom_type | lead () const |
Get leading term. | |
monom_type | lexLead () const |
Get leading term w.r.t. lexicographical order. | |
monom_type | boundedLead (size_type bound) const |
Get leading term (using upper bound) | |
exp_type | leadExp () const |
Get leading term. | |
exp_type | boundedLeadExp (size_type bound) const |
Get leading term (using upper bound) | |
set_type | lmDivisors () const |
Get all divisors of the leading term. | |
hash_type | hash () const |
Get unique hash value (may change from run to run) | |
hash_type | stableHash () const |
Get hash value, which is reproducible. | |
hash_type | lmStableHash () const |
Hash value of the leading term. | |
deg_type | deg () const |
Maximal degree of the polynomial. | |
deg_type | lmDeg () const |
Degree of the leading term. | |
deg_type | lexLmDeg () const |
Degree of the leading term w.r.t. lexicographical ordering. | |
deg_type | totalDeg () const |
Total maximal degree of the polynomial. | |
deg_type | lmTotalDeg () const |
Total degree of the leading term. | |
self | gradedPart (deg_type deg) const |
Get part of given degree. | |
size_type | nNodes () const |
Number of nodes in the decision diagram. | |
size_type | nUsedVariables () const |
Number of variables of the polynomial. | |
monom_type | usedVariables () const |
Set of variables of the polynomial. | |
exp_type | usedVariablesExp () const |
Exponent vector of all of variables of the polynomial. | |
size_type | length () const |
Returns number of terms. | |
ostream_type & | print (ostream_type &) const |
Print current polynomial to output stream. | |
void | prettyPrint () const |
Pretty print to stdout. | |
void | prettyPrint (filename_type filename) const |
Pretty print to filename. | |
const_iterator | begin () const |
Start of iteration over monomials. | |
const_iterator | end () const |
Finish of iteration over monomials. | |
exp_iterator | expBegin () const |
Start of iteration over exponent vectors. | |
exp_iterator | expEnd () const |
Finish of iteration over exponent vectors. | |
first_iterator | firstBegin () const |
Start of first term. | |
first_iterator | firstEnd () const |
Finish of first term. | |
monom_type | firstTerm () const |
Get of first lexicographic term. | |
deg_iterator | degBegin () const |
Start of degrees. | |
deg_iterator | degEnd () const |
Finish of degrees. | |
ordered_iterator | orderedBegin () const |
Start of ordering respecting iterator. | |
ordered_iterator | orderedEnd () const |
Finish of ordering respecting iterator. | |
ordered_exp_iterator | orderedExpBegin () const |
Start of ordering respecting exponent iterator. | |
ordered_exp_iterator | orderedExpEnd () const |
Finish of ordering respecting exponent iterator. | |
navigator | navigation () const |
Navigate through structure. | |
navigator | endOfNavigation () const |
End of navigation marker. | |
dd_type | copyDiagram () |
gives a copy of the diagram | |
operator set_type () const | |
Casting operator to Boolean set. | |
size_type | eliminationLength () const |
size_type | eliminationLengthWithDegBound (deg_type garantied_deg_bound) const |
void | fetchTerms (termlist_type &) const |
Get list of all terms. | |
termlist_type | terms () const |
Return of all terms. | |
const dd_type & | diagram () const |
Read-only access to internal decision diagramm structure. | |
set_type | set () const |
Get corresponding subset of of the powerset over all variables. | |
bool_type | isSingleton () const |
Test, whether we have one term only. | |
bool_type | isSingletonOrPair () const |
Test, whether we have one or two terms only. | |
bool_type | isPair () const |
Test, whether we have two terms only. | |
ring_type | ring () const |
Access ring, where this belongs to. | |
Arithmetical operations | |
const self & | operator- () const |
self & | operator+= (const self &) |
self & | operator+= (constant_type rhs) |
template<class RHSType > | |
self & | operator-= (const RHSType &rhs) |
self & | operator*= (const monom_type &) |
self & | operator*= (const exp_type &) |
self & | operator*= (const self &) |
self & | operator*= (constant_type rhs) |
self & | operator/= (const monom_type &) |
self & | operator/= (const exp_type &) |
self & | operator/= (const self &rhs) |
self & | operator/= (constant_type rhs) |
self & | operator%= (const monom_type &) |
self & | operator%= (const self &rhs) |
self & | operator%= (constant_type rhs) |
Logical operations | |
bool_type | operator== (const self &rhs) const |
bool_type | operator!= (const self &rhs) const |
bool_type | operator== (constant_type rhs) const |
bool_type | operator!= (constant_type rhs) const |
Compile-time access to generic iterators | |
lex_iterator | genericBegin (lex_tag) const |
lex_iterator | genericEnd (lex_tag) const |
dlex_iterator | genericBegin (dlex_tag) const |
dlex_iterator | genericEnd (dlex_tag) const |
dp_asc_iterator | genericBegin (dp_asc_tag) const |
dp_asc_iterator | genericEnd (dp_asc_tag) const |
block_dlex_iterator | genericBegin (block_dlex_tag) const |
block_dlex_iterator | genericEnd (block_dlex_tag) const |
block_dp_asc_iterator | genericBegin (block_dp_asc_tag) const |
block_dp_asc_iterator | genericEnd (block_dp_asc_tag) const |
lex_exp_iterator | genericExpBegin (lex_tag) const |
lex_exp_iterator | genericExpEnd (lex_tag) const |
dlex_exp_iterator | genericExpBegin (dlex_tag) const |
dlex_exp_iterator | genericExpEnd (dlex_tag) const |
dp_asc_exp_iterator | genericExpBegin (dp_asc_tag) const |
dp_asc_exp_iterator | genericExpEnd (dp_asc_tag) const |
block_dlex_exp_iterator | genericExpBegin (block_dlex_tag) const |
block_dlex_exp_iterator | genericExpEnd (block_dlex_tag) const |
block_dp_asc_exp_iterator | genericExpBegin (block_dp_asc_tag) const |
block_dp_asc_exp_iterator | genericExpEnd (block_dp_asc_tag) const |
Protected Member Functions | |
dd_type & | internalDiagram () |
Access to internal decision diagramm structure. | |
self | leadFirst () const |
Generate a polynomial, whose first term is the leading term. | |
set_type | firstDivisors () const |
Get all divisors of the first term. | |
Friends | |
class | BooleMonomial |
Let BooleMonomial access protected and private members. |
This class wraps the underlying decicion diagram type and defines the necessary operations.
typedef CGenericIter<BlockDegLexOrder, navigator, exp_type> polybori::BoolePolynomial::block_dlex_exp_iterator |
typedef CGenericIter<BlockDegLexOrder, navigator, monom_type> polybori::BoolePolynomial::block_dlex_iterator |
typedef CGenericIter<BlockDegRevLexAscOrder, navigator, exp_type> polybori::BoolePolynomial::block_dp_asc_exp_iterator |
typedef CGenericIter<BlockDegRevLexAscOrder, navigator, monom_type> polybori::BoolePolynomial::block_dp_asc_iterator |
Iterator type for iterating over all monomials.
Type for wrapping integer and bool values.
typedef binary_composition< std::minus<size_type>, project_ith<1>, integral_constant<size_type, 1> > polybori::BoolePolynomial::decrement_type |
Decrementation functional type.
Iterator type for iterating all monomials (dereferencing to degree)
typedef CGenericIter<DegRevLexAscOrder, navigator, exp_type> polybori::BoolePolynomial::dp_asc_exp_iterator |
typedef CGenericIter<DegRevLexAscOrder, navigator, monom_type> polybori::BoolePolynomial::dp_asc_iterator |
The property whether the equality check is easy is inherited from dd_type.
Iterator type for iterating all exponent vectors.
Fix type for treatment of exponent vectors.
Type for naming file for pretty print.
Iterator type for iterating over indices of the leading term.
typedef std::map<self, idx_type, symmetric_composition< std::less<navigator>, navigates<self> > > polybori::BoolePolynomial::idx_map_type |
Type for index maps.
typedef binary_composition< std::plus<size_type>, project_ith<1>, integral_constant<size_type, 1> > polybori::BoolePolynomial::increment_type |
Incrementation functional type.
Fix type for treatment of monomials.
Iterator-like type for navigating through diagram structure.
Iterator type for iterating over all exponents in ordering order.
Iterator type for iterating over all monomials in ordering order.
typedef std::map<self, std::vector<self>, symmetric_composition< std::less<navigator>, navigates<self> > > polybori::BoolePolynomial::poly_vec_map_type |
Type for output of pretty print.
Type for Boolean polynomial rings (without ordering)
Generic access to current type.
Type for sets of Boolean variables.
typedef std::vector<monom_type> polybori::BoolePolynomial::termlist_type |
Type for lists of terms.
Fix type for treatment of monomials.
BEGIN_NAMESPACE_PBORI BoolePolynomial::BoolePolynomial | ( | ) |
Default constructor.
References PBORI_TRACE_FUNC.
polybori::BoolePolynomial::BoolePolynomial | ( | constant_type | ) | [explicit] |
Construct polynomial from a constant value 0 or 1.
polybori::BoolePolynomial::BoolePolynomial | ( | constant_type | isOne, |
const ring_type & | ring | ||
) | [inline] |
Construct polynomial from a constant value 0 or 1.
polybori::BoolePolynomial::BoolePolynomial | ( | const dd_type & | rhs | ) | [inline] |
Construct polynomial from decision diagram.
polybori::BoolePolynomial::BoolePolynomial | ( | const set_type & | rhs | ) | [inline] |
Construct polynomial from a subset of the powerset over all variables.
Construct polynomial from exponent vector.
polybori::BoolePolynomial::BoolePolynomial | ( | const navigator & | rhs, |
const ring_type & | ring | ||
) | [inline] |
Construct polynomial from navigator.
References polybori::CCuddNavigator::isValid().
polybori::BoolePolynomial::~BoolePolynomial | ( | ) | [inline] |
Destructor.
const_iterator polybori::BoolePolynomial::begin | ( | ) | const |
Start of iteration over monomials.
Referenced by fetchTerms(), and polybori::BooleMonomial::GCDAssign().
BoolePolynomial::monom_type BoolePolynomial::boundedLead | ( | size_type | bound | ) | const |
Get leading term (using upper bound)
References isZero(), polybori::BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.
BoolePolynomial::exp_type BoolePolynomial::boundedLeadExp | ( | size_type | bound | ) | const |
Get leading term (using upper bound)
References isZero(), polybori::BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.
dd_type polybori::BoolePolynomial::copyDiagram | ( | ) | [inline] |
gives a copy of the diagram
deg_type polybori::BoolePolynomial::deg | ( | ) | const |
Maximal degree of the polynomial.
Referenced by eliminationLengthWithDegBound(), gradedPart(), polybori::groebner::red_tail_general(), polybori::groebner::red_tail_generic(), and totalDeg().
BoolePolynomial::deg_iterator BoolePolynomial::degBegin | ( | ) | const |
Start of degrees.
References polybori::CDDInterface< CuddLikeZDD >::managerCore(), navigation(), and PBORI_TRACE_FUNC.
BoolePolynomial::deg_iterator BoolePolynomial::degEnd | ( | ) | const |
Finish of degrees.
References PBORI_TRACE_FUNC.
const dd_type& polybori::BoolePolynomial::diagram | ( | ) | const [inline] |
Read-only access to internal decision diagramm structure.
Referenced by PBORINAME::groebner::do_is_rewriteable(), polybori::groebner::GroebnerStrategy::GroebnerStrategy(), polybori::BooleMonomial::multiples(), and polybori::groebner::plug_1_top().
size_type polybori::BoolePolynomial::eliminationLength | ( | ) | const |
Referenced by eliminationLengthWithDegBound().
BoolePolynomial::size_type BoolePolynomial::eliminationLengthWithDegBound | ( | deg_type | garantied_deg_bound | ) | const |
References deg(), eliminationLength(), length(), lmDeg(), and polybori::BooleEnv::ordering().
const_iterator polybori::BoolePolynomial::end | ( | ) | const |
Finish of iteration over monomials.
Referenced by fetchTerms(), and polybori::BooleMonomial::GCDAssign().
navigator polybori::BoolePolynomial::endOfNavigation | ( | ) | const [inline] |
End of navigation marker.
exp_iterator polybori::BoolePolynomial::expBegin | ( | ) | const |
Start of iteration over exponent vectors.
exp_iterator polybori::BoolePolynomial::expEnd | ( | ) | const |
Finish of iteration over exponent vectors.
void BoolePolynomial::fetchTerms | ( | termlist_type & | theOutputList | ) | const |
Get list of all terms.
References begin(), end(), length(), and PBORI_TRACE_FUNC.
Referenced by terms().
first_iterator polybori::BoolePolynomial::firstBegin | ( | ) | const |
Start of first term.
Referenced by lexLmDeg().
set_type polybori::BoolePolynomial::firstDivisors | ( | ) | const [protected] |
Get all divisors of the first term.
first_iterator polybori::BoolePolynomial::firstEnd | ( | ) | const |
Finish of first term.
Referenced by lexLmDeg().
BoolePolynomial::monom_type BoolePolynomial::firstTerm | ( | ) | const |
Get of first lexicographic term.
References polybori::LexOrder::lead(), and PBORI_TRACE_FUNC.
dlex_iterator polybori::BoolePolynomial::genericBegin | ( | dlex_tag | ) | const |
dp_asc_iterator polybori::BoolePolynomial::genericBegin | ( | dp_asc_tag | ) | const |
block_dlex_iterator polybori::BoolePolynomial::genericBegin | ( | block_dlex_tag | ) | const |
block_dp_asc_iterator polybori::BoolePolynomial::genericBegin | ( | block_dp_asc_tag | ) | const |
lex_iterator polybori::BoolePolynomial::genericBegin | ( | lex_tag | ) | const |
dlex_iterator polybori::BoolePolynomial::genericEnd | ( | dlex_tag | ) | const |
dp_asc_iterator polybori::BoolePolynomial::genericEnd | ( | dp_asc_tag | ) | const |
block_dlex_iterator polybori::BoolePolynomial::genericEnd | ( | block_dlex_tag | ) | const |
block_dp_asc_iterator polybori::BoolePolynomial::genericEnd | ( | block_dp_asc_tag | ) | const |
lex_iterator polybori::BoolePolynomial::genericEnd | ( | lex_tag | ) | const |
lex_exp_iterator polybori::BoolePolynomial::genericExpBegin | ( | lex_tag | ) | const |
dlex_exp_iterator polybori::BoolePolynomial::genericExpBegin | ( | dlex_tag | ) | const |
dp_asc_exp_iterator polybori::BoolePolynomial::genericExpBegin | ( | dp_asc_tag | ) | const |
block_dlex_exp_iterator polybori::BoolePolynomial::genericExpBegin | ( | block_dlex_tag | ) | const |
block_dp_asc_exp_iterator polybori::BoolePolynomial::genericExpBegin | ( | block_dp_asc_tag | ) | const |
block_dlex_exp_iterator polybori::BoolePolynomial::genericExpEnd | ( | block_dlex_tag | ) | const |
dlex_exp_iterator polybori::BoolePolynomial::genericExpEnd | ( | dlex_tag | ) | const |
lex_exp_iterator polybori::BoolePolynomial::genericExpEnd | ( | lex_tag | ) | const |
dp_asc_exp_iterator polybori::BoolePolynomial::genericExpEnd | ( | dp_asc_tag | ) | const |
block_dp_asc_exp_iterator polybori::BoolePolynomial::genericExpEnd | ( | block_dp_asc_tag | ) | const |
BoolePolynomial BoolePolynomial::gradedPart | ( | deg_type | deg | ) | const |
Get part of given degree.
References polybori::dd_graded_part(), deg(), polybori::CDDInterface< CuddLikeZDD >::manager(), navigation(), and PBORI_TRACE_FUNC.
Referenced by polybori::groebner::nf3_degree_order().
bool_type polybori::BoolePolynomial::hasConstantPart | ( | ) | const [inline] |
Check whether polynomial has term one.
hash_type polybori::BoolePolynomial::hash | ( | ) | const [inline] |
Get unique hash value (may change from run to run)
dd_type& polybori::BoolePolynomial::internalDiagram | ( | ) | [inline, protected] |
Access to internal decision diagramm structure.
bool_type polybori::BoolePolynomial::isConstant | ( | ) | const [inline] |
Check whether polynomial is zero or one.
Referenced by PBORINAME::groebner::LexBucket::LexBucket().
bool_type polybori::BoolePolynomial::isOne | ( | ) | const [inline] |
Check whether polynomial is constant one.
Referenced by PBORINAME::groebner::do_is_rewriteable(), polybori::BooleMonomial::GCDAssign(), and PBORINAME::groebner::LexBucket::LexBucket().
bool_type polybori::BoolePolynomial::isPair | ( | ) | const [inline] |
Test, whether we have two terms only.
References polybori::dd_is_pair().
bool_type polybori::BoolePolynomial::isSingleton | ( | ) | const [inline] |
Test, whether we have one term only.
References polybori::dd_is_singleton().
bool_type polybori::BoolePolynomial::isSingletonOrPair | ( | ) | const [inline] |
Test, whether we have one or two terms only.
References polybori::dd_is_singleton_or_pair().
bool_type polybori::BoolePolynomial::isZero | ( | ) | const [inline] |
Check whether polynomial is constant zero.
Referenced by boundedLead(), boundedLeadExp(), PBORINAME::groebner::do_is_rewriteable(), polybori::BooleMonomial::GCDAssign(), PBORINAME::groebner::LexBucket::LexBucket(), lexLead(), lexLmDeg(), PBORINAME::groebner::LiteralFactorization::LiteralFactorization(), and lmDeg().
monom_type polybori::BoolePolynomial::lead | ( | ) | const |
Get leading term.
Referenced by lmDeg(), polybori::groebner::red_tail_self_tuning(), polybori::groebner::red_tail_short(), polybori::spoly(), and polybori::groebner::sum_size().
exp_type polybori::BoolePolynomial::leadExp | ( | ) | const |
Get leading term.
Referenced by PBORINAME::groebner::LiteralFactorization::LiteralFactorization().
self polybori::BoolePolynomial::leadFirst | ( | ) | const [protected] |
Generate a polynomial, whose first term is the leading term.
Referenced by lmDeg(), and lmStableHash().
size_type polybori::BoolePolynomial::length | ( | ) | const |
Returns number of terms.
Referenced by eliminationLengthWithDegBound(), fetchTerms(), and polybori::groebner::red_tail_self_tuning().
BoolePolynomial::monom_type BoolePolynomial::lexLead | ( | ) | const |
Get leading term w.r.t. lexicographical order.
References isZero(), polybori::LexOrder::lead(), PBORI_TRACE_FUNC, and UNLIKELY.
BoolePolynomial::deg_type BoolePolynomial::lexLmDeg | ( | ) | const |
Degree of the leading term w.r.t. lexicographical ordering.
References firstBegin(), firstEnd(), isZero(), PBORI_TRACE_FUNC, and UNLIKELY.
BoolePolynomial::deg_type BoolePolynomial::lmDeg | ( | ) | const |
Degree of the leading term.
References isZero(), lead(), leadFirst(), PBORI_TRACE_FUNC, and UNLIKELY.
Referenced by PBORINAME::groebner::common_literal_factors_deg(), eliminationLengthWithDegBound(), PBORINAME::groebner::LiteralFactorization::LiteralFactorization(), and lmTotalDeg().
set_type polybori::BoolePolynomial::lmDivisors | ( | ) | const [inline] |
Get all divisors of the leading term.
References polybori::CDDInterface< CuddLikeZDD >::firstDivisors().
BoolePolynomial::hash_type BoolePolynomial::lmStableHash | ( | ) | const |
Hash value of the leading term.
References leadFirst(), PBORI_TRACE_FUNC, and polybori::stable_first_hash_range().
BoolePolynomial::deg_type BoolePolynomial::lmTotalDeg | ( | ) | const |
Total degree of the leading term.
References lmDeg(), and PBORI_TRACE_FUNC.
navigator polybori::BoolePolynomial::navigation | ( | ) | const [inline] |
Navigate through structure.
Referenced by degBegin(), PBORINAME::groebner::do_is_rewriteable(), polybori::BooleSet::expBegin(), and gradedPart().
size_type polybori::BoolePolynomial::nNodes | ( | ) | const |
Number of nodes in the decision diagram.
BoolePolynomial::size_type BoolePolynomial::nUsedVariables | ( | ) | const |
Number of variables of the polynomial.
References polybori::CDDInterface< CuddLikeZDD >::nSupport(), and PBORI_TRACE_FUNC.
polybori::BoolePolynomial::operator set_type | ( | ) | const [inline] |
Casting operator to Boolean set.
bool_type polybori::BoolePolynomial::operator!= | ( | constant_type | rhs | ) | const [inline] |
self& polybori::BoolePolynomial::operator%= | ( | constant_type | rhs | ) | [inline] |
self& polybori::BoolePolynomial::operator%= | ( | const monom_type & | ) |
self& polybori::BoolePolynomial::operator*= | ( | constant_type | rhs | ) | [inline] |
self& polybori::BoolePolynomial::operator*= | ( | const monom_type & | ) |
self& polybori::BoolePolynomial::operator+= | ( | constant_type | rhs | ) | [inline] |
const self& polybori::BoolePolynomial::operator- | ( | ) | const [inline] |
self& polybori::BoolePolynomial::operator-= | ( | const RHSType & | rhs | ) | [inline] |
self& polybori::BoolePolynomial::operator/= | ( | const monom_type & | ) |
Referenced by operator/=().
BoolePolynomial & BoolePolynomial::operator/= | ( | const self & | rhs | ) |
References operator/=(), PBORI_TRACE_FUNC, and UNLIKELY.
BoolePolynomial & BoolePolynomial::operator/= | ( | constant_type | rhs | ) |
References PBORI_TRACE_FUNC, and UNLIKELY.
self& polybori::BoolePolynomial::operator= | ( | constant_type | rhs | ) | [inline] |
bool_type polybori::BoolePolynomial::operator== | ( | constant_type | rhs | ) | const [inline] |
BoolePolynomial::ordered_iterator BoolePolynomial::orderedBegin | ( | ) | const |
Start of ordering respecting iterator.
References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.
BoolePolynomial::ordered_iterator BoolePolynomial::orderedEnd | ( | ) | const |
Finish of ordering respecting iterator.
References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.
BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpBegin | ( | ) | const |
Start of ordering respecting exponent iterator.
References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.
BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpEnd | ( | ) | const |
Finish of ordering respecting exponent iterator.
References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.
void polybori::BoolePolynomial::prettyPrint | ( | filename_type | filename | ) | const |
Pretty print to filename.
void polybori::BoolePolynomial::prettyPrint | ( | ) | const |
Pretty print to stdout.
ostream_type& polybori::BoolePolynomial::print | ( | ostream_type & | ) | const |
Print current polynomial to output stream.
BoolePolynomial::bool_type polybori::BoolePolynomial::reducibleBy | ( | const self & | rhs | ) | const [inline] |
Tests whether polynomial can be reduced by right-hand side.
References PBORI_TRACE_FUNC.
ring_type polybori::BoolePolynomial::ring | ( | ) | const [inline] |
Access ring, where this belongs to.
Referenced by PBORINAME::groebner::do_is_rewriteable(), and PBORINAME::groebner::LiteralFactorization::LiteralFactorization().
set_type polybori::BoolePolynomial::set | ( | ) | const [inline] |
Get corresponding subset of of the powerset over all variables.
hash_type polybori::BoolePolynomial::stableHash | ( | ) | const [inline] |
Get hash value, which is reproducible.
BoolePolynomial::termlist_type BoolePolynomial::terms | ( | ) | const |
Return of all terms.
References fetchTerms(), and PBORI_TRACE_FUNC.
BoolePolynomial::deg_type BoolePolynomial::totalDeg | ( | ) | const |
Total maximal degree of the polynomial.
References deg(), and PBORI_TRACE_FUNC.
monom_type polybori::BoolePolynomial::usedVariables | ( | ) | const |
Set of variables of the polynomial.
exp_type polybori::BoolePolynomial::usedVariablesExp | ( | ) | const |
Exponent vector of all of variables of the polynomial.
Referenced by PBORINAME::groebner::LiteralFactorization::LiteralFactorization().
friend class BooleMonomial [friend] |
Let BooleMonomial access protected and private members.