<!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::groebner::PairManager Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacepolybori.html">polybori</a>::<a class="el" href="namespacepolybori_1_1groebner.html">groebner</a>::<a class="el" href="classpolybori_1_1groebner_1_1PairManager.html">PairManager</a> </div> </div> <div class="contents"> <h1>polybori::groebner::PairManager Class Reference</h1><!-- doxytag: class="polybori::groebner::PairManager" --><code>#include <<a class="el" href="groebner__alg_8h_source.html">groebner_alg.h</a>></code> <p> <p> <a href="classpolybori_1_1groebner_1_1PairManager-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 std::priority_queue<br class="typebreak"> < <a class="el" href="classpolybori_1_1groebner_1_1PairE.html">Pair</a>, std::vector< <a class="el" href="classpolybori_1_1groebner_1_1PairE.html">PairE</a> ><br class="typebreak"> , <a class="el" href="classpolybori_1_1groebner_1_1PairECompare.html">PairECompare</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#956845b7050da9a2119c94ff3ad8eba9">queue_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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#73bba50d90c6895cd4d058afed450802">PairManager</a> (<a class="el" href="classpolybori_1_1groebner_1_1GroebnerStrategy.html">GroebnerStrategy</a> &<a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#ef53fc32835260fb023b40d411a05b41">strat</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#c99cf82b8041c4ae04357c854727ff70">appendHiddenGenerators</a> (std::vector< <a class="el" href="classpolybori_1_1BoolePolynomial.html">Polynomial</a> > &vec)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#9667a31ace7d7680dec7e84129c998c9">introducePair</a> (const <a class="el" href="classpolybori_1_1groebner_1_1PairE.html">Pair</a> &p)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1BoolePolynomial.html">Polynomial</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#dea02e6e08ac61ec841919831774bf36">nextSpoly</a> (const <a class="el" href="namespacepolybori_1_1groebner.html#a7fdf11fbb41081db9e8f24b850ab24b">PolyEntryVector</a> &gen)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#5bc0816c7ddf5dbb63c4533b7df919d0">pairSetEmpty</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#7e9c6246f309fb4de103f49e99095463">cleanTopByChainCriterion</a> ()</td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1groebner_1_1PairStatusSet.html">PairStatusSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#7f2c62c59b336c92363d7518620e8766">status</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1groebner_1_1GroebnerStrategy.html">GroebnerStrategy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#ef53fc32835260fb023b40d411a05b41">strat</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#956845b7050da9a2119c94ff3ad8eba9">queue_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#bc2ea35b6e4e675326ae2028fb090155">queue</a></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#021a49d3d99e8048b683e6f40ed2db8d">replacePair</a> (int &i, int &j)</td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="956845b7050da9a2119c94ff3ad8eba9"></a><!-- doxytag: member="polybori::groebner::PairManager::queue_type" ref="956845b7050da9a2119c94ff3ad8eba9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::priority_queue<<a class="el" href="classpolybori_1_1groebner_1_1PairE.html">Pair</a>,std::vector<<a class="el" href="classpolybori_1_1groebner_1_1PairE.html">PairE</a>>, <a class="el" href="classpolybori_1_1groebner_1_1PairECompare.html">PairECompare</a>> <a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#956845b7050da9a2119c94ff3ad8eba9">polybori::groebner::PairManager::queue_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="73bba50d90c6895cd4d058afed450802"></a><!-- doxytag: member="polybori::groebner::PairManager::PairManager" ref="73bba50d90c6895cd4d058afed450802" args="(GroebnerStrategy &strat)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">polybori::groebner::PairManager::PairManager </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1groebner_1_1GroebnerStrategy.html">GroebnerStrategy</a> & </td> <td class="paramname"> <em>strat</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="c99cf82b8041c4ae04357c854727ff70"></a><!-- doxytag: member="polybori::groebner::PairManager::appendHiddenGenerators" ref="c99cf82b8041c4ae04357c854727ff70" args="(std::vector< Polynomial > &vec)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::groebner::PairManager::appendHiddenGenerators </td> <td>(</td> <td class="paramtype">std::vector< <a class="el" href="classpolybori_1_1BoolePolynomial.html">Polynomial</a> > & </td> <td class="paramname"> <em>vec</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="pairs_8h_source.html#l00154">polybori::groebner::PairE::data</a>, <a class="el" href="pairs_8h_source.html#l00095">polybori::groebner::DELAYED_PAIR</a>, <a class="el" href="pairs_8h_source.html#l00147">polybori::groebner::PairE::getType()</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, and <a class="el" href="groebner__alg_8h_source.html#l00087">queue</a>.</p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l02031">polybori::groebner::GroebnerStrategy::allGenerators()</a>.</p> </div> </div><p> <a class="anchor" name="7e9c6246f309fb4de103f49e99095463"></a><!-- doxytag: member="polybori::groebner::PairManager::cleanTopByChainCriterion" ref="7e9c6246f309fb4de103f49e99095463" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::groebner::PairManager::cleanTopByChainCriterion </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p> <dl class="todo" compact><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>implement this </dd></dl> <p>References <a class="el" href="groebner__alg_8h_source.html#l00144">polybori::groebner::GroebnerStrategy::chainCriterions</a>, <a class="el" href="BooleExponent_8cc_source.html#l00464">polybori::BooleExponent::divisors()</a>, <a class="el" href="BooleSet_8cc_source.html#l00306">polybori::BooleSet::expBegin()</a>, <a class="el" href="BooleSet_8cc_source.html#l00314">polybori::BooleSet::expEnd()</a>, <a class="el" href="groebner__alg_8h_source.html#l00147">polybori::groebner::GroebnerStrategy::extendedProductCriterions</a>, <a class="el" href="groebner__alg_8h_source.html#l00130">polybori::groebner::GroebnerStrategy::generators</a>, <a class="el" href="groebner__alg_8h_source.html#l00042">polybori::groebner::PairStatusSet::hasTRep()</a>, <a class="el" href="pairs_8h_source.html#l00081">polybori::groebner::VariablePairData::i</a>, <a class="el" href="pairs_8h_source.html#l00058">polybori::groebner::IJPairData::i</a>, <a class="el" href="pairs_8h_source.html#l00094">polybori::groebner::IJ_PAIR</a>, <a class="el" href="BooleSet_8h_source.html#l00378">polybori::BooleSet::intersect()</a>, <a class="el" href="pairs_8h_source.html#l00059">polybori::groebner::IJPairData::j</a>, <a class="el" href="groebner__alg_8h_source.html#l00131">polybori::groebner::GroebnerStrategy::leadingTerms</a>, <a class="el" href="groebner__alg_8h_source.html#l00201">polybori::groebner::GroebnerStrategy::log()</a>, <a class="el" href="groebner__alg_8h_source.html#l00128">polybori::groebner::GroebnerStrategy::pairs</a>, <a class="el" href="groebner__alg_8cc_source.html#l00445">pairSetEmpty()</a>, <a class="el" href="groebner__alg_8h_source.html#l00087">queue</a>, <a class="el" href="groebner__alg_8h_source.html#l00048">polybori::groebner::PairStatusSet::setToHasTRep()</a>, <a class="el" href="groebner__alg_8h_source.html#l00079">status</a>, <a class="el" href="groebner__alg_8h_source.html#l00080">strat</a>, <a class="el" href="pairs_8h_source.html#l00082">polybori::groebner::VariablePairData::v</a>, <a class="el" href="pairs_8h_source.html#l00093">polybori::groebner::VARIABLE_PAIR</a>, and <a class="el" href="groebner__alg_8h_source.html#l00145">polybori::groebner::GroebnerStrategy::variableChainCriterions</a>.</p> </div> </div><p> <a class="anchor" name="9667a31ace7d7680dec7e84129c998c9"></a><!-- doxytag: member="polybori::groebner::PairManager::introducePair" ref="9667a31ace7d7680dec7e84129c998c9" args="(const Pair &p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::groebner::PairManager::introducePair </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1groebner_1_1PairE.html">Pair</a> & </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="groebner__alg_8h_source.html#l00087">queue</a>.</p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l02390">polybori::groebner::GroebnerStrategy::addGeneratorDelayed()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01650">polybori::groebner::GroebnerStrategy::addVariablePairs()</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="dea02e6e08ac61ec841919831774bf36"></a><!-- doxytag: member="polybori::groebner::PairManager::nextSpoly" ref="dea02e6e08ac61ec841919831774bf36" args="(const PolyEntryVector &gen)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1BoolePolynomial.html">Polynomial</a> polybori::groebner::PairManager::nextSpoly </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacepolybori_1_1groebner.html#a7fdf11fbb41081db9e8f24b850ab24b">PolyEntryVector</a> & </td> <td class="paramname"> <em>gen</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="groebner__alg_8h_source.html#l00130">polybori::groebner::GroebnerStrategy::generators</a>, <a class="el" href="pairs_8h_source.html#l00081">polybori::groebner::VariablePairData::i</a>, <a class="el" href="pairs_8h_source.html#l00058">polybori::groebner::IJPairData::i</a>, <a class="el" href="pairs_8h_source.html#l00094">polybori::groebner::IJ_PAIR</a>, <a class="el" href="BoolePolynomial_8h_source.html#l00604">polybori::BoolePolynomial::isZero()</a>, <a class="el" href="pairs_8h_source.html#l00059">polybori::groebner::IJPairData::j</a>, <a class="el" href="BoolePolynomial_8cc_source.html#l00619">polybori::BoolePolynomial::lead()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00445">pairSetEmpty()</a>, <a class="el" href="groebner__alg_8h_source.html#l00087">queue</a>, <a class="el" href="groebner__alg_8h_source.html#l00139">polybori::groebner::GroebnerStrategy::r</a>, <a class="el" href="groebner__alg_8cc_source.html#l00411">replacePair()</a>, <a class="el" href="groebner__alg_8h_source.html#l00048">polybori::groebner::PairStatusSet::setToHasTRep()</a>, <a class="el" href="pbori__algorithms_8h_source.html#l00126">polybori::spoly()</a>, <a class="el" href="groebner__alg_8h_source.html#l00079">status</a>, <a class="el" href="groebner__alg_8h_source.html#l00080">strat</a>, <a class="el" href="pbori__defs_8h_source.html#l00175">UNLIKELY</a>, <a class="el" href="pairs_8h_source.html#l00082">polybori::groebner::VariablePairData::v</a>, <a class="el" href="pairs_8h_source.html#l00093">polybori::groebner::VARIABLE_PAIR</a>, and <a class="el" href="BooleRing_8h_source.html#l00106">polybori::BooleRing::zero()</a>.</p> </div> </div><p> <a class="anchor" name="5bc0816c7ddf5dbb63c4533b7df919d0"></a><!-- doxytag: member="polybori::groebner::PairManager::pairSetEmpty" ref="5bc0816c7ddf5dbb63c4533b7df919d0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool polybori::groebner::PairManager::pairSetEmpty </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="groebner__alg_8h_source.html#l00087">queue</a>.</p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l00592">cleanTopByChainCriterion()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l00451">nextSpoly()</a>.</p> </div> </div><p> <a class="anchor" name="021a49d3d99e8048b683e6f40ed2db8d"></a><!-- doxytag: member="polybori::groebner::PairManager::replacePair" ref="021a49d3d99e8048b683e6f40ed2db8d" args="(int &i, int &j)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void polybori::groebner::PairManager::replacePair </td> <td>(</td> <td class="paramtype">int & </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int & </td> <td class="paramname"> <em>j</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="BooleSet_8cc_source.html#l00343">polybori::BooleSet::divisorsOf()</a>, <a class="el" href="groebner__alg_8h_source.html#l00161">polybori::groebner::GroebnerStrategy::exp2Index</a>, <a class="el" href="BooleSet_8cc_source.html#l00306">polybori::BooleSet::expBegin()</a>, <a class="el" href="BooleSet_8cc_source.html#l00314">polybori::BooleSet::expEnd()</a>, <a class="el" href="groebner__alg_8h_source.html#l00130">polybori::groebner::GroebnerStrategy::generators</a>, <a class="el" href="groebner__alg_8h_source.html#l00042">polybori::groebner::PairStatusSet::hasTRep()</a>, <a class="el" href="groebner__alg_8h_source.html#l00131">polybori::groebner::GroebnerStrategy::leadingTerms</a>, <a class="el" href="groebner__alg_8h_source.html#l00079">status</a>, and <a class="el" href="groebner__alg_8h_source.html#l00080">strat</a>.</p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l00451">nextSpoly()</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="bc2ea35b6e4e675326ae2028fb090155"></a><!-- doxytag: member="polybori::groebner::PairManager::queue" ref="bc2ea35b6e4e675326ae2028fb090155" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#956845b7050da9a2119c94ff3ad8eba9">queue_type</a> <a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#bc2ea35b6e4e675326ae2028fb090155">polybori::groebner::PairManager::queue</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l02013">appendHiddenGenerators()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00592">cleanTopByChainCriterion()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00442">introducePair()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00451">nextSpoly()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00445">pairSetEmpty()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l02648">polybori::groebner::GroebnerStrategy::symmGB_F2()</a>.</p> </div> </div><p> <a class="anchor" name="7f2c62c59b336c92363d7518620e8766"></a><!-- doxytag: member="polybori::groebner::PairManager::status" ref="7f2c62c59b336c92363d7518620e8766" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1groebner_1_1PairStatusSet.html">PairStatusSet</a> <a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#7f2c62c59b336c92363d7518620e8766">polybori::groebner::PairManager::status</a> </td> </tr> </table> </div> <div class="memdoc"> <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#l00592">cleanTopByChainCriterion()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00451">nextSpoly()</a>, <a class="el" href="groebner__alg_8cc_source.html#l01022">polybori::groebner::HasTRepOrExtendedProductCriterion::operator()()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00580">polybori::groebner::ChainVariableCriterion::operator()()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00557">polybori::groebner::ChainCriterion::operator()()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l00411">replacePair()</a>.</p> </div> </div><p> <a class="anchor" name="ef53fc32835260fb023b40d411a05b41"></a><!-- doxytag: member="polybori::groebner::PairManager::strat" ref="ef53fc32835260fb023b40d411a05b41" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1groebner_1_1GroebnerStrategy.html">GroebnerStrategy</a>* <a class="el" href="classpolybori_1_1groebner_1_1PairManager.html#ef53fc32835260fb023b40d411a05b41">polybori::groebner::PairManager::strat</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="groebner__alg_8cc_source.html#l00592">cleanTopByChainCriterion()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00508">polybori::groebner::GroebnerStrategy::GroebnerStrategy()</a>, <a class="el" href="groebner__alg_8cc_source.html#l00451">nextSpoly()</a>, and <a class="el" href="groebner__alg_8cc_source.html#l00411">replacePair()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="groebner__alg_8h_source.html">groebner_alg.h</a><li><a class="el" href="groebner__alg_8cc.html">groebner_alg.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:04 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>