Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > a24e1a39141f9b4ca49bd1e2e23a54ba > files > 178

polybori-doc-0.5rc.p9-6mdv2010.0.i586.rpm

<!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::BooleMonomial 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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacepolybori.html">polybori</a>::<a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a>
  </div>
</div>
<div class="contents">
<h1>polybori::BooleMonomial Class Reference</h1><!-- doxytag: class="polybori::BooleMonomial" -->This class is just a wrapper for using variables from <code>cudd's</code> decicion diagram.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BooleMonomial_8h_source.html">BooleMonomial.h</a>&gt;</code>
<p>

<p>
<a href="classpolybori_1_1BooleMonomial-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_1BooleMonomial.html">BooleMonomial</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5421ea67b92c7b530e8d69831df559fe">self</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic access to current type.  <a href="#5421ea67b92c7b530e8d69831df559fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BoolePolynomial.html">BoolePolynomial</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#0c2c73cbcf10863817c6751a0578c306">poly_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of Boolean polynomials.  <a href="#0c2c73cbcf10863817c6751a0578c306"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BooleVariable.html">poly_type::var_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#b762c4c19b98631b524adb202588b6ed">var_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of Boolean variables.  <a href="#b762c4c19b98631b524adb202588b6ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BooleConstant.html">poly_type::constant_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#c42b1ece9b517f538311a4d97479cc7b">constant_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of Boolean constants.  <a href="#c42b1ece9b517f538311a4d97479cc7b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BooleSet.html">poly_type::set_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#d808fd10e3adf11aba1bb694d502d271">set_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of sets of Boolean variables.  <a href="#d808fd10e3adf11aba1bb694d502d271"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BooleExponent.html">poly_type::exp_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#75c4211bbb64be56dcae3fd7a9a208d8">exp_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of exponent vector.  <a href="#75c4211bbb64be56dcae3fd7a9a208d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1BooleRing.html">poly_type::ring_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#217f482ef03ea81b4c6afc9357e20a73">ring_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for Boolean polynomial rings (without ordering).  <a href="#217f482ef03ea81b4c6afc9357e20a73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddFirstIter.html">poly_type::first_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#05886e7e9eacdf4d911f5b59fbe42925">const_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to iterator over indices.  <a href="#05886e7e9eacdf4d911f5b59fbe42925"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CVariableIter.html">CVariableIter</a><br class="typebreak">
&lt; <a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a>, <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#66acd739ddf0d7fdcd778e769fe3dfb0">variable_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to iterator over variables.  <a href="#66acd739ddf0d7fdcd778e769fe3dfb0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>, <br class="typebreak">
<a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>, <br class="typebreak">
<a class="el" href="classpolybori_1_1symmetric__composition.html">symmetric_composition</a><br class="typebreak">
&lt; std::less<br class="typebreak">
&lt; <a class="el" href="classpolybori_1_1CCuddNavigator.html">poly_type::navigator</a> &gt;<br class="typebreak">
, <a class="el" href="classpolybori_1_1navigates.html">navigates</a>&lt; <a class="el" href="classpolybori_1_1BoolePolynomial.html">poly_type</a> &gt; &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5098408fbdcf7bac7d818be20a98e3c0">idx_map_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for index maps.  <a href="#5098408fbdcf7bac7d818be20a98e3c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="structpolybori_1_1valid__tag.html">dd_type::easy_equality_property</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#3076cdbc8783193bb280dd51f2669fc3">easy_equality_property</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The property whether the equality check is easy is inherited from dd_type.  <a href="#3076cdbc8783193bb280dd51f2669fc3"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Adopt global type definitions</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CDDInterface.html">CTypes::dd_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#b8ef0078862a39f44536fbddf145e1c3">dd_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#0e254f927049b57061437ac57ea5c2cd">CTypes::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#8c170014c637d9ecf5950063ca30ef46">CTypes::idx_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#eb07372fd3478864402ba0e30b211d5e">CTypes::hash_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">hash_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#ae2c602841648d0b2b240eb3b612111e">CTypes::bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#c65df1421059e92da32ec24121d4192f">CTypes::comp_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#983c8221113525a285b542407fe43ec0">comp_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#54250b7e59ca3f754d1c1d52b07c339a">CTypes::integer_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#fe35ca1ed1a818918f5201bddc533cb4">integer_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#e146a837e32358883da648ea0f83004d">CTypes::ostream_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#af039ed980d944b98f5967c92f93333b">ostream_type</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#48e7b303e66ee8c7d88224a65a0ec640">BooleMonomial</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default Constructor (Constructs monomial one of the active ring).  <a href="#48e7b303e66ee8c7d88224a65a0ec640"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5767926c75129f0a620ba5e21cc71cbe">BooleMonomial</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#5767926c75129f0a620ba5e21cc71cbe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#17b2d96950728b380d5a1654ad1f2092">BooleMonomial</a> (const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct from Boolean variable.  <a href="#17b2d96950728b380d5a1654ad1f2092"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#57315945829d7b96ad2795b1ca8b8ade">BooleMonomial</a> (const <a class="el" href="classpolybori_1_1BooleExponent.html">exp_type</a> &amp;rhs, const <a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a> &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct from exponent vector.  <a href="#57315945829d7b96ad2795b1ca8b8ade"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#f4e9314075413b2a306c200a9707128e">BooleMonomial</a> (const <a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a> &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct from given ring.  <a href="#f4e9314075413b2a306c200a9707128e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#03e88c8956221d469564421b219711d5">~BooleMonomial</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#03e88c8956221d469564421b219711d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#32443f002de79bb218a7f566dfd7086f">operator const BoolePolynomial &amp;</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Casting operator.  <a href="#32443f002de79bb218a7f566dfd7086f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleExponent.html">exp_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#7987bd65a9aa41fb00300112c94dac70">exp</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get exponent vector.  <a href="#7987bd65a9aa41fb00300112c94dac70"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#525ffe23d66ef5a8fcccb178f1226f12">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration over indices.  <a href="#525ffe23d66ef5a8fcccb178f1226f12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#144a9252492dcb1854154095e634eee5">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish iteration over indices.  <a href="#144a9252492dcb1854154095e634eee5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CVariableIter.html">variable_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#d419387f1feda4d1bc59be0aad915c14">variableBegin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration over variables.  <a href="#d419387f1feda4d1bc59be0aad915c14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CVariableIter.html">variable_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#aea55681119e64b96e08223cbf961a2e">variableEnd</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish iteration over variables.  <a href="#aea55681119e64b96e08223cbf961a2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#7f8db3627c0fcdb60bafe6e6f25bfc3a">deg</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Degree of the monomial.  <a href="#7f8db3627c0fcdb60bafe6e6f25bfc3a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#f41263f68e4c4e25530132ee69cce943">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the exponents.  <a href="#f41263f68e4c4e25530132ee69cce943"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleSet.html">set_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#8f2276fdfa44d2fb08b53d423be6f2b1">divisors</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divisors of the monomial.  <a href="#8f2276fdfa44d2fb08b53d423be6f2b1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleSet.html">set_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#1ab3ea493b684ea8f2c475a2c798fb28">multiples</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multiples of the monomial wrt. given monomial  <a href="#1ab3ea493b684ea8f2c475a2c798fb28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">hash_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#2d69a19345d4a07f5c791cfab4ad6a16">stableHash</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hash value of the monomial.  <a href="#2d69a19345d4a07f5c791cfab4ad6a16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">hash_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5a1570365678bb21087aca36830e7c17">hash</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get unique hash value (valid only per runtime).  <a href="#5a1570365678bb21087aca36830e7c17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#f703e7e8545dda1a3e6e0b93946b8a93">changeAssign</a> (<a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Substitute variable with index idx by its complement and assign.  <a href="#f703e7e8545dda1a3e6e0b93946b8a93"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#9ba8d80b06698f2de253226d95ec0e02">change</a> (<a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Substitute variable with index idx by its complement.  <a href="#9ba8d80b06698f2de253226d95ec0e02"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#1d5bda51e3183bb389d8bbc605f69f83">reducibleBy</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test for reducibility.  <a href="#1d5bda51e3183bb389d8bbc605f69f83"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#b0955b0c04925ac470c5f97f67abe3f2">reducibleBy</a> (const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;rhs) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#983c8221113525a285b542407fe43ec0">comp_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#2ece9c4978232a3c6eb84546bb9dbedf">compare</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare with rhs monomial and return comparision code.  <a href="#2ece9c4978232a3c6eb84546bb9dbedf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#a909b9fa318d12c486fd8ea67f245e8d">LCMDeg</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Degree of the least common multiple.  <a href="#a909b9fa318d12c486fd8ea67f245e8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#e9a4dff344950879e7bc89752a3df9dc">LCMAssign</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute theleast common multiple and assign.  <a href="#e9a4dff344950879e7bc89752a3df9dc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#5266d92b608e44adcb45b061d81601b5">LCM</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the greatest common divisor.  <a href="#5266d92b608e44adcb45b061d81601b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#4b25d2af1d1f338d0a5a8d11b22db43a">GCDAssign</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the greatest common divisor and assign.  <a href="#4b25d2af1d1f338d0a5a8d11b22db43a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#1d5c778300c8058b0234b5739183a9c2">GCD</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the greatest common divisor.  <a href="#1d5c778300c8058b0234b5739183a9c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classpolybori_1_1CDDInterface.html">dd_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#4884899505316ffe516f66256743b4e1">diagram</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read-only access to internal decision diagramm structure.  <a href="#4884899505316ffe516f66256743b4e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleSet.html">set_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#42c6a4a067541423960b3f4d229bbc3b">set</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get corresponding subset of of the powerset over all variables.  <a href="#42c6a4a067541423960b3f4d229bbc3b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#c55c858f07aca383a710e888a17cde6c">popFirst</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the first variables from monomial.  <a href="#c55c858f07aca383a710e888a17cde6c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#6bc6f01b5d0cd777a76095ea9111ad8c">firstVariable</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first variable in monomial.  <a href="#6bc6f01b5d0cd777a76095ea9111ad8c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#d78df1d46dae6f71c05f5dba0861b22c">firstIndex</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first index in monomial.  <a href="#d78df1d46dae6f71c05f5dba0861b22c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#e0d640f9ebc821179c772515b1dbd54b">ring</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access ring, where this belongs to.  <a href="#e0d640f9ebc821179c772515b1dbd54b"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Arithmetical operations</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#da042498623ed45738da001db5de9304">operator*=</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#b99a4399e1cd82623de2144c7cf0f855">operator/=</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#775c52201df38bd7e154e8bc4dd1e7e3">operator*=</a> (const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#79b0ecbed11c24afc83323cc94fe328e">operator/=</a> (const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;)</td></tr>

