PolyBoRi
Public Types | Public Member Functions | Friends | List of all members
polybori::BooleVariable Class Reference

This class is just a wrapper for using variables from cudd's decicion diagram. More...

#include <BooleVariable.h>

Inheritance diagram for polybori::BooleVariable:
polybori::CAuxTypes

Public Types

typedef BooleSet set_type
 Type of sets of Boolean variables. More...
 
typedef BoolePolyRing ring_type
 Type for Boolean polynomial rings (without ordering) More...
 
- Public Types inherited from polybori::CAuxTypes
typedef bool bool_type
 Type for standard true/false statements. More...
 
typedef std::size_t size_type
 Type for lengths, dimensions, etc. More...
 
typedef int deg_type
 Type for polynomial degrees (ranges from -1 to maxint) More...
 
typedef int integer_type
 Type for integer numbers. More...
 
typedef int idx_type
 Type for indices. More...
 
typedef std::size_t hash_type
 Type for hashing. More...
 
typedef unsigned int errornum_type
 Type used to store error codes. More...
 
typedef short int comp_type
 Type for comparisons. More...
 
typedef int ordercode_type
 Type for ordering codes. More...
 
typedef const char * errortext_type
 Type used to verbose error information. More...
 
typedef std::ostream ostream_type
 Type for out-stream. More...
 
typedef const char * vartext_type
 Type for setting/getting names of variables. More...
 
typedef unsigned long large_size_type
 large size_type (necessary?) More...
 
typedef std::size_t refcount_type
 Type for counting references. More...
 

Public Member Functions

 BooleVariable (idx_type idx, const ring_type &ring)
 Constructor idx-th variable of active ring. More...
 
 BooleVariable (const ring_type &ring)
 Construct first variable of a given ring. More...
 
 BooleVariable (const self &rhs)
 Copy constructor. More...
 
 operator const BoolePolynomial & () const
 Cast to polynomial type. More...
 
idx_type index () const
 Get index of the variable. More...
 
bool operator== (const self &other) const
 Equality check. More...
 
bool operator!= (const self &other) const
 
hash_type stableHash () const
 Hash value of the variable. More...
 
hash_type hash () const
 Get unique hash value (valid only per runtime) More...
 
set_type set () const
 Convert to Boolean set. More...
 
const ring_typering () const
 Access ring, where this belongs to. More...
 

Friends

class BoolePolyRing
 

Detailed Description

This class is just a wrapper for using variables from cudd's decicion diagram.

Note
BooleVariable is actually a specialization of BoolePolynomial with a special constructor.

Member Typedef Documentation

Type for Boolean polynomial rings (without ordering)

Type of sets of Boolean variables.

Constructor & Destructor Documentation

polybori::BooleVariable::BooleVariable ( idx_type  idx,
const ring_type ring 
)
inline

Constructor idx-th variable of active ring.

explicit BooleVariable(idx_type idx = 0): m_poly( BooleEnv::ring().variable(idx) ) {}Construct idx-th variable of a given ring

polybori::BooleVariable::BooleVariable ( const ring_type ring)
inline

Construct first variable of a given ring.

polybori::BooleVariable::BooleVariable ( const self rhs)
inline

Copy constructor.

Member Function Documentation

hash_type polybori::BooleVariable::hash ( ) const
inline

Get unique hash value (valid only per runtime)

idx_type polybori::BooleVariable::index ( ) const
inline
polybori::BooleVariable::operator const BoolePolynomial & ( ) const
inline

Cast to polynomial type.

bool polybori::BooleVariable::operator!= ( const self other) const
inline
bool polybori::BooleVariable::operator== ( const self other) const
inline

Equality check.

const ring_type& polybori::BooleVariable::ring ( ) const
inline

Access ring, where this belongs to.

Referenced by polybori::operator/().

set_type polybori::BooleVariable::set ( ) const
inline

Convert to Boolean set.

hash_type polybori::BooleVariable::stableHash ( ) const
inline

Hash value of the variable.

Friends And Related Function Documentation

friend class BoolePolyRing
friend

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