<!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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 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 Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data 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> | <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 <PIR-ntl-ZZ_p.h></code></p> <p>Inherits UnparametricField< K >.</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>< K > </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"> </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<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::zz_p & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#addde9c4097f901609a5c725aa5eae459">inv</a> (NTL::zz_p &x, const NTL::zz_p &y) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::zz_p & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae2b7e56bffcb22ca6562bbeece999a7a">invin</a> (NTL::zz_p &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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 &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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 &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 &x, const Element &y) const " --> Element & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a9b2e67d87131ae67539834cd9cd3fa7a">inv</a> (Element &x, const Element &y) const </td></tr> <tr><td class="mdescLeft"> </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 &x) const " --> Element & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#acf833d5877bb610fef71aac14074d5ce">invin</a> (Element &x) const </td></tr> <tr><td class="mdescLeft"> </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 &os) const " --> std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#acd22def76f55c19076bb6c86104beaf0">write</a> (std::ostream &os) const </td></tr> <tr><td class="mdescLeft"> </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 &os, const Element &p) const " --> std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae9deecd1fa2dde00884d057829c9fcbb">write</a> (std::ostream &os, const Element &p) const </td></tr> <tr><td class="mdescLeft"> </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 &x) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a0865272ef30f366f2a7a06323ee7cc22">isZero</a> (const Element &x) const </td></tr> <tr><td class="mdescLeft"> </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 &x) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ab37695d9e0fb5b0064c85e8449ed596b">isOne</a> (const Element &x) const </td></tr> <tr><td class="mdescLeft"> </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 &p) const " --> long unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ace99140b87ee63f431d90fb021f93d1e">characteristic</a> (long unsigned int &p) const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 &c) const " --> <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> & </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> &c) const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 &c) const " --> <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> & </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> &c) const </td></tr> <tr><td class="mdescLeft"> </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 &x, const Src &s) const " --> template<typename Src > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">Element & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a20cbd96d8b293aee5f2d234d611a014f">init</a> (Element &x, const Src &s) const </td></tr> <tr><td class="mdescLeft"> </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 &is, Element &x) const " --> std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a054db1ecf60ae64391b553dfc6316205">read</a> (std::istream &is, Element &x) const </td></tr> <tr><td class="mdescLeft"> </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 &is) const " --> std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#afed7ab1451380411e8e013b34a8adeee">read</a> (std::istream &is) const </td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y) const " --> template<typename T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">T & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae3fb94223b3036ae9d9006cdf2b1773c">convert</a> (T &x, const Element &y) const </td></tr> <tr><td class="mdescLeft"> </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<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a4ab4e35f0e78ae716f9ba42cfe167351">inv</a> (NTL::RR &x, const NTL::RR &y) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a2297bddb2e9a22746c7e7ad1bec6e1d7">invin</a> (NTL::RR &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a8e263fbf628f54675445ff48c2cdd1a8">isZero</a> (const NTL::RR &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#afcae003136710c3b0a6590ccb55b6226">isOne</a> (const NTL::RR &x) const</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#ae6fa705855d6601dc68421c3c0022bca">inv</a> (NTL::ZZ_p &x, const NTL::ZZ_p &y) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_unparametric_field.html#a56d79f5a490c9bbdfe66a12a864d7dc3">invin</a> (NTL::ZZ_p &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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 &x) const</td></tr> <tr><td class="memTemplParams" colspan="2">template<> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </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 &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 & </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"> </td><td class="mdescRight">Constant access operator. <a href="#ac04298a7235c9229e6705eca35f1166e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">K & </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"> </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 &x, const Element2 &y)" --> template<class Element2 > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static Element & </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 &x, const Element2 &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const integer &y)" --> static Element & </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 &x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> & </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> &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static bool </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x)" --> static bool </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 &x)</td></tr> <tr><td class="mdescLeft"> </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 &x)" --> static bool </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 &x)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y, const Element &z)" --> static Element & </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 &x, const Element &y, const Element &z)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y, const Element &z)" --> static Element & </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 &x, const Element &y, const Element &z)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y, const Int &z)" --> template<class Int > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static Element & </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 &x, const Element &y, const Int &z)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return x = y * z <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static Element & </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 &x, const Element &y, const Element &z)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &r, const Element &a, const Int &x, const Element &y)" --> template<class Int > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static Element & </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 &r, const Element &a, const Int &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Int &y)" --> template<class Int > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static Element & </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 &x, const Int &y)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y)" --> static Element & </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 &x, const Element &y)</td></tr> <tr><td class="mdescLeft"> </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 &x)" --> static Element & </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 &x)</td></tr> <tr><td class="mdescLeft"> </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 &x)" --> static Element & </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 &x)</td></tr> <tr><td class="mdescLeft"> </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 &r, const Element &a, const Int &x)" --> template<class Int > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static Element & </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 &r, const Element &a, const Int &x)</td></tr> <tr><td class="mdescLeft"> </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 &out, const Element &y)" --> static std::ostream & </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 &out, const Element &y)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">out << 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 &in, Element &x)" --> static std::istream & </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 &in, Element &x)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">read x from istream in <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </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 &x)</td></tr> <tr><td class="mdescLeft"> </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 &g, const Element &a, const Element &b)" --> static Element & </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 &g, const Element &a, const Element &b)</td></tr> <tr><td class="mdescLeft"> </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 &g, const Element &b)" --> static Element & </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 &g, const Element &b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return g = gcd (g, b) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static Element & </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 &g, Element &s, Element &t, const Element &a, const Element &b)</td></tr> <tr><td class="mdescLeft"> </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 & </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 &g, Element &s, Element &t, Element &a1, Element &b1, const Element &a, const Element &b)</td></tr> <tr><td class="mdescLeft"> </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 &a, const Element &b)" --> static bool </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 &a, const Element &b)</td></tr> <tr><td class="mdescLeft"> </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 &a, const Element &b)" --> static Element & </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 &a, const Element &b)</td></tr> <tr><td class="mdescLeft"> </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 &x, const Element &y, const Element &z)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static Element& div </td> <td>(</td> <td class="paramtype">Element & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>z</em> </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 &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 & </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 &g, Element &s, Element &t, const Element &a, const Element &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static Element& xgcd </td> <td>(</td> <td class="paramtype">Element & </td> <td class="paramname"><em>g</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>b</em> </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 &g, Element &s, Element &t, Element &a1, Element &b1, const Element &a, const Element &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static Element& dxgcd </td> <td>(</td> <td class="paramtype">Element & </td> <td class="paramname"><em>g</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>a1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Element & </td> <td class="paramname"><em>b1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Element & </td> <td class="paramname"><em>b</em> </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 &x, const NTL::zz_p &y) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::zz_p & inv </td> <td>(</td> <td class="paramtype">NTL::zz_p & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const NTL::zz_p & </td> <td class="paramname"><em>y</em> </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 &x, const NTL::RR &y) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::RR & inv </td> <td>(</td> <td class="paramtype">NTL::RR & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const NTL::RR & </td> <td class="paramname"><em>y</em> </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 &x, const NTL::ZZ_p &y) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::ZZ_p & inv </td> <td>(</td> <td class="paramtype">NTL::ZZ_p & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const NTL::ZZ_p & </td> <td class="paramname"><em>y</em> </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 &x) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::zz_p & invin </td> <td>(</td> <td class="paramtype">NTL::zz_p & </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 &x) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::RR & invin </td> <td>(</td> <td class="paramtype">NTL::RR & </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 &x) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">NTL::ZZ_p & invin </td> <td>(</td> <td class="paramtype">NTL::ZZ_p & </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 &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 & </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 &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 & </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 &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 & </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 &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 & </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 &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 & </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 &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 & </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& operator() </td> <td>(</td> <td class="paramtype">void </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& operator() </td> <td>(</td> <td class="paramtype">void </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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>