<tr><td colspan="2"><div class="groupHeader">Logical operations</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#755aba27c181441ad2ea548f5036e761">operator==</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;rhs) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#9485154173cb1cdcba46c8624b115439">operator!=</a> (const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;rhs) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#1f63f9f398387cfe6f47c6ba43138bd3">operator==</a> (<a class="el" href="classpolybori_1_1BooleConstant.html">constant_type</a> rhs) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#00d8f29619ac88f9544688e8e1ef60ba">operator!=</a> (<a class="el" href="classpolybori_1_1BooleConstant.html">constant_type</a> rhs) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#0b49d4b1f7700056498a631fd3335457">isOne</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#d0982eab817d9137c41b7ada2bbdc021">isConstant</a> () 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_1CDDInterface.html">dd_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#dc63e7b0e79d566c42bd047aeb2f56cf">internalDiagram</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to internal decision diagramm structure.  <a href="#dc63e7b0e79d566c42bd047aeb2f56cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#a307490c6b340f1b73c520e79dc5edc9">BooleMonomial</a> (const <a class="el" href="classpolybori_1_1BooleSet.html">set_type</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct from decision diagram.  <a href="#a307490c6b340f1b73c520e79dc5edc9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#e93d16556ee01649fe5d050f4fdeb0d1">CDDOperations</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#62ad52f8c65f749d2b2e25c48ca81ef3">COrderBase</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BooleMonomial.html#cd03c4a7738297292b27c2c28e3dbd04">CTermGeneratorBase</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is just a wrapper for using variables from <code>cudd's</code> decicion diagram. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd><code><a class="el" href="classpolybori_1_1BooleMonomial.html" title="This class is just a wrapper for using variables from cudd&#39;s decicion diagram...">BooleMonomial</a></code> is actually a specialization of <code><a class="el" href="classpolybori_1_1BoolePolynomial.html" title="This class wraps the underlying decicion diagram type and defines the necessary operations...">BoolePolynomial</a></code> with a special constructor. </dd></dl>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="e7eee5761fd8b835cea774f8f769c71d"></a><!-- doxytag: member="polybori::BooleMonomial::bool_type" ref="e7eee5761fd8b835cea774f8f769c71d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#ae2c602841648d0b2b240eb3b612111e">CTypes::bool_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">polybori::BooleMonomial::bool_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="983c8221113525a285b542407fe43ec0"></a><!-- doxytag: member="polybori::BooleMonomial::comp_type" ref="983c8221113525a285b542407fe43ec0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#c65df1421059e92da32ec24121d4192f">CTypes::comp_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#983c8221113525a285b542407fe43ec0">polybori::BooleMonomial::comp_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="05886e7e9eacdf4d911f5b59fbe42925"></a><!-- doxytag: member="polybori::BooleMonomial::const_iterator" ref="05886e7e9eacdf4d911f5b59fbe42925" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddFirstIter.html">poly_type::first_iterator</a> <a class="el" href="classpolybori_1_1CCuddFirstIter.html">polybori::BooleMonomial::const_iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Access to iterator over indices. 
<p>

