PolyBoRi
Public Types | Public Member Functions | Protected Attributes | List of all members
polybori::BoolePolyRing Class Reference

This class adds order-related functionality to BooleRing. More...

#include <BoolePolyRing.h>

Inheritance diagram for polybori::BoolePolyRing:
polybori::BooleRing polybori::COrderEnums polybori::CCompareEnums polybori::CAuxTypes

Public Types

typedef BoolePolyRing self
 generic access to current type
typedef BooleRing base
 generic access to base type
typedef BooleExponent exp_type
 define exponent type
typedef BooleMonomial monom_type
 set monomial type
typedef std::vector< idx_typeblock_idx_type
 Type for block indices.
typedef
block_idx_type::const_iterator 
block_iterator
 Type for block iterators.
typedef CDynamicOrderBase order_type
 Type for handling mterm orderings.
typedef boost::shared_ptr
< order_type
order_ptr
 Smart pointer for handling mterm orderings.
typedef order_typeorder_reference
 Reference for handling mterm orderings.
- Public Types inherited from polybori::BooleRing
typedef BooleRing self
 generic access to current type
typedef CTypes::orderenums_type base
 generic access to base type
enum  ordercodes
 Explicitely mention ordercodes' enumeration. More...
typedef CTypes::ordercode_type ordercode_type
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::vartext_type vartext_type
- Public Types inherited from polybori::COrderEnums
enum  ordercodes {
  lp, dlex, dp_asc, block_dlex,
  block_dp_asc
}
 Codes For orderings. More...
- Public Types inherited from polybori::CCompareEnums
enum  comparecodes {
  less_than = -1, equality = 0, greater_than = +1, less_or_equal_max = 0,
  greater_or_equal_min = 0
}
 Comparision codes enumeration. More...
enum  { max_idx = CUDD_MAXINDEX }
- Public Types inherited from polybori::CAuxTypes
typedef bool bool_type
 Type for standard true/false statements.
typedef unsigned int size_type
 Type for lengths, dimensions, etc.
typedef int integer_type
 Type for integer numbers.
typedef int idx_type
 Type for indices.
typedef std::size_t hash_type
 Type for hashing.
typedef unsigned int errornum_type
 Type used to store error codes.
typedef int comp_type
 Type for comparisons.
typedef int ordercode_type
 Type for ordering codes.
typedef const char * errortext_type
 Type used to verbose error information.
typedef std::ostream ostream_type
 Type for out-stream.
typedef const char * vartext_type
 Type for setting/getting names of variables.

Public Member Functions

 BoolePolyRing (size_type nvars=100, ordercode_type order=lp, bool_type make_active=true)
 Constructor for nvars variables.
 ~BoolePolyRing ()
 destructor
void activate ()
 Make this global ring.
void changeOrdering (ordercode_type)
 Change order of current ring.
idx_type lastBlockStart ()
order_reference ordering () const
 Access ordering of *this.
- Public Member Functions inherited from polybori::BooleRing
 BooleRing (size_type nvars=100)
 Constructor for nvars variables.
 BooleRing (const manager_type &mgr)
 ~BooleRing ()
 destructor
manager_typemanager ()
 Access to decision diagram manager.
const manager_typemanager () const
 Constant access to decision diagram manager.
dd_type ddVariable (idx_type nvar) const
 Access nvar-th variable of decision diagram manager.
dd_type variable (idx_type nvar) const
 Access nvar-th ring variable.
dd_type persistentVariable (idx_type nvar) const
 Access nvar-th ring variable.
dd_type zero () const
 Get empty decision diagram.
dd_type one () const
 Get decision diagram with all variables negated.
size_type nVariables () const
 Get number of ring variables.
void clearCache ()
 Clears the function cache.
void printInfo ()
 Print out statistics and settings for current ring.

Protected Attributes

order_ptr pOrder
 *Ordering of *this
- Protected Attributes inherited from polybori::BooleRing
manager_type m_mgr
 Interprete m_mgr as structure of Boolean polynomial ring.

Detailed Description

This class adds order-related functionality to BooleRing.

Member Typedef Documentation

generic access to base type

Type for block indices.

typedef block_idx_type::const_iterator polybori::BoolePolyRing::block_iterator

Type for block iterators.

define exponent type

set monomial type

typedef boost::shared_ptr< order_type > polybori::BoolePolyRing::order_ptr

Smart pointer for handling mterm orderings.

Reference for handling mterm orderings.

typedef CDynamicOrderBase polybori::BoolePolyRing::order_type

Type for handling mterm orderings.

generic access to current type

Constructor & Destructor Documentation

polybori::BoolePolyRing::BoolePolyRing ( size_type  nvars = 100,
ordercode_type  order = lp,
bool_type  make_active = true 
)

Constructor for nvars variables.

References activate(), and PBORI_TRACE_FUNC.

polybori::BoolePolyRing::~BoolePolyRing ( )
inline

destructor

Member Function Documentation

void polybori::BoolePolyRing::activate ( )

Make this global ring.

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

Referenced by BoolePolyRing().

void polybori::BoolePolyRing::changeOrdering ( ordercode_type  order)

Change order of current ring.

References PBORI_TRACE_FUNC, and pOrder.

idx_type polybori::BoolePolyRing::lastBlockStart ( )
inline
order_reference polybori::BoolePolyRing::ordering ( ) const
inline

Access ordering of *this.

Member Data Documentation

order_ptr polybori::BoolePolyRing::pOrder
protected

*Ordering of *this

Referenced by changeOrdering().


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