#include <BooleSet.h>
Public Types | |
typedef BooleSet | self |
Generic access to type of *this. | |
typedef CTypes::dd_type | base |
Generic access to base type. | |
typedef base | dd_type |
Generic access to underlying diagram type. | |
typedef base::navigator | navigator |
typedef base::size_type | size_type |
typedef base::idx_type | idx_type |
typedef BooleMonomial | term_type |
Type of terms. | |
typedef BooleExponent | exp_type |
Fix type for treatment of exponent vectors. | |
typedef BooleRing | ring_type |
Type for Boolean polynomial rings (without ordering). | |
typedef CGenericIter< LexOrder, navigator, term_type > | const_iterator |
Iterator type for iterating all monomials. | |
typedef CGenericIter< LexOrder, navigator, exp_type > | exp_iterator |
Iterator type for iterating all exponent vectors. | |
Public Member Functions | |
BooleSet () | |
Default constructor. | |
BooleSet (const self &rhs) | |
Copy constructor. | |
BooleSet (const base &rhs) | |
Copy constructor. | |
BooleSet (idx_type idx, const self &first, const self &second) | |
Construct new node. | |
BooleSet (idx_type idx, navigator first, navigator second, const ring_type &ring) | |
Construct new node (using navigator nodes). | |
BooleSet (idx_type idx, const self &rhs) | |
Construct new node (using navigator for then and else-branches). | |
BooleSet (navigator navi, const ring_type &ring) | |
Construct one or zero set from constant. | |
~BooleSet () | |
Destructor. | |
const_iterator | begin () const |
Start of iteration over terms. | |
const_iterator | end () const |
Finish of iteration over terms. | |
exp_iterator | expBegin () const |
Start of iteration over exponent vectors. | |
exp_iterator | expEnd () const |
Finish of iteration over exponent vectors. | |
self & | operator= (const self &) |
Assignment operator. | |
term_type | usedVariables () const |
Set of variables of the whole set. | |
exp_type | usedVariablesExp () const |
Exponent vector of variables of the whole set. | |
self & | addAssign (const term_type &) |
Add given monomial to sets and assign. | |
self | add (const term_type &) const |
Add given monomial to sets. | |
bool_type | owns (const term_type &) const |
Check whether rhs is included in *this. | |
bool_type | owns (const exp_type &) const |
Check whether rhs is included in *this. | |
term_type | lastLexicographicalTerm () const |
Get last term (wrt. lexicographical order). | |
self | divisorsOf (const term_type &rhs) const |
Compute intersection with divisors of rhs. | |
self | divisorsOf (const exp_type &rhs) const |
Compute intersection with divisors of rhs. | |
self | firstDivisorsOf (const self &rhs) const |
Intersection with divisors of first (lexicographical) term of rhs. | |
self | multiplesOf (const term_type &rhs) const |
Compute intersection with multiples of rhs. | |
self | divide (const term_type &rhs) const |
Division by given term. | |
self & | divideAssign (const term_type &rhs) |
Division with assignment by given term. | |
bool_type | hasTermOfVariables (const term_type &rhs) const |
Check for empty intersection with divisors of rhs. | |
self | minimalElements () const |
Get minimal elements wrt. inclusion. | |
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. | |
self | existAbstract (const term_type &rhs) const |
Compute existential abstraction. | |
const dd_type & | diagram () const |
Access internal decision diagram. | |
self | ite (const self &then_dd, const self &else_dd) |
If-Then-Else operation. | |
self & | iteAssign (const self &then_dd, const self &else_dd) |
If-Then-Else operation with assignment. | |
self | cartesianProduct (const self &rhs) const |
Cartesean product. | |
ostream_type & | print (ostream_type &) const |
Print current set to output stream. | |
self | emptyElement () const |
Get corresponding zero element (may be removed in the future). | |
size_type | countIndex (idx_type idx) const |
Count terms containing BooleVariable(idx). | |
double | countIndexDouble (idx_type idx) const |
Count many terms containing BooleVariable(idx). | |
ring_type | ring () const |
Access ring, where this belongs to. | |
Members from base | |
self | subset0 (idx_type idx) const |
self | subset1 (idx_type idx) const |
self | change (idx_type idx) const |
self | unite (const self &rhs) const |
self | diff (const self &rhs) const |
self | diffConst (const self &rhs) const |
self | intersect (const self &rhs) const |
self | product (const self &rhs) const |
self | dotProduct (const self &rhs) const |
self | Xor (const self &rhs) const |
self | ddDivide (const self &rhs) const |
self | weakDivide (const self &rhs) const |
self | divideFirst (const self &rhs) const |
self & | subset0Assign (idx_type idx) |
self & | subset1Assign (idx_type idx) |
self & | changeAssign (idx_type idx) |
self & | uniteAssign (const self &rhs) |
self & | diffAssign (const self &rhs) |
self & | diffConstAssign (const self &rhs) |
self & | intersectAssign (const self &rhs) |
self & | productAssign (const self &rhs) |
self & | dotProductAssign (const self &rhs) |
self & | ddDivideAssign (const self &rhs) |
self & | weakDivideAssign (const self &rhs) |
self & | divideFirstAssign (const self &rhs) |
typedef CTypes::dd_type BooleSet::base |
Generic access to base type.
Iterator type for iterating all monomials.
typedef base BooleSet::dd_type |
Generic access to underlying diagram type.
typedef CGenericIter<LexOrder, navigator, exp_type> BooleSet::exp_iterator |
Iterator type for iterating all exponent vectors.
typedef BooleExponent BooleSet::exp_type |
Fix type for treatment of exponent vectors.
typedef base::idx_type BooleSet::idx_type |
typedef base::navigator BooleSet::navigator |
typedef BooleRing BooleSet::ring_type |
Type for Boolean polynomial rings (without ordering).
typedef BooleSet BooleSet::self |
Generic access to type of *this.
typedef base::size_type BooleSet::size_type |
typedef BooleMonomial BooleSet::term_type |
Type of terms.
BooleSet::BooleSet | ( | ) |
Default constructor.
References PBORI_TRACE_FUNC.
BooleSet::BooleSet | ( | const self & | rhs | ) | [inline] |
Copy constructor.
BooleSet::BooleSet | ( | const base & | rhs | ) | [inline] |
Copy constructor.
Construct new node.
BooleSet::BooleSet | ( | idx_type | idx, | |
navigator | first, | |||
navigator | second, | |||
const ring_type & | ring | |||
) | [inline] |
Construct new node (using navigator nodes).
Construct new node (using navigator for then and else-branches).
Construct one or zero set from constant.
Construct from navigator node
BooleSet::~BooleSet | ( | ) | [inline] |
Destructor.
Add given monomial to sets.
References PBORI_TRACE_FUNC.
Add given monomial to sets and assign.
References BooleMonomial::diagram(), PBORI_TRACE_FUNC, and uniteAssign().
BooleSet::const_iterator BooleSet::begin | ( | ) | const |
BooleSet::size_type BooleSet::countIndex | ( | idx_type | idx | ) | const |
Count terms containing BooleVariable(idx).
References count_index().
double BooleSet::countIndexDouble | ( | idx_type | idx | ) | const |
Count many terms containing BooleVariable(idx).
References count_index().
const dd_type& BooleSet::diagram | ( | ) | const [inline] |
Access internal decision diagram.
Referenced by divisorsOf().
Referenced by GroebnerStrategy::addGenerator().
Division by given term.
References BooleMonomial::diagram(), and divideFirst().
Division with assignment by given term.
References BooleMonomial::diagram(), and divideFirstAssign().
Referenced by divideAssign().
Compute intersection with divisors of rhs.
References diagram(), firstDivisorsOf(), PBORI_TRACE_FUNC, and ring().
Compute intersection with divisors of rhs.
References BooleMonomial::diagram(), firstDivisorsOf(), and PBORI_TRACE_FUNC.
Referenced by hasTermOfVariables().
self BooleSet::emptyElement | ( | ) | const [inline] |
Get corresponding zero element (may be removed in the future).
BooleSet::const_iterator BooleSet::end | ( | ) | const |
Compute existential abstraction.
References polybori::dd_existential_abstraction(), BooleMonomial::diagram(), and PBORI_TRACE_FUNC.
BooleSet::exp_iterator BooleSet::expBegin | ( | ) | const |
Start of iteration over exponent vectors.
References PBORI_TRACE_FUNC.
Referenced by polybori::groebner::LexHelper::irreducible_lead().
BooleSet::exp_iterator BooleSet::expEnd | ( | ) | const |
Finish of iteration over exponent vectors.
References PBORI_TRACE_FUNC.
Referenced by polybori::groebner::LexHelper::irreducible_lead().
Intersection with divisors of first (lexicographical) term of rhs.
References polybori::dd_first_divisors_of(), and PBORI_TRACE_FUNC.
Referenced by divisorsOf().
BooleSet::bool_type BooleSet::hasTermOfVariables | ( | const term_type & | rhs | ) | const |
Check for empty intersection with divisors of rhs.
References BooleMonomial::begin(), dd_owns_term_of_indices(), divisorsOf(), BooleMonomial::end(), and PBORI_TRACE_FUNC.
bool_type BooleSet::isPair | ( | ) | const [inline] |
Test, whether we have two terms only.
References dd_is_pair().
bool_type BooleSet::isSingleton | ( | ) | const [inline] |
Test, whether we have one term only.
References dd_is_singleton().
bool_type BooleSet::isSingletonOrPair | ( | ) | const [inline] |
Test, whether we have one or two terms only.
References dd_is_singleton_or_pair().
If-Then-Else operation with assignment.
BooleSet::term_type BooleSet::lastLexicographicalTerm | ( | ) | const |
Get last term (wrt. lexicographical order).
References polybori::dd_last_lexicographical_term(), and PBORI_TRACE_FUNC.
BooleSet BooleSet::minimalElements | ( | ) | const |
Get minimal elements wrt. inclusion.
References dd_minimal_elements(), and ring().
Compute intersection with multiples of rhs.
References polybori::dd_first_multiples_of(), and BooleMonomial::diagram().
Assignment operator.
References PBORI_TRACE_FUNC.
BooleSet::bool_type BooleSet::owns | ( | const exp_type & | rhs | ) | const |
Check whether rhs is included in *this.
References BooleExponent::begin(), polybori::dd_owns(), BooleExponent::end(), and PBORI_TRACE_FUNC.
BooleSet::bool_type BooleSet::owns | ( | const term_type & | rhs | ) | const |
Check whether rhs is included in *this.
References BooleMonomial::diagram(), intersect(), and PBORI_TRACE_FUNC.
BooleSet::ostream_type & BooleSet::print | ( | ostream_type & | os | ) | const |
Print current set to output stream.
References begin(), polybori::dd_print_terms(), end(), and PBORI_TRACE_FUNC.
Referenced by operator<<().
ring_type BooleSet::ring | ( | ) | const [inline] |
Access ring, where this belongs to.
Referenced by divisorsOf(), polybori::groebner::LiteralFactorization::LiteralFactorization(), and minimalElements().
Referenced by GroebnerStrategy::addGenerator().
Referenced by addAssign().
BooleSet::term_type BooleSet::usedVariables | ( | ) | const |
Set of variables of the whole set.
References PBORI_TRACE_FUNC.
BooleSet::exp_type BooleSet::usedVariablesExp | ( | ) | const |
Exponent vector of variables of the whole set.
References PBORI_TRACE_FUNC.