• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BooleRing.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00031 //*****************************************************************************
00032 
00033 // load PolyBoRi settings
00034 # include "pbori_defs.h"
00035 
00036 // include basic decision diagram manager interface 
00037 #include "CDDManager.h"
00038 
00039 
00040 #ifndef BooleRing_h_
00041 #define BooleRing_h_
00042 
00043 BEGIN_NAMESPACE_PBORI
00044 
00050 class BooleRing: 
00051   public CTypes::orderenums_type, public CTypes::compenums_type, 
00052   public CTypes::auxtypes_type {
00053 
00054  public:
00055   //-------------------------------------------------------------------------
00056   // types definitions
00057   //-------------------------------------------------------------------------
00058 
00060   typedef BooleRing self;
00061 
00063   typedef CTypes::orderenums_type base;
00064 
00066 
00067   typedef CTypes::ordercode_type ordercode_type;
00068   typedef CTypes::manager_type manager_type;
00069   typedef CTypes::manager_reference manager_reference;
00070   typedef CTypes::manager_ptr manager_ptr;
00071   typedef CTypes::dd_type dd_type;
00072   typedef CTypes::vartext_type vartext_type;
00074 
00076   using base::ordercodes;
00077 
00079   BooleRing(size_type nvars = 100):
00080     m_mgr(nvars) {}
00081 
00082   BooleRing(const manager_type& mgr):
00083     m_mgr(mgr) {}
00084 
00086   ~BooleRing() {}
00087 
00089   manager_type& manager() {  return m_mgr; }
00090 
00092   const manager_type& manager() const {  return m_mgr; }
00093 
00095   dd_type ddVariable(idx_type nvar) const { return m_mgr.ddVariable(nvar); }
00096 
00098   dd_type variable(idx_type nvar) const { return m_mgr.variable(nvar); }
00099 
00101   dd_type persistentVariable(idx_type nvar) const { 
00102     return m_mgr.persistentVariable(nvar); 
00103   }
00104 
00106   dd_type zero() const { return m_mgr.empty(); }
00107 
00109   dd_type one() const { return m_mgr.blank(); }
00110 
00112   size_type nVariables() const { return m_mgr.nVariables(); }
00113 
00115   void clearCache() { cuddCacheFlush(m_mgr.manager().getManager()); }
00116 
00118   void printInfo() {  return m_mgr.printInfo(); }
00119 
00120 protected: 
00122   manager_type m_mgr;
00123 };
00124 
00125 
00126 END_NAMESPACE_PBORI
00127 #endif

Generated on Thu Nov 4 2010 08:06:19 for PolyBoRi by  doxygen 1.7.1