</div>
</div><p>
<a class="anchor" name="c42b1ece9b517f538311a4d97479cc7b"></a><!-- doxytag: member="polybori::BooleMonomial::constant_type" ref="c42b1ece9b517f538311a4d97479cc7b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleConstant.html">poly_type::constant_type</a> <a class="el" href="classpolybori_1_1BooleConstant.html">polybori::BooleMonomial::constant_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type of Boolean constants. 
<p>

</div>
</div><p>
<a class="anchor" name="b8ef0078862a39f44536fbddf145e1c3"></a><!-- doxytag: member="polybori::BooleMonomial::dd_type" ref="b8ef0078862a39f44536fbddf145e1c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1CDDInterface.html">CTypes::dd_type</a> <a class="el" href="classpolybori_1_1CDDInterface.html">polybori::BooleMonomial::dd_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="3076cdbc8783193bb280dd51f2669fc3"></a><!-- doxytag: member="polybori::BooleMonomial::easy_equality_property" ref="3076cdbc8783193bb280dd51f2669fc3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1valid__tag.html">dd_type::easy_equality_property</a> <a class="el" href="structpolybori_1_1valid__tag.html">polybori::BooleMonomial::easy_equality_property</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The property whether the equality check is easy is inherited from dd_type. 
<p>

</div>
</div><p>
<a class="anchor" name="75c4211bbb64be56dcae3fd7a9a208d8"></a><!-- doxytag: member="polybori::BooleMonomial::exp_type" ref="75c4211bbb64be56dcae3fd7a9a208d8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleExponent.html">poly_type::exp_type</a> <a class="el" href="classpolybori_1_1BooleExponent.html">polybori::BooleMonomial::exp_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type of exponent vector. 
<p>

</div>
</div><p>
<a class="anchor" name="c0db090f68262d440492e79d299572cd"></a><!-- doxytag: member="polybori::BooleMonomial::hash_type" ref="c0db090f68262d440492e79d299572cd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#eb07372fd3478864402ba0e30b211d5e">CTypes::hash_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">polybori::BooleMonomial::hash_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5098408fbdcf7bac7d818be20a98e3c0"></a><!-- doxytag: member="polybori::BooleMonomial::idx_map_type" ref="5098408fbdcf7bac7d818be20a98e3c0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>, <a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>, <a class="el" href="classpolybori_1_1symmetric__composition.html">symmetric_composition</a>&lt; std::less&lt;<a class="el" href="classpolybori_1_1CCuddNavigator.html">poly_type::navigator</a>&gt;, <a class="el" href="classpolybori_1_1navigates.html">navigates</a>&lt;<a class="el" href="classpolybori_1_1BoolePolynomial.html">poly_type</a>&gt; &gt; &gt; <a class="el" href="classpolybori_1_1BooleMonomial.html#5098408fbdcf7bac7d818be20a98e3c0">polybori::BooleMonomial::idx_map_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for index maps. 
<p>

