<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>PolyBoRi: polybori::CCuddInterface Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacepolybori.html">polybori</a>::<a class="el" href="classpolybori_1_1CCuddInterface.html">CCuddInterface</a> </div> </div> <div class="contents"> <h1>polybori::CCuddInterface Class Reference</h1><!-- doxytag: class="polybori::CCuddInterface" -->This class defines a C++ interface to <code>CUDD's</code> decicion diagram manager. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="CCuddInterface_8h_source.html">CCuddInterface.h</a>></code> <p> <p> <a href="classpolybori_1_1CCuddInterface-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#1156f672b6677c7b25350729b88e1f1a">CCuddCore::errorfunc_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#1d099780efc89342267e4c4173a3eb52">CCuddCore::large_size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#63aa61d23f66fe374e39d13e43e834a0">large_size_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#91a2127db4890d11b34f4653f60393af">CCuddCore::refcount_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#a9be08e9b21b7bbeab6ebde650d58481">refcount_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#77015122af98d17b7cca612a149cd89d">CCuddCore::node_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#b6f8393780cb249c495880d919e09558">CCuddCore::mgrcore_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#1f686b8141580bad9da5241b10ca5c24">mgrcore_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#d36c3a51f91d424038ad6cd380af6326">CCuddCore::unary_int_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#ad24a51f7d8efd849c1e723230d72a35">unary_int_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#26360a33fa8a030b055db06f81f75f7f">CCuddCore::void_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#db492409bcdbe782d64b1db3b5d4b04f">void_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#0fea615421e42e625943fe3225844b80">CCuddCore::binary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#70d43142f46c513749e51a2ddd9d8ba8">binary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#21c98ff4d498b7a19bbbeb24e4c827ab">CCuddCore::binary_int_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#f733492a498c4119ee77fcccdbe90997">binary_int_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#5d05258f119e954d300f578eb3d9cbb1">CCuddCore::ternary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#8580966a20f6d7d94de9f331e4facc67">ternary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#d553ab433d565a3f507da96e903ae59c">CCuddCore::int_unary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#76a0dd2d712f86028747506da10c4b75">int_unary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#c98c23ce4f58682d9c7d6f90d9269f85">CCuddCore::size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#92df9972546cc26db8e44ec45ae9f359">CCuddCore::idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CVariableNames.html">CVariableNames</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#84ec48a908c2908d2eb3c6a57137f965">variable_names_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define type for storing names of variables. <a href="#84ec48a908c2908d2eb3c6a57137f965"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CVariableNames.html#8a5e6b1affc37227dc3610a2d676da5c">variable_names_type::const_reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">const_varname_reference</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define type for getting names of variables. <a href="#cf2bff1be34945dff52c544c87c7d80b"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Generic names for related data types</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">CCuddInterface</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#ee4d4d87e7044f0596ada0eaef34fa07">self</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#46a854c1084c2c1d7160d0bb39057acb">core_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#e019decfc7c24d36400cf8bf9c5f8f60">core_type::mgrcore_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">mgrcore_ptr</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#469180ce0480d817fdd9d527f13bf745">dd_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#8a647315c48ffc87feeed7501a02e750">tmp_ref</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#0ffbb13c567695fa99363ae06013702f">CCuddInterface</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> numVars=0, <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> numVarsZ=0, <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> numSlots=CUDD_UNIQUE_SLOTS, <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> cacheSize=CUDD_CACHE_SLOTS, unsigned long maxMemory=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize CUDD-like decision diagram manager. <a href="#0ffbb13c567695fa99363ae06013702f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4bc7809ba80b2a72c0c59fcf5ecb546f">CCuddInterface</a> (const <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#4bc7809ba80b2a72c0c59fcf5ecb546f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#ab3ef365e336a5193b5ccd6b8abdc3ea">CCuddInterface</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">mgrcore_ptr</a> rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct interface for already initialized manager. <a href="#ab3ef365e336a5193b5ccd6b8abdc3ea"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#7c48e86a2453ae36c8bb6699dc098e1f">~CCuddInterface</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#7c48e86a2453ae36c8bb6699dc098e1f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#68d18a3de0391d985b61c257bd24e6ea">setHandler</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> newHandler)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define function for error handling. <a href="#68d18a3de0391d985b61c257bd24e6ea"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#60fe91a4bdad4b3c576551a1c3b3eff6">getHandler</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extract function for error handling. <a href="#60fe91a4bdad4b3c576551a1c3b3eff6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#1f686b8141580bad9da5241b10ca5c24">mgrcore_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#d4edd7ce094a7864cb50170af75a5a75">getManager</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get pure CUDD structure. <a href="#d4edd7ce094a7864cb50170af75a5a75"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">mgrcore_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#faf2deee4b5b79723c8719ca14dbfda6">managerCore</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get (shared) pointer to initialized manager. <a href="#faf2deee4b5b79723c8719ca14dbfda6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#9e70d79f3b71dc0babd25c3e8a6a6503">info</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print statistical information. <a href="#9e70d79f3b71dc0babd25c3e8a6a6503"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#2b0834c372ea7fe4dd97a367bd0753d3">checkReturnValue</a> (const <a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> result) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#719682d5bfda573f80d4c3f658390866">checkReturnValue</a> (const int result) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#679dc74ab9f31602c202027f1db80279">operator=</a> (const <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> &right)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operation. <a href="#679dc74ab9f31602c202027f1db80279"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#2f02874c13a44f4d0bceb0954790ef7d">zddVar</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> idx) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get ZDD variable. <a href="#2f02874c13a44f4d0bceb0954790ef7d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#20d7797827641078ad7a1331a1ef8689">zddOne</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> iMax) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 1-terminal for ZDDs. <a href="#20d7797827641078ad7a1331a1ef8689"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#1bf7d4499c8d8f33bcfd5d072d07d685">zddZero</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 0-terminal for ZDDs. <a href="#1bf7d4499c8d8f33bcfd5d072d07d685"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#b2c7054d2009642b55a1807ff1905d63">zddOne</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 1-terminal for ZDDs. <a href="#b2c7054d2009642b55a1807ff1905d63"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">*void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#3a65a77e96a37928190097cca0ae1caf">setName</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> idx, <a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">const_varname_reference</a> varname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set name of variable with index idx. <a href="#3a65a77e96a37928190097cca0ae1caf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">const_varname_reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#12bd5edf06417d6572f5f15d7ca1f529">getName</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> idx) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get name of variable with index idx. <a href="#12bd5edf06417d6572f5f15d7ca1f529"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#cb901bd858bf75ecd1cde0c8e7b8ca00">getVar</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> idx) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#e9e30ae7f4aa6c597598e7544555e3fb">nVariables</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get number of managed variables. <a href="#e9e30ae7f4aa6c597598e7544555e3fb"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Manage eloquence</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#1f28ec4cb323d276c34015f664336cf1">makeVerbose</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#2596492051df754733f3ac260dcd8b71">makeTerse</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#78147b0ed33211109e148f02e0c3c319">isVerbose</a> () const </td></tr> <tr><td colspan="2"><div class="groupHeader">Member functions mimicking/interfacing with CUDD procedures</div></td></tr> <tr><td colspan="2"><div class="groupText"><dl class="note" compact><dt><b>Note:</b></dt><dd>See preprocessor generated members below </dd></dl> <br><br></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#0c07b73a183c811a5b906cab1b662741">ReorderingStatusZdd</a> (Cudd_ReorderingType *method) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#2f45485eb22e3ac512ea6618a5d80c2a">ReadPermZdd</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> i) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#378747a17105a2fbf20bd42160240b4a">ReadInvPermZdd</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> i) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#f4d8c19bb1c2a146ff48bc1720a73018">AddHook</a> (DD_HFP f, Cudd_HookType where)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#9742f930cca28c7e973eafba1b341a96">RemoveHook</a> (DD_HFP f, Cudd_HookType where)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4fab9edb5ef47adc74eafac2317972f8">IsInHook</a> (DD_HFP f, Cudd_HookType where) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#cd954275ec7537476164ff83bec2678b">EnableReorderingReporting</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#57cb21ba9d190649260e81c1e656b141">DisableReorderingReporting</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#17e6176456f5e63948c4980b3035ef1b">DebugCheck</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#477ab79593590a2d6226189069d939d8">CheckKeys</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#9eb3675475e05a35495dabd1aa28a8ac">PrintLinear</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#3695822a4d33767b7e06448de89d7b1d">ReadLinear</a> (int x, int y)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4714ea479d141f63aca1e4ec73b8e7f1">Prime</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> pr) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4a2d4ffa391c2464539e71021bd5c25c">PrintVersion</a> (FILE *fp) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">MtrNode * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#01b08137b06cad1fa19b1e3394c967e3">MakeZddTreeNode</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> low, <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> size, <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#b8694a216f2164ec8bc4bebf807f75ac">zddPrintSubtable</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#0f1c93316a8312078f213caf76afdda7">zddReduceHeap</a> (Cudd_ReorderingType heuristic, int minsize)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#df4520724d0670679c790e903a264b56">zddShuffleHeap</a> (int *permutation)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#22dcafe82a89c035006f2962c36d62af">zddSymmProfile</a> (int lower, int upper) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#4fb8612172c428d9730434fd01310106">SharingSize</a> (<a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> *nodes, int nlen) const </td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#a0adf0f7686eccd74bddce9bf18e403a">getDiagram</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert to decision diagram. <a href="#a0adf0f7686eccd74bddce9bf18e403a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#e3f2f7480e3ee4a85e266025190ba80f">checkedResult</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Generate check result of previous node operation and convert. <a href="#e3f2f7480e3ee4a85e266025190ba80f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#35e65c973b4ec90be5e44d9a70ae38c3">checkedResult</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Generate check numerical result of previous operation. <a href="#35e65c973b4ec90be5e44d9a70ae38c3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#7a1c8a804a9ee739e71a3d003c126a24">apply</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#ad24a51f7d8efd849c1e723230d72a35">unary_int_function</a> func, <a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> idx) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply function to given index. <a href="#7a1c8a804a9ee739e71a3d003c126a24"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddInterface.html#d9f24d88050501816e412cd0b3948b7b">apply</a> (<a class="el" href="classpolybori_1_1CCuddInterface.html#db492409bcdbe782d64b1db3b5d4b04f">void_function</a> func) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Call function. <a href="#d9f24d88050501816e412cd0b3948b7b"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class defines a C++ interface to <code>CUDD's</code> decicion diagram manager. <p> The purpose of this wrapper is just to provide an efficient and save way of handling the decision diagram management. It corrects some short-comings of CUDD's built-in interface.<p> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>This class is intented for internal use only. Use the highlevel classes <a class="el" href="classpolybori_1_1CDDManager_3_01CCuddInterface_01_4.html">CDDManager<CCuddInterface></a> or <a class="el" href="classpolybori_1_1BoolePolyRing.html" title="This class adds order-related functionality to BooleRing.">BoolePolyRing</a> instead. </dd></dl> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="70d43142f46c513749e51a2ddd9d8ba8"></a><!-- doxytag: member="polybori::CCuddInterface::binary_function" ref="70d43142f46c513749e51a2ddd9d8ba8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#70d43142f46c513749e51a2ddd9d8ba8">binary_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#70d43142f46c513749e51a2ddd9d8ba8">polybori::CCuddInterface::binary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f733492a498c4119ee77fcccdbe90997"></a><!-- doxytag: member="polybori::CCuddInterface::binary_int_function" ref="f733492a498c4119ee77fcccdbe90997" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#f733492a498c4119ee77fcccdbe90997">binary_int_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#f733492a498c4119ee77fcccdbe90997">polybori::CCuddInterface::binary_int_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="cf2bff1be34945dff52c544c87c7d80b"></a><!-- doxytag: member="polybori::CCuddInterface::const_varname_reference" ref="cf2bff1be34945dff52c544c87c7d80b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CVariableNames.html#8a5e6b1affc37227dc3610a2d676da5c">variable_names_type::const_reference</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">polybori::CCuddInterface::const_varname_reference</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Define type for getting names of variables. <p> </div> </div><p> <a class="anchor" name="46a854c1084c2c1d7160d0bb39057acb"></a><!-- doxytag: member="polybori::CCuddInterface::core_type" ref="46a854c1084c2c1d7160d0bb39057acb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> <a class="el" href="classpolybori_1_1CCuddCore.html">polybori::CCuddInterface::core_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="469180ce0480d817fdd9d527f13bf745"></a><!-- doxytag: member="polybori::CCuddInterface::dd_type" ref="469180ce0480d817fdd9d527f13bf745" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> <a class="el" href="classpolybori_1_1CCuddZDD.html">polybori::CCuddInterface::dd_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="37517cbf3d281847c4498c8bcc84a252"></a><!-- doxytag: member="polybori::CCuddInterface::errorfunc_type" ref="37517cbf3d281847c4498c8bcc84a252" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">polybori::CCuddInterface::errorfunc_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d7288afd941496108f295b2957060a5b"></a><!-- doxytag: member="polybori::CCuddInterface::idx_type" ref="d7288afd941496108f295b2957060a5b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">polybori::CCuddInterface::idx_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="76a0dd2d712f86028747506da10c4b75"></a><!-- doxytag: member="polybori::CCuddInterface::int_unary_function" ref="76a0dd2d712f86028747506da10c4b75" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#76a0dd2d712f86028747506da10c4b75">int_unary_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#76a0dd2d712f86028747506da10c4b75">polybori::CCuddInterface::int_unary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="63aa61d23f66fe374e39d13e43e834a0"></a><!-- doxytag: member="polybori::CCuddInterface::large_size_type" ref="63aa61d23f66fe374e39d13e43e834a0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#63aa61d23f66fe374e39d13e43e834a0">large_size_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#63aa61d23f66fe374e39d13e43e834a0">polybori::CCuddInterface::large_size_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3ee4f49778bba453ba87c77dad94a54f"></a><!-- doxytag: member="polybori::CCuddInterface::mgrcore_ptr" ref="3ee4f49778bba453ba87c77dad94a54f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#e019decfc7c24d36400cf8bf9c5f8f60">core_type::mgrcore_ptr</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">polybori::CCuddInterface::mgrcore_ptr</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="1f686b8141580bad9da5241b10ca5c24"></a><!-- doxytag: member="polybori::CCuddInterface::mgrcore_type" ref="1f686b8141580bad9da5241b10ca5c24" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#1f686b8141580bad9da5241b10ca5c24">mgrcore_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#1f686b8141580bad9da5241b10ca5c24">polybori::CCuddInterface::mgrcore_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4f823f52ce6d162cebc50504aa43a018"></a><!-- doxytag: member="polybori::CCuddInterface::node_type" ref="4f823f52ce6d162cebc50504aa43a018" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">polybori::CCuddInterface::node_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a9be08e9b21b7bbeab6ebde650d58481"></a><!-- doxytag: member="polybori::CCuddInterface::refcount_type" ref="a9be08e9b21b7bbeab6ebde650d58481" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#a9be08e9b21b7bbeab6ebde650d58481">refcount_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#a9be08e9b21b7bbeab6ebde650d58481">polybori::CCuddInterface::refcount_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ee4d4d87e7044f0596ada0eaef34fa07"></a><!-- doxytag: member="polybori::CCuddInterface::self" ref="ee4d4d87e7044f0596ada0eaef34fa07" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">CCuddInterface</a> <a class="el" href="classpolybori_1_1CCuddInterface.html">polybori::CCuddInterface::self</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="1d5dea451899501c3d57c880665f3f4b"></a><!-- doxytag: member="polybori::CCuddInterface::size_type" ref="1d5dea451899501c3d57c880665f3f4b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">polybori::CCuddInterface::size_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="8580966a20f6d7d94de9f331e4facc67"></a><!-- doxytag: member="polybori::CCuddInterface::ternary_function" ref="8580966a20f6d7d94de9f331e4facc67" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#8580966a20f6d7d94de9f331e4facc67">ternary_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#8580966a20f6d7d94de9f331e4facc67">polybori::CCuddInterface::ternary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="8a647315c48ffc87feeed7501a02e750"></a><!-- doxytag: member="polybori::CCuddInterface::tmp_ref" ref="8a647315c48ffc87feeed7501a02e750" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> <a class="el" href="classpolybori_1_1CCuddInterface.html">polybori::CCuddInterface::tmp_ref</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ad24a51f7d8efd849c1e723230d72a35"></a><!-- doxytag: member="polybori::CCuddInterface::unary_int_function" ref="ad24a51f7d8efd849c1e723230d72a35" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#ad24a51f7d8efd849c1e723230d72a35">unary_int_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#ad24a51f7d8efd849c1e723230d72a35">polybori::CCuddInterface::unary_int_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="84ec48a908c2908d2eb3c6a57137f965"></a><!-- doxytag: member="polybori::CCuddInterface::variable_names_type" ref="84ec48a908c2908d2eb3c6a57137f965" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CVariableNames.html">CVariableNames</a> <a class="el" href="classpolybori_1_1CVariableNames.html">polybori::CCuddInterface::variable_names_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Define type for storing names of variables. <p> </div> </div><p> <a class="anchor" name="db492409bcdbe782d64b1db3b5d4b04f"></a><!-- doxytag: member="polybori::CCuddInterface::void_function" ref="db492409bcdbe782d64b1db3b5d4b04f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddInterface.html#db492409bcdbe782d64b1db3b5d4b04f">void_function</a> <a class="el" href="classpolybori_1_1CCuddInterface.html#db492409bcdbe782d64b1db3b5d4b04f">polybori::CCuddInterface::void_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="0ffbb13c567695fa99363ae06013702f"></a><!-- doxytag: member="polybori::CCuddInterface::CCuddInterface" ref="0ffbb13c567695fa99363ae06013702f" args="(size_type numVars=0, size_type numVarsZ=0, size_type numSlots=CUDD_UNIQUE_SLOTS, size_type cacheSize=CUDD_CACHE_SLOTS, unsigned long maxMemory=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">polybori::CCuddInterface::CCuddInterface </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>numVars</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>numVarsZ</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>numSlots</em> = <code>CUDD_UNIQUE_SLOTS</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>cacheSize</em> = <code>CUDD_CACHE_SLOTS</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"> <em>maxMemory</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Initialize CUDD-like decision diagram manager. <p> </div> </div><p> <a class="anchor" name="4bc7809ba80b2a72c0c59fcf5ecb546f"></a><!-- doxytag: member="polybori::CCuddInterface::CCuddInterface" ref="4bc7809ba80b2a72c0c59fcf5ecb546f" args="(const self &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">polybori::CCuddInterface::CCuddInterface </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. <p> </div> </div><p> <a class="anchor" name="ab3ef365e336a5193b5ccd6b8abdc3ea"></a><!-- doxytag: member="polybori::CCuddInterface::CCuddInterface" ref="ab3ef365e336a5193b5ccd6b8abdc3ea" args="(mgrcore_ptr rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">polybori::CCuddInterface::CCuddInterface </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">mgrcore_ptr</a> </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct interface for already initialized manager. <p> </div> </div><p> <a class="anchor" name="7c48e86a2453ae36c8bb6699dc098e1f"></a><!-- doxytag: member="polybori::CCuddInterface::~CCuddInterface" ref="7c48e86a2453ae36c8bb6699dc098e1f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">polybori::CCuddInterface::~CCuddInterface </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f4d8c19bb1c2a146ff48bc1720a73018"></a><!-- doxytag: member="polybori::CCuddInterface::AddHook" ref="f4d8c19bb1c2a146ff48bc1720a73018" args="(DD_HFP f, Cudd_HookType where)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::AddHook </td> <td>(</td> <td class="paramtype">DD_HFP </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Cudd_HookType </td> <td class="paramname"> <em>where</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d9f24d88050501816e412cd0b3948b7b"></a><!-- doxytag: member="polybori::CCuddInterface::apply" ref="d9f24d88050501816e412cd0b3948b7b" args="(void_function func) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> polybori::CCuddInterface::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#db492409bcdbe782d64b1db3b5d4b04f">void_function</a> </td> <td class="paramname"> <em>func</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Call function. <p> </div> </div><p> <a class="anchor" name="7a1c8a804a9ee739e71a3d003c126a24"></a><!-- doxytag: member="polybori::CCuddInterface::apply" ref="7a1c8a804a9ee739e71a3d003c126a24" args="(unary_int_function func, idx_type idx) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> polybori::CCuddInterface::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#ad24a51f7d8efd849c1e723230d72a35">unary_int_function</a> </td> <td class="paramname"> <em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>idx</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Apply function to given index. <p> </div> </div><p> <a class="anchor" name="35e65c973b4ec90be5e44d9a70ae38c3"></a><!-- doxytag: member="polybori::CCuddInterface::checkedResult" ref="35e65c973b4ec90be5e44d9a70ae38c3" args="(idx_type result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> polybori::CCuddInterface::checkedResult </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Generate check numerical result of previous operation. <p> </div> </div><p> <a class="anchor" name="e3f2f7480e3ee4a85e266025190ba80f"></a><!-- doxytag: member="polybori::CCuddInterface::checkedResult" ref="e3f2f7480e3ee4a85e266025190ba80f" args="(node_type result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> polybori::CCuddInterface::checkedResult </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Generate check result of previous node operation and convert. <p> </div> </div><p> <a class="anchor" name="477ab79593590a2d6226189069d939d8"></a><!-- doxytag: member="polybori::CCuddInterface::CheckKeys" ref="477ab79593590a2d6226189069d939d8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::CheckKeys </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="719682d5bfda573f80d4c3f658390866"></a><!-- doxytag: member="polybori::CCuddInterface::checkReturnValue" ref="719682d5bfda573f80d4c3f658390866" args="(const int result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::checkReturnValue </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="pbori__defs_8h_source.html#l00175">UNLIKELY</a>.</p> </div> </div><p> <a class="anchor" name="2b0834c372ea7fe4dd97a367bd0753d3"></a><!-- doxytag: member="polybori::CCuddInterface::checkReturnValue" ref="2b0834c372ea7fe4dd97a367bd0753d3" args="(const node_type result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::checkReturnValue </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="17e6176456f5e63948c4980b3035ef1b"></a><!-- doxytag: member="polybori::CCuddInterface::DebugCheck" ref="17e6176456f5e63948c4980b3035ef1b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::DebugCheck </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="57cb21ba9d190649260e81c1e656b141"></a><!-- doxytag: member="polybori::CCuddInterface::DisableReorderingReporting" ref="57cb21ba9d190649260e81c1e656b141" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::DisableReorderingReporting </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="cd954275ec7537476164ff83bec2678b"></a><!-- doxytag: member="polybori::CCuddInterface::EnableReorderingReporting" ref="cd954275ec7537476164ff83bec2678b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::EnableReorderingReporting </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a0adf0f7686eccd74bddce9bf18e403a"></a><!-- doxytag: member="polybori::CCuddInterface::getDiagram" ref="a0adf0f7686eccd74bddce9bf18e403a" args="(node_type result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> polybori::CCuddInterface::getDiagram </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#4f823f52ce6d162cebc50504aa43a018">node_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Convert to decision diagram. <p> </div> </div><p> <a class="anchor" name="60fe91a4bdad4b3c576551a1c3b3eff6"></a><!-- doxytag: member="polybori::CCuddInterface::getHandler" ref="60fe91a4bdad4b3c576551a1c3b3eff6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> polybori::CCuddInterface::getHandler </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Extract function for error handling. <p> </div> </div><p> <a class="anchor" name="d4edd7ce094a7864cb50170af75a5a75"></a><!-- doxytag: member="polybori::CCuddInterface::getManager" ref="d4edd7ce094a7864cb50170af75a5a75" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#1f686b8141580bad9da5241b10ca5c24">mgrcore_type</a> polybori::CCuddInterface::getManager </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get pure CUDD structure. <p> </div> </div><p> <a class="anchor" name="12bd5edf06417d6572f5f15d7ca1f529"></a><!-- doxytag: member="polybori::CCuddInterface::getName" ref="12bd5edf06417d6572f5f15d7ca1f529" args="(idx_type idx) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">const_varname_reference</a> polybori::CCuddInterface::getName </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>idx</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get name of variable with index idx. <p> </div> </div><p> <a class="anchor" name="cb901bd858bf75ecd1cde0c8e7b8ca00"></a><!-- doxytag: member="polybori::CCuddInterface::getVar" ref="cb901bd858bf75ecd1cde0c8e7b8ca00" args="(idx_type idx) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> polybori::CCuddInterface::getVar </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>idx</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="CDegreeCache_8h_source.html#l00182">polybori::CIndexCacheHandle< NaviType >::toNode()</a>.</p> </div> </div><p> <a class="anchor" name="9e70d79f3b71dc0babd25c3e8a6a6503"></a><!-- doxytag: member="polybori::CCuddInterface::info" ref="9e70d79f3b71dc0babd25c3e8a6a6503" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::info </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Print statistical information. <p> </div> </div><p> <a class="anchor" name="4fab9edb5ef47adc74eafac2317972f8"></a><!-- doxytag: member="polybori::CCuddInterface::IsInHook" ref="4fab9edb5ef47adc74eafac2317972f8" args="(DD_HFP f, Cudd_HookType where) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int polybori::CCuddInterface::IsInHook </td> <td>(</td> <td class="paramtype">DD_HFP </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Cudd_HookType </td> <td class="paramname"> <em>where</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="78147b0ed33211109e148f02e0c3c319"></a><!-- doxytag: member="polybori::CCuddInterface::isVerbose" ref="78147b0ed33211109e148f02e0c3c319" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool polybori::CCuddInterface::isVerbose </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2596492051df754733f3ac260dcd8b71"></a><!-- doxytag: member="polybori::CCuddInterface::makeTerse" ref="2596492051df754733f3ac260dcd8b71" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::makeTerse </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="1f28ec4cb323d276c34015f664336cf1"></a><!-- doxytag: member="polybori::CCuddInterface::makeVerbose" ref="1f28ec4cb323d276c34015f664336cf1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::makeVerbose </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="01b08137b06cad1fa19b1e3394c967e3"></a><!-- doxytag: member="polybori::CCuddInterface::MakeZddTreeNode" ref="01b08137b06cad1fa19b1e3394c967e3" args="(size_type low, size_type size, size_type type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">MtrNode* polybori::CCuddInterface::MakeZddTreeNode </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>low</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>type</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="faf2deee4b5b79723c8719ca14dbfda6"></a><!-- doxytag: member="polybori::CCuddInterface::managerCore" ref="faf2deee4b5b79723c8719ca14dbfda6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#3ee4f49778bba453ba87c77dad94a54f">mgrcore_ptr</a> polybori::CCuddInterface::managerCore </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get (shared) pointer to initialized manager. <p> <p>Referenced by <a class="el" href="CDDInterface_8h_source.html#l00273">polybori::extract_manager()</a>, and <a class="el" href="pbori__algo_8h_source.html#l00543">polybori::get_mgr_core()</a>.</p> </div> </div><p> <a class="anchor" name="e9e30ae7f4aa6c597598e7544555e3fb"></a><!-- doxytag: member="polybori::CCuddInterface::nVariables" ref="e9e30ae7f4aa6c597598e7544555e3fb" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> polybori::CCuddInterface::nVariables </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get number of managed variables. <p> <p>Referenced by <a class="el" href="CDegreeCache_8h_source.html#l00131">polybori::CIndexHandle< NaviType >::fromNode()</a>, and <a class="el" href="CDegreeCache_8h_source.html#l00182">polybori::CIndexCacheHandle< NaviType >::toNode()</a>.</p> </div> </div><p> <a class="anchor" name="679dc74ab9f31602c202027f1db80279"></a><!-- doxytag: member="polybori::CCuddInterface::operator=" ref="679dc74ab9f31602c202027f1db80279" args="(const self &right)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html">self</a>& polybori::CCuddInterface::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddInterface.html">self</a> & </td> <td class="paramname"> <em>right</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Assignment operation. <p> </div> </div><p> <a class="anchor" name="4714ea479d141f63aca1e4ec73b8e7f1"></a><!-- doxytag: member="polybori::CCuddInterface::Prime" ref="4714ea479d141f63aca1e4ec73b8e7f1" args="(size_type pr) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> polybori::CCuddInterface::Prime </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a> </td> <td class="paramname"> <em>pr</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9eb3675475e05a35495dabd1aa28a8ac"></a><!-- doxytag: member="polybori::CCuddInterface::PrintLinear" ref="9eb3675475e05a35495dabd1aa28a8ac" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::PrintLinear </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4a2d4ffa391c2464539e71021bd5c25c"></a><!-- doxytag: member="polybori::CCuddInterface::PrintVersion" ref="4a2d4ffa391c2464539e71021bd5c25c" args="(FILE *fp) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::PrintVersion </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>fp</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="378747a17105a2fbf20bd42160240b4a"></a><!-- doxytag: member="polybori::CCuddInterface::ReadInvPermZdd" ref="378747a17105a2fbf20bd42160240b4a" args="(idx_type i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> polybori::CCuddInterface::ReadInvPermZdd </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3695822a4d33767b7e06448de89d7b1d"></a><!-- doxytag: member="polybori::CCuddInterface::ReadLinear" ref="3695822a4d33767b7e06448de89d7b1d" args="(int x, int y)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int polybori::CCuddInterface::ReadLinear </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2f45485eb22e3ac512ea6618a5d80c2a"></a><!-- doxytag: member="polybori::CCuddInterface::ReadPermZdd" ref="2f45485eb22e3ac512ea6618a5d80c2a" args="(idx_type i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> polybori::CCuddInterface::ReadPermZdd </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9742f930cca28c7e973eafba1b341a96"></a><!-- doxytag: member="polybori::CCuddInterface::RemoveHook" ref="9742f930cca28c7e973eafba1b341a96" args="(DD_HFP f, Cudd_HookType where)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::RemoveHook </td> <td>(</td> <td class="paramtype">DD_HFP </td> <td class="paramname"> <em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Cudd_HookType </td> <td class="paramname"> <em>where</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0c07b73a183c811a5b906cab1b662741"></a><!-- doxytag: member="polybori::CCuddInterface::ReorderingStatusZdd" ref="0c07b73a183c811a5b906cab1b662741" args="(Cudd_ReorderingType *method) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int polybori::CCuddInterface::ReorderingStatusZdd </td> <td>(</td> <td class="paramtype">Cudd_ReorderingType * </td> <td class="paramname"> <em>method</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="68d18a3de0391d985b61c257bd24e6ea"></a><!-- doxytag: member="polybori::CCuddInterface::setHandler" ref="68d18a3de0391d985b61c257bd24e6ea" args="(errorfunc_type newHandler)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> polybori::CCuddInterface::setHandler </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#37517cbf3d281847c4498c8bcc84a252">errorfunc_type</a> </td> <td class="paramname"> <em>newHandler</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Define function for error handling. <p> </div> </div><p> <a class="anchor" name="3a65a77e96a37928190097cca0ae1caf"></a><!-- doxytag: member="polybori::CCuddInterface::setName" ref="3a65a77e96a37928190097cca0ae1caf" args="(idx_type idx, const_varname_reference varname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">* void polybori::CCuddInterface::setName </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>idx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#cf2bff1be34945dff52c544c87c7d80b">const_varname_reference</a> </td> <td class="paramname"> <em>varname</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set name of variable with index idx. <p> <dl class="note" compact><dt><b>Note:</b></dt><dd>Preprocessor generated members <div class="fragment"><pre class="fragment"> BOOST_PP_SEQ_FOR_EACH(<a class="code" href="CCuddInterface_8h.html#5bd7e32781826044fb030a40b1e98323">PB_CUDDMGR_SET</a>, <a class="code" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a>, (SetMinHit)(SetLooseUpTo)(SetMaxCacheHard)(SetMaxLive) ) BOOST_PP_SEQ_FOR_EACH(<a class="code" href="CCuddInterface_8h.html#5bd7e32781826044fb030a40b1e98323">PB_CUDDMGR_SET</a>, <span class="keywordtype">int</span>, (SetSiftMaxVar)(SetSiftMaxSwap)(SetRecomb)(SetSymmviolation) (SetArcviolation)(SetPopulationSize)(SetNumberXovers) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_SET, FILE*, (SetStdout)(SetStderr)) BOOST_PP_SEQ_FOR_EACH(<a class="code" href="CCuddInterface_8h.html#151843dfb3cbd8c0bf3f88fb7b0d7528">PB_CUDDMGR_SWITCH</a>, BOOST_PP_NIL, (zddRealignEnable)(zddRealignDisable) (AutodynDisableZdd)(FreeZddTree) (EnableGarbageCollection)(DisableGarbageCollection) (TurnOnCountDead)(TurnOffCountDead)(ClearErrorCode) ) BOOST_PP_SEQ_FOR_EACH(<a class="code" href="CCuddInterface_8h.html#9739cf6beaeb87d1c7514f6fb204da2b">PB_CUDDMGR_READ</a>, <span class="keywordtype">double</span>, (ReadCacheUsedSlots)(ReadCacheLookUps)(ReadCacheHits) (ReadSwapSteps)(ReadMaxGrowth)(AverageDistance) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, <a class="code" href="classpolybori_1_1CCuddInterface.html#1d5dea451899501c3d57c880665f3f4b">size_type</a>, (ReadCacheSlots)(ReadMinHit)(ReadLooseUpTo)(ReadMaxCache) (ReadMaxCacheHard)(ReadSlots)(ReadKeys)(ReadDead)(ReadMinDead) (ReadNextReordering)(ReadMaxLive) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, <span class="keywordtype">int</span>, (zddRealignmentEnabled)(ReadZddSize)(ReadReorderings)(ReadSiftMaxVar) (ReadSiftMaxSwap)(ReadGarbageCollections)(GarbageCollectionEnabled) (DeadAreCounted)(ReadRecomb) (ReadPopulationSize)(ReadSymmviolation)(ReadArcviolation) (ReadNumberXovers)(ReorderingReporting)(ReadErrorCode) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, <span class="keywordtype">long</span>, (ReadReorderingTime)(ReadGarbageCollectionTime) (ReadPeakNodeCount)(zddReadNodeCount) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, <a class="code" href="classpolybori_1_1CCuddInterface.html#63aa61d23f66fe374e39d13e43e834a0">large_size_type</a>, (ReadMemoryInUse)(ReadMaxMemory) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, FILE*, (ReadStdout)(ReadStderr)) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, MtrNode*, (ReadZddTree)) <span class="keywordtype">void</span> AutodynEnableZdd ( Cudd_ReorderingType arg) { BOOST_PP_CAT(Cudd_, AutodynEnableZdd )(<a class="code" href="classpolybori_1_1CCuddInterface.html#d4edd7ce094a7864cb50170af75a5a75" title="Get pure CUDD structure.">getManager</a>(), arg); } <span class="keywordtype">void</span> SetMaxMemory ( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> arg) { BOOST_PP_CAT(Cudd_, SetMaxMemory )(<a class="code" href="classpolybori_1_1CCuddInterface.html#d4edd7ce094a7864cb50170af75a5a75" title="Get pure CUDD structure.">getManager</a>(), arg); } <span class="keywordtype">void</span> SetMaxGrowth ( <span class="keywordtype">double</span> arg) { BOOST_PP_CAT(Cudd_, SetMaxGrowth )(<a class="code" href="classpolybori_1_1CCuddInterface.html#d4edd7ce094a7864cb50170af75a5a75" title="Get pure CUDD structure.">getManager</a>(), arg); } <span class="keywordtype">void</span> SetZddTree ( MtrNode* arg) { BOOST_PP_CAT(Cudd_, SetZddTree )(<a class="code" href="classpolybori_1_1CCuddInterface.html#d4edd7ce094a7864cb50170af75a5a75" title="Get pure CUDD structure.">getManager</a>(), arg); } </pre></div> </dd></dl> </div> </div><p> <a class="anchor" name="4fb8612172c428d9730434fd01310106"></a><!-- doxytag: member="polybori::CCuddInterface::SharingSize" ref="4fb8612172c428d9730434fd01310106" args="(dd_type *nodes, int nlen) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int polybori::CCuddInterface::SharingSize </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddZDD.html">dd_type</a> * </td> <td class="paramname"> <em>nodes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nlen</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="b2c7054d2009642b55a1807ff1905d63"></a><!-- doxytag: member="polybori::CCuddInterface::zddOne" ref="b2c7054d2009642b55a1807ff1905d63" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> polybori::CCuddInterface::zddOne </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get 1-terminal for ZDDs. <p> </div> </div><p> <a class="anchor" name="20d7797827641078ad7a1331a1ef8689"></a><!-- doxytag: member="polybori::CCuddInterface::zddOne" ref="20d7797827641078ad7a1331a1ef8689" args="(idx_type iMax) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> polybori::CCuddInterface::zddOne </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>iMax</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get 1-terminal for ZDDs. <p> </div> </div><p> <a class="anchor" name="b8694a216f2164ec8bc4bebf807f75ac"></a><!-- doxytag: member="polybori::CCuddInterface::zddPrintSubtable" ref="b8694a216f2164ec8bc4bebf807f75ac" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::zddPrintSubtable </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0f1c93316a8312078f213caf76afdda7"></a><!-- doxytag: member="polybori::CCuddInterface::zddReduceHeap" ref="0f1c93316a8312078f213caf76afdda7" args="(Cudd_ReorderingType heuristic, int minsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::zddReduceHeap </td> <td>(</td> <td class="paramtype">Cudd_ReorderingType </td> <td class="paramname"> <em>heuristic</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>minsize</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="df4520724d0670679c790e903a264b56"></a><!-- doxytag: member="polybori::CCuddInterface::zddShuffleHeap" ref="df4520724d0670679c790e903a264b56" args="(int *permutation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::zddShuffleHeap </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>permutation</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="22dcafe82a89c035006f2962c36d62af"></a><!-- doxytag: member="polybori::CCuddInterface::zddSymmProfile" ref="22dcafe82a89c035006f2962c36d62af" args="(int lower, int upper) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::CCuddInterface::zddSymmProfile </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>lower</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>upper</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2f02874c13a44f4d0bceb0954790ef7d"></a><!-- doxytag: member="polybori::CCuddInterface::zddVar" ref="2f02874c13a44f4d0bceb0954790ef7d" args="(idx_type idx) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> polybori::CCuddInterface::zddVar </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddInterface.html#d7288afd941496108f295b2957060a5b">idx_type</a> </td> <td class="paramname"> <em>idx</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get ZDD variable. <p> </div> </div><p> <a class="anchor" name="1bf7d4499c8d8f33bcfd5d072d07d685"></a><!-- doxytag: member="polybori::CCuddInterface::zddZero" ref="1bf7d4499c8d8f33bcfd5d072d07d685" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddZDD.html">CCuddZDD</a> polybori::CCuddInterface::zddZero </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get 0-terminal for ZDDs. <p> <p>Referenced by <a class="el" href="CDegreeCache_8h_source.html#l00182">polybori::CIndexCacheHandle< NaviType >::toNode()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="CCuddInterface_8h_source.html">CCuddInterface.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:01 2009 for PolyBoRi by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>