<!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: BoolePolynomial.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>BoolePolynomial.h File Reference</h1><code>#include <vector></code><br> <code>#include <map></code><br> <code>#include <algorithm></code><br> <code>#include "<a class="el" href="BooleRing_8h_source.html">BooleRing.h</a>"</code><br> <code>#include "<a class="el" href="CDDInterface_8h_source.html">CDDInterface.h</a>"</code><br> <code>#include "<a class="el" href="CTermIter_8h_source.html">CTermIter.h</a>"</code><br> <code>#include "<a class="el" href="CBidirectTermIter_8h_source.html">CBidirectTermIter.h</a>"</code><br> <code>#include "<a class="el" href="pbori__func_8h_source.html">pbori_func.h</a>"</code><br> <code>#include "<a class="el" href="pbori__tags_8h_source.html">pbori_tags.h</a>"</code><br> <code>#include "<a class="el" href="BooleSet_8h_source.html">BooleSet.h</a>"</code><br> <code>#include "<a class="el" href="BooleConstant_8h_source.html">BooleConstant.h</a>"</code><br> <p> <a href="BoolePolynomial_8h_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1BoolePolynomial.html">polybori::BoolePolynomial</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class wraps the underlying decicion diagram type and defines the necessary operations. <a href="classpolybori_1_1BoolePolynomial.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html">polybori</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="BoolePolynomial_8h.html#89cc9efaf448e3809694f2ac9e18547f">PBORI_RHS_MULT</a>(type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiplication with other left-hand side type. <a href="#89cc9efaf448e3809694f2ac9e18547f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="BoolePolynomial_8h.html#e8f34d8bcabb02a153156e25683f04b3">PBORI_LHS_MULT</a>(type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiplication with other left-hand side type. <a href="#e8f34d8bcabb02a153156e25683f04b3"></a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#e62fab76df76c06c54ff1f5c0603cd0c">polybori::operator+</a> (const BoolePolynomial &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Addition operation. <a href="#e62fab76df76c06c54ff1f5c0603cd0c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#b9b2aa64c9f304e0de77c73683f6811d">polybori::operator+</a> (const BoolePolynomial &lhs, BooleConstant rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Addition operation. <a href="#b9b2aa64c9f304e0de77c73683f6811d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#46556ccce3663e65ad0b316a73ec88a5">polybori::operator+</a> (BooleConstant lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Addition operation. <a href="#46556ccce3663e65ad0b316a73ec88a5"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class RHSType > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#f7abc8f06b9fdaf612832b6504b46374">polybori::operator-</a> (const BoolePolynomial &lhs, const RHSType &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subtraction operation. <a href="#f7abc8f06b9fdaf612832b6504b46374"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#2a594442a6e8f1c0d2347239a7c1a77c">polybori::operator-</a> (const BooleConstant &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subtraction operation with constant right-hand-side. <a href="#2a594442a6e8f1c0d2347239a7c1a77c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#59a9344bd6ef8e479b98dc45482ae115">polybori::operator*</a> (const BoolePolynomial &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#9d747a0204332207ce235f13d887f30a">polybori::operator*</a> (const BoolePolynomial &lhs, const BooleMonomial &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#05f18c6f9e9ad5fff0e111840222d027">polybori::operator*</a> (const BoolePolynomial &lhs, const BooleExponent &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#c892571ed262d55aa2deafacee8488b5">polybori::operator*</a> (const BoolePolynomial &lhs, const BooleConstant &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#7b71117bac1d4bcf85820f9cfa18b7f8">polybori::operator*</a> (const BooleMonomial &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#ae0da32c8a20003efa9a52db450877a5">polybori::operator*</a> (const BooleExponent &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#6573aba02c5d43be8241dbba7ad42781">polybori::operator*</a> (const BooleConstant &lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class RHSType > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#87f5b74f3d3c8a0899acc9b3149eedd4">polybori::operator/</a> (const BoolePolynomial &lhs, const RHSType &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Division by monomial (skipping remainder). <a href="#87f5b74f3d3c8a0899acc9b3149eedd4"></a><br></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class RHSType > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">BoolePolynomial </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#1324a6016eac89392f2de095b0ee977d">polybori::operator%</a> (const BoolePolynomial &lhs, const RHSType &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Modulus monomial (division remainder). <a href="#1324a6016eac89392f2de095b0ee977d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial::bool_type </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#d7b7beadb4e8021c43d72dd8e851d27c">polybori::operator==</a> (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Equality check (with constant lhs). <a href="#d7b7beadb4e8021c43d72dd8e851d27c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial::bool_type </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#9fc517d3020e8a2b95bcfccee4c20fb2">polybori::operator!=</a> (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Nonquality check (with constant lhs). <a href="#9fc517d3020e8a2b95bcfccee4c20fb2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">BoolePolynomial::ostream_type & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#d90da1454ce8ed6cfe71f21bcf7ab2c2">polybori::operator<<</a> (BoolePolynomial::ostream_type &, const BoolePolynomial &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Stream output operator. <a href="#d90da1454ce8ed6cfe71f21bcf7ab2c2"></a><br></td></tr> </table> <hr><h2>Detailed Description</h2> <dl class="author" compact><dt><b>Author:</b></dt><dd>Alexander Dreyer </dd></dl> <dl class="date" compact><dt><b>Date:</b></dt><dd>2006-03-10</dd></dl> This file carries the definition of class <code>BoolePolynomial</code>, which can be used to access the boolean polynomials with respect to the polynomial ring, which was active on initialization time.<p> <dl class="user" compact><dt><b>Copyright:</b></dt><dd>(c) 2006 by The PolyBoRi Team </dd></dl> <hr><h2>Define Documentation</h2> <a class="anchor" name="e8f34d8bcabb02a153156e25683f04b3"></a><!-- doxytag: member="BoolePolynomial.h::PBORI_LHS_MULT" ref="e8f34d8bcabb02a153156e25683f04b3" args="(type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PBORI_LHS_MULT </td> <td>(</td> <td class="paramtype">type </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">inline</span> BoolePolynomial \ <a class="code" href="namespacepolybori.html#77e199828cafa5b365a0bd01d8ba7e02" title="Multiplication of monomials.">operator*</a>(<span class="keyword">const</span> type& lhs, <span class="keyword">const</span> BoolePolynomial& rhs) { <span class="keywordflow">return</span> rhs * lhs; } </pre></div>Multiplication with other left-hand side type. <p> </div> </div><p> <a class="anchor" name="89cc9efaf448e3809694f2ac9e18547f"></a><!-- doxytag: member="BoolePolynomial.h::PBORI_RHS_MULT" ref="89cc9efaf448e3809694f2ac9e18547f" args="(type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PBORI_RHS_MULT </td> <td>(</td> <td class="paramtype">type </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">inline</span> BoolePolynomial \ <a class="code" href="namespacepolybori.html#77e199828cafa5b365a0bd01d8ba7e02" title="Multiplication of monomials.">operator*</a>(<span class="keyword">const</span> BoolePolynomial& lhs, <span class="keyword">const</span> type& rhs) { \ <span class="keywordflow">return</span> BoolePolynomial(lhs) *= rhs; } </pre></div>Multiplication with other left-hand side type. <p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:30:59 2009 for PolyBoRi by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>