This class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial. More...
#include <BooleExponent.h>
Public Types | |
| typedef std::vector< idx_type > | data_type |
| Define the underlying data structure. | |
| typedef data_type::value_type | value_type |
| Generic access to actual data. | |
| typedef BooleExponent | self |
| Generic access to current type. | |
| typedef BoolePolynomial | poly_type |
| Type of Boolean polynomials. | |
| typedef BooleVariable | var_type |
| Type of Boolean variables. | |
| typedef BooleMonomial | monom_type |
| Type of Boolean variables. | |
| typedef BooleSet | set_type |
| Type of sets of Boolean variables. | |
| typedef generate_index_map < self >::type | idx_map_type |
| Type for index maps. | |
| typedef invalid_tag | easy_equality_property |
| This type has no easy equality check. | |
Adopt global type definitions | |
| typedef CTypes::dd_type | dd_type |
| typedef CTypes::size_type | size_type |
| typedef CTypes::idx_type | idx_type |
| typedef CTypes::hash_type | hash_type |
| typedef CTypes::bool_type | bool_type |
| typedef CTypes::comp_type | comp_type |
| typedef CTypes::integer_type | integer_type |
| typedef CTypes::ostream_type | ostream_type |
Generic access to iterator types | |
| typedef data_type::iterator | iterator |
| typedef data_type::const_iterator | const_iterator |
| typedef data_type::reverse_iterator | reverse_iterator |
| typedef data_type::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
| BooleExponent () | |
| Default Constructor. | |
| BooleExponent (const self &) | |
| Copy constructor. | |
| BooleExponent (bool) | |
| self & | get (const monom_type &) |
| Construct from Boolean monomial. | |
| ~BooleExponent () | |
| Destructor. | |
| const_iterator | begin () const |
| Start iteration over indices (constant access). | |
| const_iterator | end () const |
| Finish iteration over indices (constant access). | |
| const_reverse_iterator | rbegin () const |
| Start reverse iteration over indices (constant access). | |
| const_reverse_iterator | rend () const |
| Finish reverse iteration over indices (constant access). | |
| size_type | size () const |
| Degree of the corresponding monomial. | |
| void | reserve (size_type nsize) |
| Prepare memory for exponents. | |
| void | resize (size_type nsize) |
| Drop compoents from the nsize-th element on. | |
| size_type | deg () const |
| Degree of the corresponding monomial. | |
| set_type | divisors () const |
| Divisors of the monomial. | |
| set_type | multiples (const self &) const |
| multiples of the monomial wrt. given monomial | |
| hash_type | stableHash () const |
| Hash value for the exponent. | |
| hash_type | hash () const |
| For the exponent we only have one type of hashes. | |
| self & | changeAssign (idx_type) |
| Substitute variable with index idx by its complement and assign. | |
| self | change (idx_type) const |
| Substitute variable with index idx by its complement. | |
| self & | insert (idx_type) |
| Insert variable with index idx in exponent vector. | |
| self & | push_back (idx_type idx) |
| Insert variable with index idx in exponent vector (trying end first). | |
| self & | remove (idx_type) |
| Remove variable with index idx in exponent vector. | |
| self | insertConst (idx_type) const |
| Insert variable with index idx in exponent vector. | |
| self | removeConst (idx_type) const |
| Remove variable with index idx in exponent vector. | |
| self | divide (const self &) const |
| Corresponds to division of monomials. | |
| self | divide (const idx_type &rhs) const |
| self | divide (const var_type &rhs) const |
| self | divide (const monom_type &) const |
| self | multiply (const self &) const |
| Corresponds to multiplication of monomials. | |
| self | multiply (const idx_type &rhs) const |
| self | multiply (const var_type &rhs) const |
| self | multiply (const monom_type &) const |
| self | multiplyFirst (const set_type &) const |
| self & | operator= (const self &rhs) |
| Assignment operation. | |
| self & | operator= (const monom_type &rhs) |
| bool_type | reducibleBy (const self &rhs) const |
| Test for reducibility. | |
| bool_type | reducibleBy (const monom_type &rhs) const |
| bool_type | reducibleBy (const idx_type &rhs) const |
| bool_type | reducibleBy (const var_type &rhs) const |
| comp_type | compare (const self &) const |
| Compare with rhs monomial and return comparision code. | |
| size_type | LCMDeg (const self &) const |
| Degree of the least common multiple. | |
| self | LCM (const self &) const |
| Compute the greatest common divisor. | |
| self | GCD (const self &) const |
| Compute the greatest common divisor and assign. | |
| self & | popFirst () |
| Removes the first index from exponent. | |
| ostream_type & | print (ostream_type &) const |
| Print current polynomial to output stream. | |
Logical operations | |
| bool_type | operator== (const self &rhs) const |
| bool_type | operator!= (const self &rhs) const |
Protected Member Functions | |
| iterator | internalBegin () |
| Start iteration over indices (constant access). | |
| iterator | internalEnd () |
| Finish iteration over indices (constant access). | |
| reverse_iterator | rInternalBegin () |
| Start reverse iteration over indices (constant access). | |
| reverse_iterator | rInternalEnd () |
| Finish reverse iteration over indices (constant access). | |
Protected Attributes | |
| data_type | m_data |
| The actual exponent indices. | |
This class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial.
| typedef data_type::const_iterator BooleExponent::const_iterator |
| typedef data_type::const_reverse_iterator BooleExponent::const_reverse_iterator |
| typedef std::vector<idx_type> BooleExponent::data_type |
Define the underlying data structure.
This type has no easy equality check.
| typedef generate_index_map<self>::type BooleExponent::idx_map_type |
Type for index maps.
| typedef data_type::iterator BooleExponent::iterator |
Type of Boolean variables.
Type of Boolean polynomials.
| typedef data_type::reverse_iterator BooleExponent::reverse_iterator |
| typedef BooleExponent BooleExponent::self |
Generic access to current type.
| typedef BooleSet BooleExponent::set_type |
Type of sets of Boolean variables.
| typedef data_type::value_type BooleExponent::value_type |
Generic access to actual data.
| typedef BooleVariable BooleExponent::var_type |
Type of Boolean variables.
| BooleExponent::BooleExponent | ( | ) |
Default Constructor.
References PBORI_TRACE_FUNC.
| BooleExponent::BooleExponent | ( | const self & | rhs | ) |
Copy constructor.
References PBORI_TRACE_FUNC.
| BooleExponent::BooleExponent | ( | bool | ) | [explicit] |
References PBORI_TRACE_FUNC.
| BooleExponent::~BooleExponent | ( | ) |
Destructor.
References PBORI_TRACE_FUNC.
| const_iterator BooleExponent::begin | ( | ) | const [inline] |
Start iteration over indices (constant access).
References m_data.
Referenced by BooleSet::begin(), change(), changeAssign(), BlockDegRevLexAscOrder::compare(), GCD(), insertConst(), BoolePolynomial::operator*=(), BoolePolynomial::operator/=(), print(), reducibleBy(), removeConst(), and stableHash().
| BooleExponent BooleExponent::change | ( | idx_type | idx | ) | const |
Substitute variable with index idx by its complement.
References begin(), end(), and PBORI_TRACE_FUNC.
| BooleExponent & BooleExponent::changeAssign | ( | idx_type | idx | ) |
Substitute variable with index idx by its complement and assign.
References begin(), end(), insert(), and PBORI_TRACE_FUNC.
| BooleExponent::comp_type BooleExponent::compare | ( | const self & | rhs | ) | const |
Compare with rhs monomial and return comparision code.
References BooleEnv::ordering(), and PBORI_TRACE_FUNC.
Referenced by operator<(), operator<=(), operator>(), and operator>=().
| size_type BooleExponent::deg | ( | ) | const [inline] |
Degree of the corresponding monomial.
References size().
| BooleExponent BooleExponent::divide | ( | const monom_type & | rhs | ) | const |
References polybori::exp_divide(), and PBORI_TRACE_FUNC.
References divide(), and BooleVariable::index().
Referenced by divide().
References reducibleBy(), and removeConst().
| BooleExponent BooleExponent::divide | ( | const self & | rhs | ) | const |
Corresponds to division of monomials.
References polybori::exp_divide(), and PBORI_TRACE_FUNC.
Referenced by operator-().
| BooleExponent::set_type BooleExponent::divisors | ( | ) | const |
Divisors of the monomial.
References cudd_generate_divisors(), BoolePolynomial::diagram(), m_data, CDDInterface< CuddLikeZDD >::manager(), and PBORI_TRACE_FUNC.
| const_iterator BooleExponent::end | ( | ) | const [inline] |
Finish iteration over indices (constant access).
References m_data.
Referenced by BooleSet::begin(), change(), changeAssign(), BlockDegRevLexAscOrder::compare(), GCD(), insert(), insertConst(), BoolePolynomial::operator*=(), BoolePolynomial::operator/=(), print(), reducibleBy(), remove(), removeConst(), and stableHash().
| BooleExponent BooleExponent::GCD | ( | const self & | rhs | ) | const |
Compute the greatest common divisor and assign.
Compute the greatest common divisor
References begin(), end(), PBORI_TRACE_FUNC, and size().
Referenced by GCD().
| BooleExponent & BooleExponent::get | ( | const monom_type & | rhs | ) |
Construct from Boolean monomial.
References BooleMonomial::begin(), BooleMonomial::end(), m_data, PBORI_TRACE_FUNC, and BooleMonomial::size().
Referenced by BooleMonomial::exp().
| hash_type BooleExponent::hash | ( | ) | const [inline] |
For the exponent we only have one type of hashes.
References stableHash().
| BooleExponent & BooleExponent::insert | ( | idx_type | idx | ) |
Insert variable with index idx in exponent vector.
References end(), internalBegin(), internalEnd(), m_data, and PBORI_TRACE_FUNC.
Referenced by changeAssign().
| BooleExponent BooleExponent::insertConst | ( | idx_type | idx | ) | const |
Insert variable with index idx in exponent vector.
References begin(), end(), PBORI_TRACE_FUNC, and size().
Referenced by multiply().
| iterator BooleExponent::internalBegin | ( | ) | [inline, protected] |
Start iteration over indices (constant access).
References m_data.
Referenced by insert(), operator=(), push_back(), and remove().
| iterator BooleExponent::internalEnd | ( | ) | [inline, protected] |
Finish iteration over indices (constant access).
References m_data.
Referenced by insert(), push_back(), and remove().
| BooleExponent BooleExponent::LCM | ( | const self & | rhs | ) | const |
Compute the greatest common divisor.
Compute theleast common multiple and assign self& LCMAssign(const self&);
References multiply(), and PBORI_TRACE_FUNC.
| BooleExponent::size_type BooleExponent::LCMDeg | ( | const self & | rhs | ) | const |
Degree of the least common multiple.
References LCM(), PBORI_TRACE_FUNC, and size().
| BooleExponent::set_type BooleExponent::multiples | ( | const self & | multipliers | ) | const |
multiples of the monomial wrt. given monomial
References cudd_generate_multiples(), BoolePolynomial::diagram(), m_data, CDDInterface< CuddLikeZDD >::manager(), and PBORI_TRACE_FUNC.
| BooleExponent BooleExponent::multiply | ( | const monom_type & | rhs | ) | const |
References polybori::exp_multiply(), and PBORI_TRACE_FUNC.
References BooleVariable::index(), and multiply().
Referenced by multiply().
References insertConst().
| BooleExponent BooleExponent::multiply | ( | const self & | rhs | ) | const |
Corresponds to multiplication of monomials.
References polybori::exp_multiply(), and PBORI_TRACE_FUNC.
Referenced by LCM(), and operator+().
| BooleExponent BooleExponent::multiplyFirst | ( | const set_type & | rhs | ) | const |
| self& BooleExponent::operator= | ( | const monom_type & | rhs | ) | [inline] |
References BooleMonomial::begin(), BooleMonomial::end(), internalBegin(), m_data, and BooleMonomial::size().
Assignment operation.
References m_data.
| self& BooleExponent::popFirst | ( | ) | [inline] |
Removes the first index from exponent.
References m_data.
| BooleExponent::ostream_type & BooleExponent::print | ( | ostream_type & | os | ) | const |
Print current polynomial to output stream.
References begin(), end(), and PBORI_TRACE_FUNC.
Referenced by operator<<().
| BooleExponent & BooleExponent::push_back | ( | idx_type | idx | ) |
Insert variable with index idx in exponent vector (trying end first).
References internalBegin(), internalEnd(), m_data, and PBORI_TRACE_FUNC.
| const_reverse_iterator BooleExponent::rbegin | ( | ) | const [inline] |
Start reverse iteration over indices (constant access).
References m_data.
Referenced by BoolePolynomial::BoolePolynomial().
References BooleVariable::index(), and reducibleBy().
| BooleExponent::bool_type BooleExponent::reducibleBy | ( | const idx_type & | rhs | ) | const |
References begin(), end(), and PBORI_TRACE_FUNC.
| BooleExponent::bool_type BooleExponent::reducibleBy | ( | const monom_type & | rhs | ) | const |
References BooleMonomial::begin(), begin(), BooleMonomial::end(), end(), and PBORI_TRACE_FUNC.
| BooleExponent::bool_type BooleExponent::reducibleBy | ( | const self & | rhs | ) | const |
Test for reducibility.
References begin(), end(), and PBORI_TRACE_FUNC.
Referenced by divide(), and reducibleBy().
| BooleExponent & BooleExponent::remove | ( | idx_type | idx | ) |
Remove variable with index idx in exponent vector.
References end(), internalBegin(), internalEnd(), m_data, and PBORI_TRACE_FUNC.
| BooleExponent BooleExponent::removeConst | ( | idx_type | idx | ) | const |
Remove variable with index idx in exponent vector.
References begin(), end(), PBORI_TRACE_FUNC, and size().
Referenced by divide().
| const_reverse_iterator BooleExponent::rend | ( | ) | const [inline] |
Finish reverse iteration over indices (constant access).
References m_data.
Referenced by BoolePolynomial::BoolePolynomial().
| void BooleExponent::reserve | ( | size_type | nsize | ) | [inline] |
Prepare memory for exponents.
References m_data.
Referenced by LexOrder::leadExp(), DegRevLexAscOrder::leadExp(), and DegLexOrder::leadExp().
| void BooleExponent::resize | ( | size_type | nsize | ) | [inline] |
Drop compoents from the nsize-th element on.
References m_data.
| reverse_iterator BooleExponent::rInternalBegin | ( | ) | [inline, protected] |
Start reverse iteration over indices (constant access).
References m_data.
| reverse_iterator BooleExponent::rInternalEnd | ( | ) | [inline, protected] |
Finish reverse iteration over indices (constant access).
References m_data.
| size_type BooleExponent::size | ( | ) | const [inline] |
Degree of the corresponding monomial.
References m_data.
Referenced by deg(), GCD(), insertConst(), LCMDeg(), and removeConst().
| hash_type BooleExponent::stableHash | ( | ) | const [inline] |
Hash value for the exponent.
References begin(), end(), and stable_term_hash().
Referenced by hash().
data_type BooleExponent::m_data [protected] |
The actual exponent indices.
Referenced by begin(), divisors(), end(), get(), insert(), internalBegin(), internalEnd(), multiples(), operator!=(), operator=(), operator==(), popFirst(), push_back(), rbegin(), remove(), rend(), reserve(), resize(), rInternalBegin(), rInternalEnd(), and size().
1.6.3