</div>
</div><p>
<a class="anchor" name="5aa2051b32664928bac19cf6e89c4607"></a><!-- doxytag: member="polybori::BooleMonomial::idx_type" ref="5aa2051b32664928bac19cf6e89c4607" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#8c170014c637d9ecf5950063ca30ef46">CTypes::idx_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">polybori::BooleMonomial::idx_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="fe35ca1ed1a818918f5201bddc533cb4"></a><!-- doxytag: member="polybori::BooleMonomial::integer_type" ref="fe35ca1ed1a818918f5201bddc533cb4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#54250b7e59ca3f754d1c1d52b07c339a">CTypes::integer_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#fe35ca1ed1a818918f5201bddc533cb4">polybori::BooleMonomial::integer_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="af039ed980d944b98f5967c92f93333b"></a><!-- doxytag: member="polybori::BooleMonomial::ostream_type" ref="af039ed980d944b98f5967c92f93333b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#e146a837e32358883da648ea0f83004d">CTypes::ostream_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#af039ed980d944b98f5967c92f93333b">polybori::BooleMonomial::ostream_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0c2c73cbcf10863817c6751a0578c306"></a><!-- doxytag: member="polybori::BooleMonomial::poly_type" ref="0c2c73cbcf10863817c6751a0578c306" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BoolePolynomial.html">BoolePolynomial</a> <a class="el" href="classpolybori_1_1BoolePolynomial.html">polybori::BooleMonomial::poly_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type of Boolean polynomials. 
<p>

</div>
</div><p>
<a class="anchor" name="217f482ef03ea81b4c6afc9357e20a73"></a><!-- doxytag: member="polybori::BooleMonomial::ring_type" ref="217f482ef03ea81b4c6afc9357e20a73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleRing.html">poly_type::ring_type</a> <a class="el" href="classpolybori_1_1BooleRing.html">polybori::BooleMonomial::ring_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for Boolean polynomial rings (without ordering). 
<p>

</div>
</div><p>
<a class="anchor" name="5421ea67b92c7b530e8d69831df559fe"></a><!-- doxytag: member="polybori::BooleMonomial::self" ref="5421ea67b92c7b530e8d69831df559fe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> <a class="el" href="classpolybori_1_1BooleMonomial.html">polybori::BooleMonomial::self</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generic access to current type. 
<p>

</div>
</div><p>
<a class="anchor" name="d808fd10e3adf11aba1bb694d502d271"></a><!-- doxytag: member="polybori::BooleMonomial::set_type" ref="d808fd10e3adf11aba1bb694d502d271" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleSet.html">poly_type::set_type</a> <a class="el" href="classpolybori_1_1BooleSet.html">polybori::BooleMonomial::set_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type of sets of Boolean variables. 
<p>

</div>
</div><p>
<a class="anchor" name="8c6a010c64cdd814454094adaaf694a5"></a><!-- doxytag: member="polybori::BooleMonomial::size_type" ref="8c6a010c64cdd814454094adaaf694a5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#0e254f927049b57061437ac57ea5c2cd">CTypes::size_type</a> <a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">polybori::BooleMonomial::size_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b762c4c19b98631b524adb202588b6ed"></a><!-- doxytag: member="polybori::BooleMonomial::var_type" ref="b762c4c19b98631b524adb202588b6ed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1BooleVariable.html">poly_type::var_type</a> <a class="el" href="classpolybori_1_1BooleVariable.html">polybori::BooleMonomial::var_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type of Boolean variables. 
<p>

</div>
</div><p>
<a class="anchor" name="66acd739ddf0d7fdcd778e769fe3dfb0"></a><!-- doxytag: member="polybori::BooleMonomial::variable_iterator" ref="66acd739ddf0d7fdcd778e769fe3dfb0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classpolybori_1_1CVariableIter.html">CVariableIter</a>&lt;<a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a>, <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a>&gt; <a class="el" href="classpolybori_1_1CVariableIter.html">polybori::BooleMonomial::variable_iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Access to iterator over variables. 
<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="48e7b303e66ee8c7d88224a65a0ec640"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="48e7b303e66ee8c7d88224a65a0ec640" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default Constructor (Constructs monomial one of the active ring). 
<p>

</div>
</div><p>
<a class="anchor" name="5767926c75129f0a620ba5e21cc71cbe"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="5767926c75129f0a620ba5e21cc71cbe" args="(const self &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>

</div>
</div><p>
<a class="anchor" name="17b2d96950728b380d5a1654ad1f2092"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="17b2d96950728b380d5a1654ad1f2092" args="(const var_type &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct from Boolean variable. 
<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="57315945829d7b96ad2795b1ca8b8ade"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="57315945829d7b96ad2795b1ca8b8ade" args="(const exp_type &amp;rhs, const ring_type &amp;ring)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleExponent.html">exp_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ring</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct from exponent vector. 
<p>

</div>
</div><p>
<a class="anchor" name="f4e9314075413b2a306c200a9707128e"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="f4e9314075413b2a306c200a9707128e" args="(const ring_type &amp;ring)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ring</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct from given ring. 
<p>

</div>
</div><p>
<a class="anchor" name="03e88c8956221d469564421b219711d5"></a><!-- doxytag: member="polybori::BooleMonomial::~BooleMonomial" ref="03e88c8956221d469564421b219711d5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::~BooleMonomial           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

</div>
</div><p>
<a class="anchor" name="a307490c6b340f1b73c520e79dc5edc9"></a><!-- doxytag: member="polybori::BooleMonomial::BooleMonomial" ref="a307490c6b340f1b73c520e79dc5edc9" args="(const set_type &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::BooleMonomial           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleSet.html">set_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct from decision diagram. 
<p>
Construct from decision diagram 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="525ffe23d66ef5a8fcccb178f1226f12"></a><!-- doxytag: member="polybori::BooleMonomial::begin" ref="525ffe23d66ef5a8fcccb178f1226f12" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a> polybori::BooleMonomial::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration over indices. 
<p>

