Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c5653a35bb94fee65ffe21230992c863 > files > 221

linbox-doc-1.2.1-1.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>linbox: PIR_ntl_ZZ_p 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.7.4 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">linbox</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespace_lin_box.html">LinBox</a>      </li>
      <li class="navelem"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html">PIR_ntl_ZZ_p</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">PIR_ntl_ZZ_p Class Reference<div class="ingroups"><a class="el" href="group__field.html">field</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::PIR_ntl_ZZ_p" --><!-- doxytag: inherits="LinBox::UnparametricField" -->
<p>extend Wrapper of ZZ_p from NTL.  
 <a href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#details">More...</a></p>

<p><code>#include &lt;PIR-ntl-ZZ_p.h&gt;</code></p>

<p>Inherits UnparametricField&lt; K &gt;.</p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Common Object Interface for a LinBox Field.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These methods and member types are required of all <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> fields.</p>
<p>See <a class="el" href="class_lin_box_1_1_field_archetype.html">FieldArchetype</a> for detailed specifications. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a372e01cec3ec4baa9ea342f9bc017d92"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::RandIter" ref="a372e01cec3ec4baa9ea342f9bc017d92" args="" -->
typedef <a class="el" href="class_lin_box_1_1_unparametric_rand_iter.html">UnparametricRandIter</a>&lt; K &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a372e01cec3ec4baa9ea342f9bc017d92">RandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of random field element generators. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::zz_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#addde9c4097f901609a5c725aa5eae459">inv</a> (NTL::zz_p &amp;x, const NTL::zz_p &amp;y) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::zz_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae2b7e56bffcb22ca6562bbeece999a7a">invin</a> (NTL::zz_p &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#af849df6a115b541eae21a52eef563429">isZero</a> (const NTL::zz_p &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a7abb239cedd7a0dc8078c42da343ca7f">isOne</a> (const NTL::zz_p &amp;x) const</td></tr>
<tr><td colspan="2"><div class="groupHeader">Field Object Basics.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b2e67d87131ae67539834cd9cd3fa7a"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::inv" ref="a9b2e67d87131ae67539834cd9cd3fa7a" args="(Element &amp;x, const Element &amp;y) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a9b2e67d87131ae67539834cd9cd3fa7a">inv</a> (Element &amp;x, const Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf833d5877bb610fef71aac14074d5ce"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::invin" ref="acf833d5877bb610fef71aac14074d5ce" args="(Element &amp;x) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#acf833d5877bb610fef71aac14074d5ce">invin</a> (Element &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd22def76f55c19076bb6c86104beaf0"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::write" ref="acd22def76f55c19076bb6c86104beaf0" args="(std::ostream &amp;os) const " -->
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#acd22def76f55c19076bb6c86104beaf0">write</a> (std::ostream &amp;os) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9deecd1fa2dde00884d057829c9fcbb"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::write" ref="ae9deecd1fa2dde00884d057829c9fcbb" args="(std::ostream &amp;os, const Element &amp;p) const " -->
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae9deecd1fa2dde00884d057829c9fcbb">write</a> (std::ostream &amp;os, const Element &amp;p) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0865272ef30f366f2a7a06323ee7cc22"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isZero" ref="a0865272ef30f366f2a7a06323ee7cc22" args="(const Element &amp;x) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a0865272ef30f366f2a7a06323ee7cc22">isZero</a> (const Element &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab37695d9e0fb5b0064c85e8449ed596b"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isOne" ref="ab37695d9e0fb5b0064c85e8449ed596b" args="(const Element &amp;x) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ab37695d9e0fb5b0064c85e8449ed596b">isOne</a> (const Element &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace99140b87ee63f431d90fb021f93d1e"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::characteristic" ref="ace99140b87ee63f431d90fb021f93d1e" args="(long unsigned int &amp;p) const " -->
long unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ace99140b87ee63f431d90fb021f93d1e">characteristic</a> (long unsigned int &amp;p) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a897da8ed179587ee29dbf724931e90cd"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::characteristic" ref="a897da8ed179587ee29dbf724931e90cd" args="() const " -->
long unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a897da8ed179587ee29dbf724931e90cd">characteristic</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea4d4c3f059080408c3a6344cf9fff10"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::characteristic" ref="aea4d4c3f059080408c3a6344cf9fff10" args="(integer &amp;c) const " -->
<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#aea4d4c3f059080408c3a6344cf9fff10">characteristic</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;c) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af10b022b118ae703a360fd5e78758575"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::cardinality" ref="af10b022b118ae703a360fd5e78758575" args="() const " -->
long unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#af10b022b118ae703a360fd5e78758575">cardinality</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade46ce0a344fcc718625a2296a8104ab"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::cardinality" ref="ade46ce0a344fcc718625a2296a8104ab" args="(integer &amp;c) const " -->
<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ade46ce0a344fcc718625a2296a8104ab">cardinality</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;c) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := cardinality of this field (-1 if infinite). <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a20cbd96d8b293aee5f2d234d611a014f"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::init" ref="a20cbd96d8b293aee5f2d234d611a014f" args="(Element &amp;x, const Src &amp;s) const " -->
template&lt;typename Src &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a20cbd96d8b293aee5f2d234d611a014f">init</a> (Element &amp;x, const Src &amp;s) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a054db1ecf60ae64391b553dfc6316205"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::read" ref="a054db1ecf60ae64391b553dfc6316205" args="(std::istream &amp;is, Element &amp;x) const " -->
std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a054db1ecf60ae64391b553dfc6316205">read</a> (std::istream &amp;is, Element &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afed7ab1451380411e8e013b34a8adeee"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::read" ref="afed7ab1451380411e8e013b34a8adeee" args="(std::istream &amp;is) const " -->
std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#afed7ab1451380411e8e013b34a8adeee">read</a> (std::istream &amp;is) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ae3fb94223b3036ae9d9006cdf2b1773c"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::convert" ref="ae3fb94223b3036ae9d9006cdf2b1773c" args="(T &amp;x, const Element &amp;y) const " -->
template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae3fb94223b3036ae9d9006cdf2b1773c">convert</a> (T &amp;x, const Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c := characteristic of this field (zero or prime). <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">class RR.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Rational number field.</p>
<p>This field is provided as a convenience in a few places. Use with caution because expression swell.</p>
<p>This specialization allows the <a class="el" href="group___unparametric_field.html">UnparametricField</a> template class to be used to wrap NTL's RR class as a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field. </p>
</div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a4ab4e35f0e78ae716f9ba42cfe167351">inv</a> (NTL::RR &amp;x, const NTL::RR &amp;y) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a2297bddb2e9a22746c7e7ad1bec6e1d7">invin</a> (NTL::RR &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a8e263fbf628f54675445ff48c2cdd1a8">isZero</a> (const NTL::RR &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#afcae003136710c3b0a6590ccb55b6226">isOne</a> (const NTL::RR &amp;x) const</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae6fa705855d6601dc68421c3c0022bca">inv</a> (NTL::ZZ_p &amp;x, const NTL::ZZ_p &amp;y) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a56d79f5a490c9bbdfe66a12a864d7dc3">invin</a> (NTL::ZZ_p &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#abec083fa3d65819f5c40a4faaba5a3f7">isZero</a> (const NTL::ZZ_p &amp;x) const</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a0427cd8bbe74d98c7bbf2a359b35b93c">isOne</a> (const NTL::ZZ_p &amp;x) const</td></tr>
<tr><td colspan="2"><div class="groupHeader">Implementation-Specific Methods.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These methods are not required of all <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> fields and are included only for the implementation of this field template. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const K &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ac04298a7235c9229e6705eca35f1166e">operator()</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant access operator.  <a href="#ac04298a7235c9229e6705eca35f1166e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">K &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#abb076830170962897c3e08c23bb350fd">operator()</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Access operator.  <a href="#abb076830170962897c3e08c23bb350fd"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a8b6a5d8725995c8fffdbbf31a347d505"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::init" ref="a8b6a5d8725995c8fffdbbf31a347d505" args="(Element &amp;x, const Element2 &amp;y)" -->
template&lt;class Element2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a8b6a5d8725995c8fffdbbf31a347d505">init</a> (Element &amp;x, const Element2 &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Init x from y. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2677a048fd7f2cd56fc646bceede9cb2"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::init" ref="a2677a048fd7f2cd56fc646bceede9cb2" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a2677a048fd7f2cd56fc646bceede9cb2">init</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Init from a NTL::ZZ_p. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c05fbea2a2b71c45c0606ee535162bd"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::init" ref="a7c05fbea2a2b71c45c0606ee535162bd" args="(Element &amp;x, const integer &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a7c05fbea2a2b71c45c0606ee535162bd">init</a> (Element &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">I don't know how to init from integer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac687887ac5d64b18167952390f1251d9"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::convert" ref="ac687887ac5d64b18167952390f1251d9" args="(integer &amp;x, const Element &amp;y)" -->
static <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#ac687887ac5d64b18167952390f1251d9">convert</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert y to an Element. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65bd9e592bb3ffe015ec0c77f4d7c010"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::assign" ref="a65bd9e592bb3ffe015ec0c77f4d7c010" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a65bd9e592bb3ffe015ec0c77f4d7c010">assign</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">x = y. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e7c5a423bd4422f827a1a2f27a0b981"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::areEqual" ref="a2e7c5a423bd4422f827a1a2f27a0b981" args="(const Element &amp;x, const Element &amp;y)" -->
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a2e7c5a423bd4422f827a1a2f27a0b981">areEqual</a> (const Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if x == y. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6404d41b3274c370454e1e105838497"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isZero" ref="aa6404d41b3274c370454e1e105838497" args="(const Element &amp;x)" -->
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#aa6404d41b3274c370454e1e105838497">isZero</a> (const Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if x == 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f6069e19e659da9aac7dc9766999c14"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isOne" ref="a1f6069e19e659da9aac7dc9766999c14" args="(const Element &amp;x)" -->
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a1f6069e19e659da9aac7dc9766999c14">isOne</a> (const Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if x == 1. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ca808db96354b3f97b8200e61f7939b"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::add" ref="a8ca808db96354b3f97b8200e61f7939b" args="(Element &amp;x, const Element &amp;y, const Element &amp;z)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a8ca808db96354b3f97b8200e61f7939b">add</a> (Element &amp;x, const Element &amp;y, const Element &amp;z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x = y + z <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a65d59dbe5d69fe86c181a96f1746a"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::sub" ref="a92a65d59dbe5d69fe86c181a96f1746a" args="(Element &amp;x, const Element &amp;y, const Element &amp;z)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a92a65d59dbe5d69fe86c181a96f1746a">sub</a> (Element &amp;x, const Element &amp;y, const Element &amp;z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x = y - z <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a2ed8b9a2f34915e367e4e0011eec201d"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::mul" ref="a2ed8b9a2f34915e367e4e0011eec201d" args="(Element &amp;x, const Element &amp;y, const Int &amp;z)" -->
template&lt;class Int &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a2ed8b9a2f34915e367e4e0011eec201d">mul</a> (Element &amp;x, const Element &amp;y, const Int &amp;z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x = y * z <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#aa83f785cb5d3ccdab22dbbeb5c9b5d05">div</a> (Element &amp;x, const Element &amp;y, const Element &amp;z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If exists a, such that a * z =y, return x = one of them.  <a href="#aa83f785cb5d3ccdab22dbbeb5c9b5d05"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab02ecaee454d425a19cc5b135ce1888a"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::inv" ref="ab02ecaee454d425a19cc5b135ce1888a" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#ab02ecaee454d425a19cc5b135ce1888a">inv</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If y is a unit, return x = 1 / y, otherwsie, throw an exception. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b3f8fc19ae9a3104ad64634e3b7dd08"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::neg" ref="a5b3f8fc19ae9a3104ad64634e3b7dd08" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a5b3f8fc19ae9a3104ad64634e3b7dd08">neg</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x = -y; <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a648732e17c4e615453b42ebf9839e4c3"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::axpy" ref="a648732e17c4e615453b42ebf9839e4c3" args="(Element &amp;r, const Element &amp;a, const Int &amp;x, const Element &amp;y)" -->
template&lt;class Int &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a648732e17c4e615453b42ebf9839e4c3">axpy</a> (Element &amp;r, const Element &amp;a, const Int &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return r = a x + y <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bf64fba108ddb2d4f851ff018fa701c"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::addin" ref="a4bf64fba108ddb2d4f851ff018fa701c" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a4bf64fba108ddb2d4f851ff018fa701c">addin</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x += y; <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b5887bf35fb158e48aa77191a6d882c"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::subin" ref="a2b5887bf35fb158e48aa77191a6d882c" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a2b5887bf35fb158e48aa77191a6d882c">subin</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x -= y; <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac77c6f00c36a5f46aafab47e0e5daca6"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::mulin" ref="ac77c6f00c36a5f46aafab47e0e5daca6" args="(Element &amp;x, const Int &amp;y)" -->
template&lt;class Int &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#ac77c6f00c36a5f46aafab47e0e5daca6">mulin</a> (Element &amp;x, const Int &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x *= y; <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a121c64461b46036e933543dac6b1063a"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::divin" ref="a121c64461b46036e933543dac6b1063a" args="(Element &amp;x, const Element &amp;y)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a121c64461b46036e933543dac6b1063a">divin</a> (Element &amp;x, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If y divides x, return x /= y, otherwise throw an exception. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9e205e822b879608b348964657b5a8e"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::invin" ref="ab9e205e822b879608b348964657b5a8e" args="(Element &amp;x)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#ab9e205e822b879608b348964657b5a8e">invin</a> (Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If x is a unit, x = 1 / x, otherwise, throw an exception. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a859da03773990049843961859220a9a5"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::negin" ref="a859da03773990049843961859220a9a5" args="(Element &amp;x)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a859da03773990049843961859220a9a5">negin</a> (Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return x = -x; <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a5c8797743ce7dfc8f3e5ebe4061a73a4"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::axpyin" ref="a5c8797743ce7dfc8f3e5ebe4061a73a4" args="(Element &amp;r, const Element &amp;a, const Int &amp;x)" -->
template&lt;class Int &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a5c8797743ce7dfc8f3e5ebe4061a73a4">axpyin</a> (Element &amp;r, const Element &amp;a, const Int &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return r += a x <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a383bbb2044e8c0ffd26b512d08cf7c"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::write" ref="a8a383bbb2044e8c0ffd26b512d08cf7c" args="(std::ostream &amp;out, const Element &amp;y)" -->
static std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a8a383bbb2044e8c0ffd26b512d08cf7c">write</a> (std::ostream &amp;out, const Element &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">out &lt;&lt; y; <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50d5ff8dce242098d1e78ef115ec7d13"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::read" ref="a50d5ff8dce242098d1e78ef115ec7d13" args="(std::istream &amp;in, Element &amp;x)" -->
static std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a50d5ff8dce242098d1e78ef115ec7d13">read</a> (std::istream &amp;in, Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">read x from istream in <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a2be0fb262e17bd1ebf0bd3f7e7704951">isUnit</a> (const Element &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">some PIR function  <a href="#a2be0fb262e17bd1ebf0bd3f7e7704951"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab506a052da3cb6a1065d33d7cc9e20b6"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::gcd" ref="ab506a052da3cb6a1065d33d7cc9e20b6" args="(Element &amp;g, const Element &amp;a, const Element &amp;b)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#ab506a052da3cb6a1065d33d7cc9e20b6">gcd</a> (Element &amp;g, const Element &amp;a, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return g = gcd (a, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30d9320cec42ea07aa7e2d47be62f7d3"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::gcdin" ref="a30d9320cec42ea07aa7e2d47be62f7d3" args="(Element &amp;g, const Element &amp;b)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a30d9320cec42ea07aa7e2d47be62f7d3">gcdin</a> (Element &amp;g, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return g = gcd (g, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a93679556e8b086f46dbcb1a1664e038d">xgcd</a> (Element &amp;g, Element &amp;s, Element &amp;t, const Element &amp;a, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">g = gcd(a, b) = a*s + b*t.  <a href="#a93679556e8b086f46dbcb1a1664e038d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a286eb83de682152ec0cee23907edbafd">dxgcd</a> (Element &amp;g, Element &amp;s, Element &amp;t, Element &amp;a1, Element &amp;b1, const Element &amp;a, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">g = gcd(a, b) = a*s + b*t.  <a href="#a286eb83de682152ec0cee23907edbafd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24abdc64beace77514cf01fcf402371b"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isDivisor" ref="a24abdc64beace77514cf01fcf402371b" args="(const Element &amp;a, const Element &amp;b)" -->
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a24abdc64beace77514cf01fcf402371b">isDivisor</a> (const Element &amp;a, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if a | b. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f9c8e63c2c36ceff84000f4be145a52"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::normal" ref="a4f9c8e63c2c36ceff84000f4be145a52" args="(Element &amp;a, const Element &amp;b)" -->
static Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#a4f9c8e63c2c36ceff84000f4be145a52">normal</a> (Element &amp;a, const Element &amp;b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">a = normalization of b. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>extend Wrapper of ZZ_p from NTL. </p>
<p>Add PIR functions </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa83f785cb5d3ccdab22dbbeb5c9b5d05"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::div" ref="aa83f785cb5d3ccdab22dbbeb5c9b5d05" args="(Element &amp;x, const Element &amp;y, const Element &amp;z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static Element&amp; div </td>
          <td>(</td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If exists a, such that a * z =y, return x = one of them. </p>
<p>Otherwise, throw an exception </p>

</div>
</div>
<a class="anchor" id="a2be0fb262e17bd1ebf0bd3f7e7704951"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isUnit" ref="a2be0fb262e17bd1ebf0bd3f7e7704951" args="(const Element &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool isUnit </td>
          <td>(</td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>some PIR function </p>
<p>Test if x is a unit. </p>

</div>
</div>
<a class="anchor" id="a93679556e8b086f46dbcb1a1664e038d"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::xgcd" ref="a93679556e8b086f46dbcb1a1664e038d" args="(Element &amp;g, Element &amp;s, Element &amp;t, const Element &amp;a, const Element &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static Element&amp; xgcd </td>
          <td>(</td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>g = gcd(a, b) = a*s + b*t. </p>
<p>and gcd (s, t) is a unit. </p>

</div>
</div>
<a class="anchor" id="a286eb83de682152ec0cee23907edbafd"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::dxgcd" ref="a286eb83de682152ec0cee23907edbafd" args="(Element &amp;g, Element &amp;s, Element &amp;t, Element &amp;a1, Element &amp;b1, const Element &amp;a, const Element &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static Element&amp; dxgcd </td>
          <td>(</td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>a1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Element &amp;&#160;</td>
          <td class="paramname"><em>b1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>g = gcd(a, b) = a*s + b*t. </p>
<p>and gcd (s, t) is a unit. s * a1 + t * b1 = a unit. </p>

</div>
</div>
<a class="anchor" id="addde9c4097f901609a5c725aa5eae459"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::inv" ref="addde9c4097f901609a5c725aa5eae459" args="(NTL::zz_p &amp;x, const NTL::zz_p &amp;y) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::zz_p &amp; inv </td>
          <td>(</td>
          <td class="paramtype">NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / y This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4ab4e35f0e78ae716f9ba42cfe167351"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::inv" ref="a4ab4e35f0e78ae716f9ba42cfe167351" args="(NTL::RR &amp;x, const NTL::RR &amp;y) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::RR &amp; inv </td>
          <td>(</td>
          <td class="paramtype">NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / y This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae6fa705855d6601dc68421c3c0022bca"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::inv" ref="ae6fa705855d6601dc68421c3c0022bca" args="(NTL::ZZ_p &amp;x, const NTL::ZZ_p &amp;y) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::ZZ_p &amp; inv </td>
          <td>(</td>
          <td class="paramtype">NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / y This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae2b7e56bffcb22ca6562bbeece999a7a"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::invin" ref="ae2b7e56bffcb22ca6562bbeece999a7a" args="(NTL::zz_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::zz_p &amp; invin </td>
          <td>(</td>
          <td class="paramtype">NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / x This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2297bddb2e9a22746c7e7ad1bec6e1d7"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::invin" ref="a2297bddb2e9a22746c7e7ad1bec6e1d7" args="(NTL::RR &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::RR &amp; invin </td>
          <td>(</td>
          <td class="paramtype">NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / x This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56d79f5a490c9bbdfe66a12a864d7dc3"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::invin" ref="a56d79f5a490c9bbdfe66a12a864d7dc3" args="(NTL::ZZ_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::ZZ_p &amp; invin </td>
          <td>(</td>
          <td class="paramtype">NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>x = 1 / x This function assumes both field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to x. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element (reference returned). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af849df6a115b541eae21a52eef563429"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isZero" ref="af849df6a115b541eae21a52eef563429" args="(const NTL::zz_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isZero </td>
          <td>(</td>
          <td class="paramtype">const NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals zero, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8e263fbf628f54675445ff48c2cdd1a8"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isZero" ref="a8e263fbf628f54675445ff48c2cdd1a8" args="(const NTL::RR &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isZero </td>
          <td>(</td>
          <td class="paramtype">const NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals zero, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abec083fa3d65819f5c40a4faaba5a3f7"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isZero" ref="abec083fa3d65819f5c40a4faaba5a3f7" args="(const NTL::ZZ_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isZero </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals zero, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7abb239cedd7a0dc8078c42da343ca7f"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isOne" ref="a7abb239cedd7a0dc8078c42da343ca7f" args="(const NTL::zz_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isOne </td>
          <td>(</td>
          <td class="paramtype">const NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals one, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afcae003136710c3b0a6590ccb55b6226"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isOne" ref="afcae003136710c3b0a6590ccb55b6226" args="(const NTL::RR &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isOne </td>
          <td>(</td>
          <td class="paramtype">const NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals one, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0427cd8bbe74d98c7bbf2a359b35b93c"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::isOne" ref="a0427cd8bbe74d98c7bbf2a359b35b93c" args="(const NTL::ZZ_p &amp;x) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isOne </td>
          <td>(</td>
          <td class="paramtype">const NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equals one, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac04298a7235c9229e6705eca35f1166e"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::operator()" ref="ac04298a7235c9229e6705eca35f1166e" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const K&amp; operator() </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constant access operator. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>constant reference to field object </dd></dl>

</div>
</div>
<a class="anchor" id="abb076830170962897c3e08c23bb350fd"></a><!-- doxytag: member="LinBox::PIR_ntl_ZZ_p::operator()" ref="abb076830170962897c3e08c23bb350fd" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">K&amp; operator() </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Access operator. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field object </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>PIR-ntl-ZZ_p.h</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>