BoolePolynomial Class Reference

This class wraps the underlying decicion diagram type and defines the necessary operations. More...

#include <BoolePolynomial.h>

List of all members.

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
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_typetermlist_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.
selfoperator= (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_typeprint (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_typediagram () 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 selfoperator- () const
selfoperator+= (const self &)
selfoperator+= (constant_type rhs)
template<class RHSType >
selfoperator-= (const RHSType &rhs)
selfoperator*= (const monom_type &)
selfoperator*= (const exp_type &)
selfoperator*= (const self &)
selfoperator*= (constant_type rhs)
selfoperator/= (const monom_type &)
selfoperator/= (const exp_type &)
selfoperator/= (const self &rhs)
selfoperator/= (constant_type rhs)
selfoperator%= (const monom_type &)
selfoperator%= (const self &rhs)
selfoperator%= (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_typeinternalDiagram ()
 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.

Detailed Description

This class wraps the underlying decicion diagram type and defines the necessary operations.


Member Typedef Documentation

typedef CTypes::bool_type BoolePolynomial::bool_type

Iterator type for iterating over all monomials.

Type for wrapping integer and bool values.

typedef CTypes::dd_type BoolePolynomial::dd_type
typedef binary_composition< std::minus<size_type>, project_ith<1>, integral_constant<size_type, 1> > BoolePolynomial::decrement_type

Decrementation functional type.

Iterator type for iterating all monomials (dereferencing to degree).

typedef CTypes::deg_type BoolePolynomial::deg_type
typedef dd_type::easy_equality_property BoolePolynomial::easy_equality_property

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.

typedef dd_type::filename_type BoolePolynomial::filename_type

Type for naming file for pretty print.

typedef dd_type::first_iterator BoolePolynomial::first_iterator

Iterator type for iterating over indices of the leading term.

typedef CTypes::hash_type BoolePolynomial::hash_type
typedef std::map<self, idx_type, symmetric_composition< std::less<navigator>, navigates<self> > > BoolePolynomial::idx_map_type

Type for index maps.

typedef CTypes::idx_type BoolePolynomial::idx_type
typedef binary_composition< std::plus<size_type>, project_ith<1>, integral_constant<size_type, 1> > BoolePolynomial::increment_type

Incrementation functional type.

typedef CTypes::manager_ptr BoolePolynomial::manager_ptr
typedef CTypes::manager_reference BoolePolynomial::manager_reference
typedef CTypes::manager_type BoolePolynomial::manager_type
Todo:
A more sophisticated treatment for monomials is needed.

Fix type for treatment of monomials

typedef dd_type::navigator BoolePolynomial::navigator

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 CTypes::ostream_type BoolePolynomial::ostream_type
typedef std::map<self, std::vector<self>, symmetric_composition< std::less<navigator>, navigates<self> > > BoolePolynomial::poly_vec_map_type
typedef dd_type::pretty_out_type BoolePolynomial::pretty_out_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 CTypes::size_type BoolePolynomial::size_type

Type for lists of terms.

Fix type for treatment of monomials.


Constructor & Destructor Documentation

BoolePolynomial::BoolePolynomial (  ) 

Default constructor.

References PBORI_TRACE_FUNC.

BoolePolynomial::BoolePolynomial ( constant_type  isOne  )  [explicit]

Construct polynomial from a constant value 0 or 1.

References PBORI_TRACE_FUNC.

BoolePolynomial::BoolePolynomial ( constant_type  isOne,
const ring_type ring 
) [inline]

Construct polynomial from a constant value 0 or 1.

BoolePolynomial::BoolePolynomial ( const dd_type rhs  )  [inline]

Construct polynomial from decision diagram.

BoolePolynomial::BoolePolynomial ( const set_type rhs  )  [inline]

Construct polynomial from a subset of the powerset over all variables.

BoolePolynomial::BoolePolynomial ( const exp_type rhs,
const ring_type ring 
)

Construct polynomial from exponent vector.

References PBORI_TRACE_FUNC, BooleExponent::rbegin(), and BooleExponent::rend().

BoolePolynomial::BoolePolynomial ( const navigator rhs,
const ring_type ring 
) [inline]

Construct polynomial from navigator.

BoolePolynomial::~BoolePolynomial (  )  [inline]

Destructor.


Member Function Documentation

BoolePolynomial::const_iterator BoolePolynomial::begin (  )  const

Start of iteration over monomials.

References navigation(), and PBORI_TRACE_FUNC.

Referenced by fetchTerms(), and BooleMonomial::GCDAssign().

BoolePolynomial::monom_type BoolePolynomial::boundedLead ( size_type  bound  )  const

Get leading term (using upper bound).

References isZero(), BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.

BoolePolynomial::exp_type BoolePolynomial::boundedLeadExp ( size_type  bound  )  const

Get leading term (using upper bound).

References isZero(), BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.

dd_type BoolePolynomial::copyDiagram (  )  [inline]

gives a copy of the diagram

References diagram().

BoolePolynomial::deg_type BoolePolynomial::deg (  )  const

Maximal degree of the polynomial.

Todo:
: This is currently just brute force + caching, more efficient search may be needed.

References polybori::dd_cached_degree(), degBegin(), degEnd(), isConstant(), navigation(), and PBORI_TRACE_FUNC.

Referenced by eliminationLength(), eliminationLengthWithDegBound(), DegRevLexAscOrder::leadExp(), DegLexOrder::leadExp(), and totalDeg().

BoolePolynomial::deg_iterator BoolePolynomial::degBegin (  )  const

Start of degrees.

References navigation(), and PBORI_TRACE_FUNC.

Referenced by deg(), and eliminationLength().

BoolePolynomial::deg_iterator BoolePolynomial::degEnd (  )  const

Finish of degrees.

References PBORI_TRACE_FUNC.

Referenced by deg(), and eliminationLength().

const dd_type& BoolePolynomial::diagram (  )  const [inline]
BoolePolynomial::size_type BoolePolynomial::eliminationLength (  )  const
BoolePolynomial::size_type BoolePolynomial::eliminationLengthWithDegBound ( deg_type  garantied_deg_bound  )  const
BoolePolynomial::const_iterator BoolePolynomial::end (  )  const

Finish of iteration over monomials.

References PBORI_TRACE_FUNC.

Referenced by fetchTerms(), and BooleMonomial::GCDAssign().

navigator BoolePolynomial::endOfNavigation (  )  const [inline]

End of navigation marker.

BoolePolynomial::exp_iterator BoolePolynomial::expBegin (  )  const

Start of iteration over exponent vectors.

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::exp_iterator BoolePolynomial::expEnd (  )  const

Finish of iteration over exponent vectors.

References PBORI_TRACE_FUNC.

void BoolePolynomial::fetchTerms ( termlist_type theOutputList  )  const

Get list of all terms.

References begin(), end(), length(), and PBORI_TRACE_FUNC.

Referenced by terms().

BoolePolynomial::first_iterator BoolePolynomial::firstBegin (  )  const
BoolePolynomial::set_type BoolePolynomial::firstDivisors (  )  const [protected]

Get all divisors of the first term.

References firstBegin(), firstEnd(), lmDeg(), PBORI_TRACE_FUNC, reversed_inter_copy(), and terms().

Referenced by lmDivisors().

BoolePolynomial::first_iterator BoolePolynomial::firstEnd (  )  const
BoolePolynomial::monom_type BoolePolynomial::firstTerm (  )  const

Get of first lexicographic term.

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_iterator BoolePolynomial::genericBegin ( block_dp_asc_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_iterator BoolePolynomial::genericBegin ( block_dlex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_iterator BoolePolynomial::genericBegin ( dp_asc_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::dlex_iterator BoolePolynomial::genericBegin ( dlex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::lex_iterator BoolePolynomial::genericBegin ( lex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_iterator BoolePolynomial::genericEnd ( block_dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_iterator BoolePolynomial::genericEnd ( block_dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_iterator BoolePolynomial::genericEnd ( dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dlex_iterator BoolePolynomial::genericEnd ( dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::lex_iterator BoolePolynomial::genericEnd ( lex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_exp_iterator BoolePolynomial::genericExpBegin ( block_dp_asc_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_exp_iterator BoolePolynomial::genericExpBegin ( block_dlex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_exp_iterator BoolePolynomial::genericExpBegin ( dp_asc_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::dlex_exp_iterator BoolePolynomial::genericExpBegin ( dlex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::lex_exp_iterator BoolePolynomial::genericExpBegin ( lex_tag   )  const

References navigation(), and PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_exp_iterator BoolePolynomial::genericExpEnd ( block_dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_exp_iterator BoolePolynomial::genericExpEnd ( block_dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_exp_iterator BoolePolynomial::genericExpEnd ( dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dlex_exp_iterator BoolePolynomial::genericExpEnd ( dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::lex_exp_iterator BoolePolynomial::genericExpEnd ( lex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial BoolePolynomial::gradedPart ( deg_type  deg  )  const

Get part of given degree.

References polybori::dd_graded_part(), navigation(), and PBORI_TRACE_FUNC.

bool_type BoolePolynomial::hasConstantPart (  )  const [inline]

Check whether polynomial has term one.

hash_type BoolePolynomial::hash (  )  const [inline]

Get unique hash value (may change from run to run).

Referenced by BooleMonomial::hash().

dd_type& BoolePolynomial::internalDiagram (  )  [inline, protected]
bool_type BoolePolynomial::isConstant (  )  const [inline]

Check whether polynomial is zero or one.

Referenced by deg(), BooleMonomial::firstIndex(), BooleMonomial::isConstant(), and BooleMonomial::popFirst().

bool_type BoolePolynomial::isOne (  )  const [inline]

Check whether polynomial is constant one.

Referenced by BooleMonomial::GCDAssign(), BooleMonomial::isOne(), BooleMonomial::LCMDeg(), LexOrder::leadExp(), operator==(), and print().

bool_type BoolePolynomial::isPair (  )  const [inline]

Test, whether we have two terms only.

References dd_is_pair(), and navigation().

bool_type BoolePolynomial::isSingleton (  )  const [inline]

Test, whether we have one term only.

References dd_is_singleton(), and navigation().

bool_type BoolePolynomial::isSingletonOrPair (  )  const [inline]

Test, whether we have one or two terms only.

References dd_is_singleton_or_pair(), and navigation().

bool_type BoolePolynomial::isZero (  )  const [inline]
BoolePolynomial::monom_type BoolePolynomial::lead (  )  const

Get leading term.

References isZero(), BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.

Referenced by lmDeg(), and spoly().

BoolePolynomial::exp_type BoolePolynomial::leadExp (  )  const

Get leading term.

References isZero(), BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.

BoolePolynomial BoolePolynomial::leadFirst (  )  const [protected]

Generate a polynomial, whose first term is the leading term.

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by lmDeg(), lmDivisors(), and lmStableHash().

BoolePolynomial::size_type BoolePolynomial::length (  )  const

Returns number of terms.

References PBORI_TRACE_FUNC.

Referenced by eliminationLength(), eliminationLengthWithDegBound(), and fetchTerms().

BoolePolynomial::monom_type BoolePolynomial::lexLead (  )  const

Get leading term w.r.t. lexicographical order.

References isZero(), 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.

Referenced by LexOrder::lead(), and LexOrder::leadExp().

BoolePolynomial::deg_type BoolePolynomial::lmDeg (  )  const
set_type BoolePolynomial::lmDivisors (  )  const [inline]

Get all divisors of the leading term.

References firstDivisors(), and leadFirst().

Referenced by BooleMonomial::divisors().

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 BoolePolynomial::navigation (  )  const [inline]
BoolePolynomial::size_type BoolePolynomial::nNodes (  )  const

Number of nodes in the decision diagram.

References PBORI_TRACE_FUNC.

Referenced by BooleMonomial::deg().

BoolePolynomial::size_type BoolePolynomial::nUsedVariables (  )  const

Number of variables of the polynomial.

References PBORI_TRACE_FUNC.

BoolePolynomial::operator set_type (  )  const [inline]

Casting operator to Boolean set.

bool_type BoolePolynomial::operator!= ( constant_type  rhs  )  const [inline]
bool_type BoolePolynomial::operator!= ( const self rhs  )  const [inline]
self& BoolePolynomial::operator%= ( constant_type  rhs  )  [inline]
self& BoolePolynomial::operator%= ( const self rhs  )  [inline]
BoolePolynomial & BoolePolynomial::operator%= ( const monom_type rhs  ) 
self& BoolePolynomial::operator*= ( constant_type  rhs  )  [inline]

References ring(), and BooleRing::zero().

BoolePolynomial & BoolePolynomial::operator*= ( const self rhs  ) 
BoolePolynomial & BoolePolynomial::operator*= ( const exp_type rhs  ) 
BoolePolynomial & BoolePolynomial::operator*= ( const monom_type rhs  ) 
self& BoolePolynomial::operator+= ( constant_type  rhs  )  [inline]

References BooleRing::one(), and ring().

BoolePolynomial & BoolePolynomial::operator+= ( const self rhs  ) 

References PBORI_TRACE_FUNC.

Referenced by operator-=().

const self& BoolePolynomial::operator- (  )  const [inline]
template<class RHSType >
self& BoolePolynomial::operator-= ( const RHSType &  rhs  )  [inline]

References operator+=().

BoolePolynomial & BoolePolynomial::operator/= ( constant_type  rhs  ) 

References PBORI_TRACE_FUNC, and UNLIKELY.

BoolePolynomial & BoolePolynomial::operator/= ( const self rhs  ) 
BoolePolynomial & BoolePolynomial::operator/= ( const exp_type rhs  ) 
BoolePolynomial & BoolePolynomial::operator/= ( const monom_type rhs  ) 
self& BoolePolynomial::operator= ( constant_type  rhs  )  [inline]
bool_type BoolePolynomial::operator== ( constant_type  rhs  )  const [inline]

References isOne(), and isZero().

bool_type BoolePolynomial::operator== ( const self rhs  )  const [inline]
BoolePolynomial::ordered_iterator BoolePolynomial::orderedBegin (  )  const

Start of ordering respecting iterator.

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

BoolePolynomial::ordered_iterator BoolePolynomial::orderedEnd (  )  const

Finish of ordering respecting iterator.

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpBegin (  )  const

Start of ordering respecting exponent iterator.

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by print().

BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpEnd (  )  const

Finish of ordering respecting exponent iterator.

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by print().

void BoolePolynomial::prettyPrint ( filename_type  filename  )  const

Pretty print to filename.

References PBORI_TRACE_FUNC.

void BoolePolynomial::prettyPrint (  )  const

Pretty print to stdout.

References PBORI_TRACE_FUNC.

BoolePolynomial::ostream_type & BoolePolynomial::print ( ostream_type os  )  const

Print current polynomial to output stream.

References polybori::dd_print_terms(), isOne(), isZero(), orderedExpBegin(), orderedExpEnd(), and PBORI_TRACE_FUNC.

Referenced by polybori::operator<<().

BoolePolynomial::bool_type BoolePolynomial::reducibleBy ( const self rhs  )  const [inline]

Tests whether polynomial can be reduced by right-hand side.

References firstBegin(), firstEnd(), isZero(), and PBORI_TRACE_FUNC.

Referenced by BooleMonomial::reducibleBy().

ring_type BoolePolynomial::ring (  )  const [inline]

Access ring, where this belongs to.

Referenced by LexOrder::lead(), operator*=(), operator+=(), BooleVariable::ring(), and BooleMonomial::ring().

set_type BoolePolynomial::set (  )  const [inline]

Get corresponding subset of of the powerset over all variables.

Referenced by BooleVariable::set(), and BooleMonomial::set().

hash_type 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.

Referenced by firstDivisors().

BoolePolynomial::deg_type BoolePolynomial::totalDeg (  )  const

Total maximal degree of the polynomial.

References deg(), and PBORI_TRACE_FUNC.

BoolePolynomial::monom_type BoolePolynomial::usedVariables (  )  const

Set of variables of the polynomial.

References diagram(), and PBORI_TRACE_FUNC.

BoolePolynomial::exp_type BoolePolynomial::usedVariablesExp (  )  const

Exponent vector of all of variables of the polynomial.

References PBORI_TRACE_FUNC.


Friends And Related Function Documentation

friend class BooleMonomial [friend]

Let BooleMonomial access protected and private members.


The documentation for this class was generated from the following files:

Generated on 25 Oct 2009 for PolyBoRi by  doxygen 1.6.1