<p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l02078">polybori::groebner::GroebnerStrategy::addGenerator()</a>, <a class="el" href="groebner__alg_8cc_source.html#l02063">polybori::groebner::addPolynomialToReductor()</a>, <a class="el" href="BlockDegRevLexAscOrder_8cc_source.html#l00078">polybori::BlockDegRevLexAscOrder::compare()</a>, <a class="el" href="BlockDegLexOrder_8cc_source.html#l00072">polybori::BlockDegLexOrder::compare()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00256">GCDAssign()</a>, <a class="el" href="BooleExponent_8cc_source.html#l00113">polybori::BooleExponent::get()</a>, <a class="el" href="BooleSet_8cc_source.html#l00369">polybori::BooleSet::hasTermOfVariables()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00203">LCMDeg()</a>, <a class="el" href="BooleExponent_8h_source.html#l00253">polybori::BooleExponent::operator=()</a>, <a class="el" href="nf_8cc_source.html#l00884">polybori::groebner::parallel_reduce()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01517">polybori::groebner::polynomial_in_one_block()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00716">polybori::groebner::reduce_by_monom()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00796">polybori::groebner::reduce_complete()</a>, <a class="el" href="BooleExponent_8cc_source.html#l00145">polybori::BooleExponent::reducibleBy()</a>, and <a class="el" href="nf_8cc_source.html#l00821">polybori::groebner::sum_size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ba8d80b06698f2de253226d95ec0e02"></a><!-- doxytag: member="polybori::BooleMonomial::change" ref="9ba8d80b06698f2de253226d95ec0e02" args="(idx_type) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> polybori::BooleMonomial::change           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Substitute variable with index idx by its complement. 
<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="f703e7e8545dda1a3e6e0b93946b8a93"></a><!-- doxytag: member="polybori::BooleMonomial::changeAssign" ref="f703e7e8545dda1a3e6e0b93946b8a93" args="(idx_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::changeAssign           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a>&nbsp;</td>
          <td class="paramname"> <em>idx</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Substitute variable with index idx by its complement and assign. 
<p>

<p>References <a class="el" href="CDDInterface_8h_source.html#l00587">polybori::CDDInterface&lt; CuddLikeZDD &gt;::changeAssign()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00795">polybori::BoolePolynomial::internalDiagram()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

