polybori::BooleExponent Class Reference

This class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial. More...

#include <BooleExponent.h>

List of all members.

Public Types

typedef std::vector< idx_typedata_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)
selfget (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.
selfchangeAssign (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.
selfinsert (idx_type)
 Insert variable with index idx in exponent vector.
selfpush_back (idx_type idx)
 Insert variable with index idx in exponent vector (trying end first).
selfremove (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
selfoperator= (const self &rhs)
 Assignment operation.
selfoperator= (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.
selfpopFirst ()
 Removes the first index from exponent.
ostream_typeprint (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.


Detailed Description

This class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial.

Member Typedef Documentation

Define the underlying data structure.

typedef data_type::value_type polybori::BooleExponent::value_type

Generic access to actual data.

typedef data_type::iterator polybori::BooleExponent::iterator

typedef data_type::const_iterator polybori::BooleExponent::const_iterator

typedef data_type::reverse_iterator polybori::BooleExponent::reverse_iterator

typedef data_type::const_reverse_iterator polybori::BooleExponent::const_reverse_iterator

Generic access to current type.

Type of Boolean polynomials.

Type of Boolean variables.

Type of Boolean variables.

Type of sets of Boolean variables.

Type for index maps.

This type has no easy equality check.


Constructor & Destructor Documentation

polybori::BooleExponent::BooleExponent (  ) 

Default Constructor.

References PBORI_TRACE_FUNC.

polybori::BooleExponent::BooleExponent ( const self rhs  ) 

Copy constructor.

References PBORI_TRACE_FUNC.

polybori::BooleExponent::BooleExponent ( bool   )  [explicit]

References PBORI_TRACE_FUNC.

polybori::BooleExponent::~BooleExponent (  ) 

Destructor.

References PBORI_TRACE_FUNC.


Member Function Documentation

BooleExponent & polybori::BooleExponent::get ( const monom_type rhs  ) 

const_iterator polybori::BooleExponent::begin (  )  const [inline]

const_iterator polybori::BooleExponent::end (  )  const [inline]

const_reverse_iterator polybori::BooleExponent::rbegin (  )  const [inline]

Start reverse iteration over indices (constant access).

Referenced by polybori::BoolePolynomial::BoolePolynomial().

const_reverse_iterator polybori::BooleExponent::rend (  )  const [inline]

Finish reverse iteration over indices (constant access).

Referenced by polybori::BoolePolynomial::BoolePolynomial().

size_type polybori::BooleExponent::size (  )  const [inline]

void polybori::BooleExponent::reserve ( size_type  nsize  )  [inline]

void polybori::BooleExponent::resize ( size_type  nsize  )  [inline]

Drop compoents from the nsize-th element on.

size_type polybori::BooleExponent::deg (  )  const [inline]

BooleExponent::set_type polybori::BooleExponent::divisors (  )  const

BooleExponent::set_type polybori::BooleExponent::multiples ( const self multipliers  )  const

hash_type polybori::BooleExponent::stableHash (  )  const [inline]

Hash value for the exponent.

References polybori::stable_term_hash().

hash_type polybori::BooleExponent::hash (  )  const [inline]

For the exponent we only have one type of hashes.

BooleExponent & polybori::BooleExponent::changeAssign ( idx_type  idx  ) 

Substitute variable with index idx by its complement and assign.

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

BooleExponent polybori::BooleExponent::change ( idx_type  idx  )  const

Substitute variable with index idx by its complement.

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

BooleExponent & polybori::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(), and polybori::groebner::minimal_elements_internal3().

BooleExponent & polybori::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.

Referenced by polybori::groebner::random_set_using_generator().

BooleExponent & polybori::BooleExponent::remove ( idx_type  idx  ) 

Remove variable with index idx in exponent vector.

References end(), internalBegin(), internalEnd(), m_data, and PBORI_TRACE_FUNC.

BooleExponent polybori::BooleExponent::insertConst ( idx_type  idx  )  const

Insert variable with index idx in exponent vector.

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

BooleExponent polybori::BooleExponent::removeConst ( idx_type  idx  )  const

Remove variable with index idx in exponent vector.

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

BooleExponent polybori::BooleExponent::divide ( const self rhs  )  const

Corresponds to division of monomials.

References polybori::exp_divide(), and PBORI_TRACE_FUNC.

Referenced by polybori::operator-().

self polybori::BooleExponent::divide ( const idx_type rhs  )  const [inline]

self polybori::BooleExponent::divide ( const var_type rhs  )  const [inline]

BooleExponent polybori::BooleExponent::divide ( const monom_type rhs  )  const

BooleExponent polybori::BooleExponent::multiply ( const self rhs  )  const

Corresponds to multiplication of monomials.

References polybori::exp_multiply(), and PBORI_TRACE_FUNC.

Referenced by LCM(), and polybori::operator+().

self polybori::BooleExponent::multiply ( const idx_type rhs  )  const [inline]

self polybori::BooleExponent::multiply ( const var_type rhs  )  const [inline]

BooleExponent polybori::BooleExponent::multiply ( const monom_type rhs  )  const

BooleExponent polybori::BooleExponent::multiplyFirst ( const set_type rhs  )  const

bool_type polybori::BooleExponent::operator== ( const self rhs  )  const [inline]

bool_type polybori::BooleExponent::operator!= ( const self rhs  )  const [inline]

self& polybori::BooleExponent::operator= ( const self rhs  )  [inline]

Assignment operation.

self& polybori::BooleExponent::operator= ( const monom_type rhs  )  [inline]

BooleExponent::bool_type polybori::BooleExponent::reducibleBy ( const self rhs  )  const

Test for reducibility.

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

BooleExponent::bool_type polybori::BooleExponent::reducibleBy ( const monom_type rhs  )  const

BooleExponent::bool_type polybori::BooleExponent::reducibleBy ( const idx_type rhs  )  const

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

bool_type polybori::BooleExponent::reducibleBy ( const var_type rhs  )  const [inline]

BooleExponent::comp_type polybori::BooleExponent::compare ( const self rhs  )  const

Compare with rhs monomial and return comparision code.

References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by polybori::operator<(), polybori::operator<=(), polybori::operator>(), and polybori::operator>=().

BooleExponent::size_type polybori::BooleExponent::LCMDeg ( const self rhs  )  const

Degree of the least common multiple.

References LCM(), PBORI_TRACE_FUNC, and size().

BooleExponent polybori::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.

Referenced by polybori::LCM(), and LCMDeg().

BooleExponent polybori::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 polybori::GCD(), and polybori::groebner::GroebnerStrategy::llReduceAll().

self& polybori::BooleExponent::popFirst (  )  [inline]

Removes the first index from exponent.

BooleExponent::ostream_type & polybori::BooleExponent::print ( ostream_type os  )  const

Print current polynomial to output stream.

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

Referenced by polybori::operator<<().

iterator polybori::BooleExponent::internalBegin (  )  [inline, protected]

Start iteration over indices (constant access).

Referenced by insert(), push_back(), and remove().

iterator polybori::BooleExponent::internalEnd (  )  [inline, protected]

Finish iteration over indices (constant access).

Referenced by insert(), push_back(), and remove().

reverse_iterator polybori::BooleExponent::rInternalBegin (  )  [inline, protected]

Start reverse iteration over indices (constant access).

reverse_iterator polybori::BooleExponent::rInternalEnd (  )  [inline, protected]

Finish reverse iteration over indices (constant access).


Member Data Documentation

The actual exponent indices.

Referenced by divisors(), get(), insert(), multiples(), push_back(), and remove().


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

Generated on Tue May 6 05:19:59 2008 for PolyBoRi by  doxygen 1.5.5