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>

Inheritance diagram for polybori::BooleExponent:

polybori::CAuxTypes

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 poly_type::ring_type ring_type
 Type of Boolean variables.
typedef poly_type::var_type var_type
 Type of Boolean variables.
typedef poly_type::monom_type monom_type
 Type of Boolean variables.
typedef poly_type::set_type 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.
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.
selfget (const monom_type &)
 Construct from Boolean monomial.
 BooleExponent (const monom_type &rhs)
 ~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.
deg_type deg () const
 Degree of the corresponding monomial.
set_type divisors (const ring_type &) const
 Divisors of the monomial.
set_type multiples (const self &, const ring_type &) const
 multiples of the monomial wrt. given monomial (both given as exponents)
set_type multiples (const monom_type &) 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)
 Insert a given index, if it is not there, remove otherwise; assign the result.
self change (idx_type) const
 Insert a given index, if it is not there, remove otherwise; return the result.
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 divideByIndex (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
deg_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 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 ( const monom_type rhs  )  [explicit]

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.

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

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

BooleExponent::set_type polybori::BooleExponent::multiples ( const self multipliers,
const ring_type ring 
) const

multiples of the monomial wrt. given monomial (both given as exponents)

References polybori::cudd_generate_multiples(), m_data, and PBORI_TRACE_FUNC.

BooleExponent::set_type polybori::BooleExponent::multiples ( const monom_type mult  )  const

multiples of the monomial wrt. given monomial

References polybori::cudd_generate_multiples(), m_data, PBORI_TRACE_FUNC, and polybori::BooleMonomial::ring().

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  ) 

Insert a given index, if it is not there, remove otherwise; assign the result.

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

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

Insert a given index, if it is not there, remove otherwise; return the result.

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().

Referenced by polybori::groebner::FGLMStrategy::writeRowToVariableDivisors().

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::divideByIndex ( 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::deg_type polybori::BooleExponent::LCMDeg ( const self rhs  )  const

Degree of the least common multiple.

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

Referenced by polybori::groebner::CountCriterion::operator()().

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(), LCMDeg(), and polybori::groebner::CountCriterion::operator()().

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::ReductionStrategy::llReduce().

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 BooleExponent(), divisors(), get(), insert(), multiples(), push_back(), and remove().


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

Generated on Wed Jan 30 16:39:52 2013 for PolyBoRi by  doxygen 1.5.6