<p>Referenced by <a class="el" href="BooleMonomial_8cc_source.html#l00256">GCDAssign()</a>, and <a class="el" href="BooleMonomial_8cc_source.html#l00168">operator*=()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ece9c4978232a3c6eb84546bb9dbedf"></a><!-- doxytag: member="polybori::BooleMonomial::compare" ref="2ece9c4978232a3c6eb84546bb9dbedf" args="(const self &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#983c8221113525a285b542407fe43ec0">BooleMonomial::comp_type</a> polybori::BooleMonomial::compare           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare with rhs monomial and return comparision code. 
<p>

<p>References <a class="el" href="BooleEnv_8cc_source.html#l00085">polybori::BooleEnv::ordering()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

<p>Referenced by <a class="el" href="BooleMonomial_8h_source.html#l00442">polybori::operator&lt;()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00456">polybori::operator&lt;=()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00449">polybori::operator&gt;()</a>, and <a class="el" href="BooleMonomial_8h_source.html#l00463">polybori::operator&gt;=()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f8db3627c0fcdb60bafe6e6f25bfc3a"></a><!-- doxytag: member="polybori::BooleMonomial::deg" ref="7f8db3627c0fcdb60bafe6e6f25bfc3a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a> polybori::BooleMonomial::deg           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Degree of the monomial. 
<p>

<p>
<dl class="todo" compact><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>optimal, if stored, else much too complicated, as it will probably use cache lookups </dd></dl>

<p>Referenced by <a class="el" href="BooleMonomial_8cc_source.html#l00203">LCMDeg()</a>, <a class="el" href="nf_8cc_source.html#l00884">polybori::groebner::parallel_reduce()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00716">polybori::groebner::reduce_by_monom()</a>, and <a class="el" href="nf_8cc_source.html#l00821">polybori::groebner::sum_size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4884899505316ffe516f66256743b4e1"></a><!-- doxytag: member="polybori::BooleMonomial::diagram" ref="4884899505316ffe516f66256743b4e1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classpolybori_1_1CDDInterface.html">dd_type</a>&amp; polybori::BooleMonomial::diagram           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read-only access to internal decision diagramm structure. 
<p>

<p>Referenced by <a class="el" href="BooleSet_8cc_source.html#l00254">polybori::BooleSet::addAssign()</a>, <a class="el" href="groebner__alg_8cc_source.html#l02078">polybori::groebner::GroebnerStrategy::addGenerator()</a>, <a class="el" href="BooleSet_8cc_source.html#l00419">polybori::BooleSet::divide()</a>, <a class="el" href="BooleSet_8cc_source.html#l00425">polybori::BooleSet::divideAssign()</a>, <a class="el" href="BooleSet_8cc_source.html#l00343">polybori::BooleSet::divisorsOf()</a>, <a class="el" href="BooleSet_8cc_source.html#l00455">polybori::BooleSet::existAbstract()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01122">polybori::groebner::minimal_elements_internal()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01154">polybori::groebner::minimal_elements_internal2()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00315">multiples()</a>, <a class="el" href="BooleSet_8cc_source.html#l00358">polybori::BooleSet::multiplesOf()</a>, <a class="el" href="BoolePolynomial_8cc_source.html#l00607">polybori::BoolePolynomial::operator%=()</a>, <a class="el" href="BoolePolynomial_8cc_source.html#l00501">polybori::BoolePolynomial::operator*=()</a>, <a class="el" href="BoolePolynomial_8cc_source.html#l00552">polybori::BoolePolynomial::operator/=()</a>, <a class="el" href="BooleSet_8cc_source.html#l00273">polybori::BooleSet::owns()</a>, <a class="el" href="nf_8cc_source.html#l01521">polybori::groebner::red_tail_general()</a>, <a class="el" href="nf_8cc_source.html#l01584">polybori::groebner::red_tail_generic()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00716">polybori::groebner::reduce_by_monom()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l00037">polybori::groebner::GroebnerStrategy::treat_m_p_1_case()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8f2276fdfa44d2fb08b53d423be6f2b1"></a><!-- doxytag: member="polybori::BooleMonomial::divisors" ref="8f2276fdfa44d2fb08b53d423be6f2b1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleSet.html">set_type</a> polybori::BooleMonomial::divisors           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Divisors of the monomial. 
<p>

<p>Referenced by <a class="el" href="nf_8cc_source.html#l01116">polybori::groebner::LexHelper::irreducible_lead()</a>, and <a class="el" href="interpolate_8cc_source.html#l00054">polybori::groebner::variety_lex_leading_terms()</a>.</p>

</div>
</div><p>
<a class="anchor" name="144a9252492dcb1854154095e634eee5"></a><!-- doxytag: member="polybori::BooleMonomial::end" ref="144a9252492dcb1854154095e634eee5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1CCuddFirstIter.html">const_iterator</a> polybori::BooleMonomial::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finish iteration over indices. 
<p>

<p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l02078">polybori::groebner::GroebnerStrategy::addGenerator()</a>, <a class="el" href="BlockDegRevLexAscOrder_8cc_source.html#l00078">polybori::BlockDegRevLexAscOrder::compare()</a>, <a class="el" href="BlockDegLexOrder_8cc_source.html#l00072">polybori::BlockDegLexOrder::compare()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00256">GCDAssign()</a>, <a class="el" href="BooleExponent_8cc_source.html#l00113">polybori::BooleExponent::get()</a>, <a class="el" href="BooleSet_8cc_source.html#l00369">polybori::BooleSet::hasTermOfVariables()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00203">LCMDeg()</a>, <a class="el" href="BooleExponent_8h_source.html#l00253">polybori::BooleExponent::operator=()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01517">polybori::groebner::polynomial_in_one_block()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00716">polybori::groebner::reduce_by_monom()</a>, <a class="el" href="BooleExponent_8cc_source.html#l00145">polybori::BooleExponent::reducibleBy()</a>, and <a class="el" href="nf_8cc_source.html#l00821">polybori::groebner::sum_size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7987bd65a9aa41fb00300112c94dac70"></a><!-- doxytag: member="polybori::BooleMonomial::exp" ref="7987bd65a9aa41fb00300112c94dac70" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleExponent.html">BooleMonomial::exp_type</a> polybori::BooleMonomial::exp           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get exponent vector. 
<p>

<p>References <a class="el" href="BooleExponent_8cc_source.html#l00113">polybori::BooleExponent::get()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

<p>Referenced by <a class="el" href="nf_8cc_source.html#l00199">polybori::groebner::nf3()</a>, <a class="el" href="nf_8cc_source.html#l00286">polybori::groebner::nf3_degree_order()</a>, <a class="el" href="nf_8cc_source.html#l00226">polybori::groebner::nf3_lexbuckets()</a>, <a class="el" href="nf_8cc_source.html#l00260">polybori::groebner::nf3_no_deg_growth()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00678">polybori::groebner::PolyEntry::PolyEntry()</a>, and <a class="el" href="randomset_8cc_source.html#l00015">polybori::groebner::random_set_using_generator()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d78df1d46dae6f71c05f5dba0861b22c"></a><!-- doxytag: member="polybori::BooleMonomial::firstIndex" ref="d78df1d46dae6f71c05f5dba0861b22c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#5aa2051b32664928bac19cf6e89c4607">idx_type</a> polybori::BooleMonomial::firstIndex           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get first index in monomial. 
<p>

<p>Referenced by <a class="el" href="BooleMonomial_8cc_source.html#l00354">firstVariable()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6bc6f01b5d0cd777a76095ea9111ad8c"></a><!-- doxytag: member="polybori::BooleMonomial::firstVariable" ref="6bc6f01b5d0cd777a76095ea9111ad8c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleVariable.html">BooleMonomial::var_type</a> polybori::BooleMonomial::firstVariable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get first variable in monomial. 
<p>

<p>References <a class="el" href="BooleMonomial_8h_source.html#l00383">firstIndex()</a>, <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, and <a class="el" href="BooleMonomial_8h_source.html#l00389">ring()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1d5c778300c8058b0234b5739183a9c2"></a><!-- doxytag: member="polybori::BooleMonomial::GCD" ref="1d5c778300c8058b0234b5739183a9c2" args="(const self &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> polybori::BooleMonomial::GCD           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the greatest common divisor. 
<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

<p>Referenced by <a class="el" href="BooleMonomial_8h_source.html#l00471">polybori::GCD()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00777">polybori::groebner::reduce_by_binom()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l00796">polybori::groebner::reduce_complete()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b25d2af1d1f338d0a5a8d11b22db43a"></a><!-- doxytag: member="polybori::BooleMonomial::GCDAssign" ref="4b25d2af1d1f338d0a5a8d11b22db43a" args="(const self &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::GCDAssign           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the greatest common divisor and assign. 
<p>

<p>References <a class="el" href="BoolePolynomial_8cc_source.html#l00960">polybori::BoolePolynomial::begin()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00276">begin()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00124">changeAssign()</a>, <a class="el" href="BoolePolynomial_8cc_source.html#l00968">polybori::BoolePolynomial::end()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00279">end()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00607">polybori::BoolePolynomial::isOne()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="5a1570365678bb21087aca36830e7c17"></a><!-- doxytag: member="polybori::BooleMonomial::hash" ref="5a1570365678bb21087aca36830e7c17" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">hash_type</a> polybori::BooleMonomial::hash           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get unique hash value (valid only per runtime). 
<p>

<p>Referenced by <a class="el" href="groebner__alg_8h_source.html#l00097">polybori::groebner::MonomialHasher::operator()()</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc63e7b0e79d566c42bd047aeb2f56cf"></a><!-- doxytag: member="polybori::BooleMonomial::internalDiagram" ref="dc63e7b0e79d566c42bd047aeb2f56cf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1CDDInterface.html">dd_type</a>&amp; polybori::BooleMonomial::internalDiagram           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Access to internal decision diagramm structure. 
<p>

</div>
</div><p>
<a class="anchor" name="d0982eab817d9137c41b7ada2bbdc021"></a><!-- doxytag: member="polybori::BooleMonomial::isConstant" ref="d0982eab817d9137c41b7ada2bbdc021" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::isConstant           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0b49d4b1f7700056498a631fd3335457"></a><!-- doxytag: member="polybori::BooleMonomial::isOne" ref="0b49d4b1f7700056498a631fd3335457" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::isOne           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5266d92b608e44adcb45b061d81601b5"></a><!-- doxytag: member="polybori::BooleMonomial::LCM" ref="5266d92b608e44adcb45b061d81601b5" args="(const self &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> polybori::BooleMonomial::LCM           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the greatest common divisor. 
<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

<p>Referenced by <a class="el" href="BooleMonomial_8h_source.html#l00478">polybori::LCM()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e9a4dff344950879e7bc89752a3df9dc"></a><!-- doxytag: member="polybori::BooleMonomial::LCMAssign" ref="e9a4dff344950879e7bc89752a3df9dc" args="(const self &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::LCMAssign           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute theleast common multiple and assign. 
<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="a909b9fa318d12c486fd8ea67f245e8d"></a><!-- doxytag: member="polybori::BooleMonomial::LCMDeg" ref="a909b9fa318d12c486fd8ea67f245e8d" args="(const self &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">BooleMonomial::size_type</a> polybori::BooleMonomial::LCMDeg           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Degree of the least common multiple. 
<p>

<p>References <a class="el" href="BooleMonomial_8h_source.html#l00276">begin()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00292">deg()</a>, <a class="el" href="BooleMonomial_8h_source.html#l00279">end()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00607">polybori::BoolePolynomial::isOne()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="1ab3ea493b684ea8f2c475a2c798fb28"></a><!-- doxytag: member="polybori::BooleMonomial::multiples" ref="1ab3ea493b684ea8f2c475a2c798fb28" args="(const self &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleSet.html">BooleMonomial::set_type</a> polybori::BooleMonomial::multiples           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>monom</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
multiples of the monomial wrt. given monomial 
<p>

<p>References <a class="el" href="BooleMonomial_8h_source.html#l00367">diagram()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00773">polybori::BoolePolynomial::diagram()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>.</p>

</div>
</div><p>
<a class="anchor" name="32443f002de79bb218a7f566dfd7086f"></a><!-- doxytag: member="polybori::BooleMonomial::operator const BoolePolynomial &amp;" ref="32443f002de79bb218a7f566dfd7086f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">polybori::BooleMonomial::operator const <a class="el" href="classpolybori_1_1BoolePolynomial.html">BoolePolynomial</a> &amp;           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Casting operator. 
<p>

</div>
</div><p>
<a class="anchor" name="00d8f29619ac88f9544688e8e1ef60ba"></a><!-- doxytag: member="polybori::BooleMonomial::operator!=" ref="00d8f29619ac88f9544688e8e1ef60ba" args="(constant_type rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::operator!=           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpolybori_1_1BooleConstant.html">constant_type</a>&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="9485154173cb1cdcba46c8624b115439"></a><!-- doxytag: member="polybori::BooleMonomial::operator!=" ref="9485154173cb1cdcba46c8624b115439" args="(const self &amp;rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="775c52201df38bd7e154e8bc4dd1e7e3"></a><!-- doxytag: member="polybori::BooleMonomial::operator*=" ref="775c52201df38bd7e154e8bc4dd1e7e3" args="(const var_type &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::operator*=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="BooleMonomial_8cc_source.html#l00124">changeAssign()</a>, <a class="el" href="BooleVariable_8h_source.html#l00151">polybori::BooleVariable::index()</a>, <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, and <a class="el" href="BooleMonomial_8h_source.html#l00344">reducibleBy()</a>.</p>

</div>
</div><p>
<a class="anchor" name="da042498623ed45738da001db5de9304"></a><!-- doxytag: member="polybori::BooleMonomial::operator*=" ref="da042498623ed45738da001db5de9304" args="(const self &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::operator*=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="BoolePolynomial_8h_source.html#l00795">polybori::BoolePolynomial::internalDiagram()</a>, <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, and <a class="el" href="CDDInterface_8h_source.html#l00553">polybori::CDDInterface&lt; CuddLikeZDD &gt;::unateProductAssign()</a>.</p>

</div>
</div><p>
<a class="anchor" name="79b0ecbed11c24afc83323cc94fe328e"></a><!-- doxytag: member="polybori::BooleMonomial::operator/=" ref="79b0ecbed11c24afc83323cc94fe328e" args="(const var_type &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::operator/=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="BooleVariable_8h_source.html#l00151">polybori::BooleVariable::index()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00795">polybori::BoolePolynomial::internalDiagram()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, <a class="el" href="pbori__defs_8h_source.html#l00386">polybori::CErrorEnums::monomial_zero</a>, <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, <a class="el" href="CDDInterface_8h_source.html#l00575">polybori::CDDInterface&lt; CuddLikeZDD &gt;::subset1Assign()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00175">UNLIKELY</a>.</p>

</div>
</div><p>
<a class="anchor" name="b99a4399e1cd82623de2144c7cf0f855"></a><!-- doxytag: member="polybori::BooleMonomial::operator/=" ref="b99a4399e1cd82623de2144c7cf0f855" args="(const self &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">BooleMonomial</a> &amp; polybori::BooleMonomial::operator/=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, <a class="el" href="pbori__defs_8h_source.html#l00386">polybori::CErrorEnums::monomial_zero</a>, <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, and <a class="el" href="pbori__defs_8h_source.html#l00175">UNLIKELY</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f63f9f398387cfe6f47c6ba43138bd3"></a><!-- doxytag: member="polybori::BooleMonomial::operator==" ref="1f63f9f398387cfe6f47c6ba43138bd3" args="(constant_type rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::operator==           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpolybori_1_1BooleConstant.html">constant_type</a>&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="755aba27c181441ad2ea548f5036e761"></a><!-- doxytag: member="polybori::BooleMonomial::operator==" ref="755aba27c181441ad2ea548f5036e761" args="(const self &amp;rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c55c858f07aca383a710e888a17cde6c"></a><!-- doxytag: member="polybori::BooleMonomial::popFirst" ref="c55c858f07aca383a710e888a17cde6c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html">self</a>&amp; polybori::BooleMonomial::popFirst           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the first variables from monomial. 
<p>

</div>
</div><p>
<a class="anchor" name="b0955b0c04925ac470c5f97f67abe3f2"></a><!-- doxytag: member="polybori::BooleMonomial::reducibleBy" ref="b0955b0c04925ac470c5f97f67abe3f2" args="(const var_type &amp;rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">BooleMonomial::bool_type</a> polybori::BooleMonomial::reducibleBy           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleVariable.html">var_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="pbori__defs_8h_source.html#l00226">PBORI_TRACE_FUNC</a>, and <a class="el" href="BoolePolynomial_8h_source.html#l00905">polybori::BoolePolynomial::reducibleBy()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1d5bda51e3183bb389d8bbc605f69f83"></a><!-- doxytag: member="polybori::BooleMonomial::reducibleBy" ref="1d5bda51e3183bb389d8bbc605f69f83" args="(const self &amp;rhs) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#e7eee5761fd8b835cea774f8f769c71d">bool_type</a> polybori::BooleMonomial::reducibleBy           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1BooleMonomial.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test for reducibility. 
<p>

<p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l01122">polybori::groebner::minimal_elements_internal()</a>, <a class="el" href="BooleMonomial_8cc_source.html#l00168">operator*=()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l01953">polybori::groebner::GroebnerStrategy::treatNormalPairs()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0d640f9ebc821179c772515b1dbd54b"></a><!-- doxytag: member="polybori::BooleMonomial::ring" ref="e0d640f9ebc821179c772515b1dbd54b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleRing.html">ring_type</a> polybori::BooleMonomial::ring           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Access ring, where this belongs to. 
<p>

<p>Referenced by <a class="el" href="BooleMonomial_8cc_source.html#l00354">firstVariable()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l01953">polybori::groebner::GroebnerStrategy::treatNormalPairs()</a>.</p>

</div>
</div><p>
<a class="anchor" name="42c6a4a067541423960b3f4d229bbc3b"></a><!-- doxytag: member="polybori::BooleMonomial::set" ref="42c6a4a067541423960b3f4d229bbc3b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleSet.html">set_type</a> polybori::BooleMonomial::set           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get corresponding subset of of the powerset over all variables. 
<p>

</div>
</div><p>
<a class="anchor" name="f41263f68e4c4e25530132ee69cce943"></a><!-- doxytag: member="polybori::BooleMonomial::size" ref="f41263f68e4c4e25530132ee69cce943" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#8c6a010c64cdd814454094adaaf694a5">size_type</a> polybori::BooleMonomial::size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Size of the exponents. 
<p>

<p>Referenced by <a class="el" href="BooleExponent_8cc_source.html#l00113">polybori::BooleExponent::get()</a>, and <a class="el" href="BooleExponent_8h_source.html#l00253">polybori::BooleExponent::operator=()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2d69a19345d4a07f5c791cfab4ad6a16"></a><!-- doxytag: member="polybori::BooleMonomial::stableHash" ref="2d69a19345d4a07f5c791cfab4ad6a16" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1BooleMonomial.html#c0db090f68262d440492e79d299572cd">hash_type</a> polybori::BooleMonomial::stableHash           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hash value of the monomial. 
<p>

<p>References <a class="el" href="pbori__routines__hash_8h_source.html#l00095">polybori::stable_first_hash_range()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d419387f1feda4d1bc59be0aad915c14"></a><!-- doxytag: member="polybori::BooleMonomial::variableBegin" ref="d419387f1feda4d1bc59be0aad915c14" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1CVariableIter.html">variable_iterator</a> polybori::BooleMonomial::variableBegin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration over variables. 
<p>

</div>
</div><p>
<a class="anchor" name="aea55681119e64b96e08223cbf961a2e"></a><!-- doxytag: member="polybori::BooleMonomial::variableEnd" ref="aea55681119e64b96e08223cbf961a2e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1CVariableIter.html">variable_iterator</a> polybori::BooleMonomial::variableEnd           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finish iteration over variables. 
<p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="e93d16556ee01649fe5d050f4fdeb0d1"></a><!-- doxytag: member="polybori::BooleMonomial::CDDOperations" ref="e93d16556ee01649fe5d050f4fdeb0d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classpolybori_1_1CDDOperations.html">CDDOperations</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="62ad52f8c65f749d2b2e25c48ca81ef3"></a><!-- doxytag: member="polybori::BooleMonomial::COrderBase" ref="62ad52f8c65f749d2b2e25c48ca81ef3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classpolybori_1_1COrderBase.html">COrderBase</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="cd03c4a7738297292b27c2c28e3dbd04"></a><!-- doxytag: member="polybori::BooleMonomial::CTermGeneratorBase" ref="cd03c4a7738297292b27c2c28e3dbd04" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCTermGeneratorBase.html">CTermGeneratorBase</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="BooleMonomial_8h_source.html">BooleMonomial.h</a><li><a class="el" href="BooleMonomial_8cc.html">BooleMonomial.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:00 2009 for PolyBoRi by&nbsp;
<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>