Sophie

Sophie

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

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: NTL_ZZ 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_n_t_l___z_z.html">NTL_ZZ</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">NTL_ZZ Class Reference<div class="ingroups"><a class="el" href="group__ring.html">ring</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::NTL_ZZ" -->
<p>the integer ring.  
 <a href="class_lin_box_1_1_n_t_l___z_z.html#details">More...</a></p>

<p><code>#include &lt;ntl-ZZ.h&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aa87116f3046c4461498e5ee1d3f86e3b"></a><!-- doxytag: member="LinBox::NTL_ZZ::init" ref="aa87116f3046c4461498e5ee1d3f86e3b" args="(Element &amp;x, const Element2 &amp;y) const " -->
template&lt;class Element2 &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_n_t_l___z_z.html#aa87116f3046c4461498e5ee1d3f86e3b">init</a> (Element &amp;x, const Element2 &amp;y) const </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="a44cc243235872bd518bc08647d7dcc64"></a><!-- doxytag: member="LinBox::NTL_ZZ::init" ref="a44cc243235872bd518bc08647d7dcc64" 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_n_t_l___z_z.html#a44cc243235872bd518bc08647d7dcc64">init</a> (Element &amp;x, const Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Init from a NTL::ZZ. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00acc5198e88dfde31949339cec16f6e"></a><!-- doxytag: member="LinBox::NTL_ZZ::init" ref="a00acc5198e88dfde31949339cec16f6e" args="(Element &amp;x, const int64_t &amp;y) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a00acc5198e88dfde31949339cec16f6e">init</a> (Element &amp;x, const int64_t &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Init from an int64_t. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a589b8ea80fc6a0a200485039b6e44fbd"></a><!-- doxytag: member="LinBox::NTL_ZZ::init" ref="a589b8ea80fc6a0a200485039b6e44fbd" args="(Element &amp;x, const uint64_t &amp;y) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a589b8ea80fc6a0a200485039b6e44fbd">init</a> (Element &amp;x, const uint64_t &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Init from a uint64_t. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3cd6dff34a8814a8f242427b0be5af1"></a><!-- doxytag: member="LinBox::NTL_ZZ::init" ref="ac3cd6dff34a8814a8f242427b0be5af1" args="(Element &amp;x, const integer &amp;y) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#ac3cd6dff34a8814a8f242427b0be5af1">init</a> (Element &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">I don't know how to init from integer efficiently. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4bb2576b5123c8fde1fab6165264ec3"></a><!-- doxytag: member="LinBox::NTL_ZZ::convert" ref="ac4bb2576b5123c8fde1fab6165264ec3" args="(integer &amp;x, const Element &amp;y) 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_n_t_l___z_z.html#ac4bb2576b5123c8fde1fab6165264ec3">convert</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const Element &amp;y) const </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="a7ed3d5d8b4d9f1ab407365c020b18c58"></a><!-- doxytag: member="LinBox::NTL_ZZ::assign" ref="a7ed3d5d8b4d9f1ab407365c020b18c58" 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_n_t_l___z_z.html#a7ed3d5d8b4d9f1ab407365c020b18c58">assign</a> (Element &amp;x, const Element &amp;y) const </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="a0763bd76c2ed93bc54973d632b98ec90"></a><!-- doxytag: member="LinBox::NTL_ZZ::areEqual" ref="a0763bd76c2ed93bc54973d632b98ec90" args="(const Element &amp;x, const Element &amp;y) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a0763bd76c2ed93bc54973d632b98ec90">areEqual</a> (const Element &amp;x, const Element &amp;y) const </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="a0865272ef30f366f2a7a06323ee7cc22"></a><!-- doxytag: member="LinBox::NTL_ZZ::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_n_t_l___z_z.html#a0865272ef30f366f2a7a06323ee7cc22">isZero</a> (const Element &amp;x) const </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="ab37695d9e0fb5b0064c85e8449ed596b"></a><!-- doxytag: member="LinBox::NTL_ZZ::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_n_t_l___z_z.html#ab37695d9e0fb5b0064c85e8449ed596b">isOne</a> (const Element &amp;x) const </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="aadf4e83f1ac414b0caa1bef2154dabdb"></a><!-- doxytag: member="LinBox::NTL_ZZ::add" ref="aadf4e83f1ac414b0caa1bef2154dabdb" args="(Element &amp;x, const Element &amp;y, const Element &amp;z) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#aadf4e83f1ac414b0caa1bef2154dabdb">add</a> (Element &amp;x, const Element &amp;y, const Element &amp;z) const </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="a2f2a41d18bd65f48cb5fb894fcd3b51b"></a><!-- doxytag: member="LinBox::NTL_ZZ::sub" ref="a2f2a41d18bd65f48cb5fb894fcd3b51b" args="(Element &amp;x, const Element &amp;y, const Element &amp;z) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a2f2a41d18bd65f48cb5fb894fcd3b51b">sub</a> (Element &amp;x, const Element &amp;y, const Element &amp;z) const </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="af4226d2340aa92d6756b4ac8668155ce"></a><!-- doxytag: member="LinBox::NTL_ZZ::mul" ref="af4226d2340aa92d6756b4ac8668155ce" args="(Element &amp;x, const Element &amp;y, const Int &amp;z) const " -->
template&lt;class Int &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_n_t_l___z_z.html#af4226d2340aa92d6756b4ac8668155ce">mul</a> (Element &amp;x, const Element &amp;y, const Int &amp;z) const </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="a4d8f0ac0be4b8a5a074f441d74bf4276"></a><!-- doxytag: member="LinBox::NTL_ZZ::div" ref="a4d8f0ac0be4b8a5a074f441d74bf4276" args="(Element &amp;x, const Element &amp;y, const Element &amp;z) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a4d8f0ac0be4b8a5a074f441d74bf4276">div</a> (Element &amp;x, const Element &amp;y, const Element &amp;z) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If z divides y, return x = y / z, otherwise, throw an exception. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b2e67d87131ae67539834cd9cd3fa7a"></a><!-- doxytag: member="LinBox::NTL_ZZ::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_n_t_l___z_z.html#a9b2e67d87131ae67539834cd9cd3fa7a">inv</a> (Element &amp;x, const Element &amp;y) const </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="a608fc0675ac7788b016f686fa3a6ec7e"></a><!-- doxytag: member="LinBox::NTL_ZZ::neg" ref="a608fc0675ac7788b016f686fa3a6ec7e" 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_n_t_l___z_z.html#a608fc0675ac7788b016f686fa3a6ec7e">neg</a> (Element &amp;x, const Element &amp;y) const </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="a3a66863ff2d10c41d00b2e9d626fc5a2"></a><!-- doxytag: member="LinBox::NTL_ZZ::axpy" ref="a3a66863ff2d10c41d00b2e9d626fc5a2" args="(Element &amp;r, const Element &amp;a, const Int &amp;x, const Element &amp;y) const " -->
template&lt;class Int &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_n_t_l___z_z.html#a3a66863ff2d10c41d00b2e9d626fc5a2">axpy</a> (Element &amp;r, const Element &amp;a, const Int &amp;x, const Element &amp;y) const </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="a25ec1b0d3d2d8da69636a121ef781a55"></a><!-- doxytag: member="LinBox::NTL_ZZ::addin" ref="a25ec1b0d3d2d8da69636a121ef781a55" 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_n_t_l___z_z.html#a25ec1b0d3d2d8da69636a121ef781a55">addin</a> (Element &amp;x, const Element &amp;y) const </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="aa14037ab7a2e80c0e663a760acbaff15"></a><!-- doxytag: member="LinBox::NTL_ZZ::subin" ref="aa14037ab7a2e80c0e663a760acbaff15" 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_n_t_l___z_z.html#aa14037ab7a2e80c0e663a760acbaff15">subin</a> (Element &amp;x, const Element &amp;y) const </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="a58438280f19463c4fcaa8d2bc3e0a5df"></a><!-- doxytag: member="LinBox::NTL_ZZ::mulin" ref="a58438280f19463c4fcaa8d2bc3e0a5df" args="(Element &amp;x, const Int &amp;y) const " -->
template&lt;class Int &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_n_t_l___z_z.html#a58438280f19463c4fcaa8d2bc3e0a5df">mulin</a> (Element &amp;x, const Int &amp;y) const </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="ac5966c66651795d1636a032e8bcd28ef"></a><!-- doxytag: member="LinBox::NTL_ZZ::divin" ref="ac5966c66651795d1636a032e8bcd28ef" 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_n_t_l___z_z.html#ac5966c66651795d1636a032e8bcd28ef">divin</a> (Element &amp;x, const Element &amp;y) const </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="a70edee8df9b06ab0539083af8c55b287"></a><!-- doxytag: member="LinBox::NTL_ZZ::invin" ref="a70edee8df9b06ab0539083af8c55b287" args="(Element &amp;x)" -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a70edee8df9b06ab0539083af8c55b287">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="a540bdfc0ce896b62d1a13247a2acfce2"></a><!-- doxytag: member="LinBox::NTL_ZZ::negin" ref="a540bdfc0ce896b62d1a13247a2acfce2" args="(Element &amp;x) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a540bdfc0ce896b62d1a13247a2acfce2">negin</a> (Element &amp;x) const </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="a5aca8d25118e68380b815f1beaf7ee4e"></a><!-- doxytag: member="LinBox::NTL_ZZ::axpyin" ref="a5aca8d25118e68380b815f1beaf7ee4e" args="(Element &amp;r, const Element &amp;a, const Int &amp;x) const " -->
template&lt;class Int &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_n_t_l___z_z.html#a5aca8d25118e68380b815f1beaf7ee4e">axpyin</a> (Element &amp;r, const Element &amp;a, const Int &amp;x) const </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="a53334b953bf559a4dab5e846ec7bc898"></a><!-- doxytag: member="LinBox::NTL_ZZ::write" ref="a53334b953bf559a4dab5e846ec7bc898" args="(std::ostream &amp;out, const Element &amp;y) const " -->
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a53334b953bf559a4dab5e846ec7bc898">write</a> (std::ostream &amp;out, const Element &amp;y) const </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="acf0e7e47abd04f2d043a25a8891b34ca"></a><!-- doxytag: member="LinBox::NTL_ZZ::read" ref="acf0e7e47abd04f2d043a25a8891b34ca" args="(std::istream &amp;in, Element &amp;x) const " -->
std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#acf0e7e47abd04f2d043a25a8891b34ca">read</a> (std::istream &amp;in, Element &amp;x) const </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">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a0b93e65d03a783646c50d5738763898f">isUnit</a> (const Element &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">some PIR function  <a href="#a0b93e65d03a783646c50d5738763898f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e636acb56d9f09127f52f3ef81b9584"></a><!-- doxytag: member="LinBox::NTL_ZZ::gcd" ref="a6e636acb56d9f09127f52f3ef81b9584" args="(Element &amp;g, const Element &amp;a, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a6e636acb56d9f09127f52f3ef81b9584">gcd</a> (Element &amp;g, const Element &amp;a, const Element &amp;b) const </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="a74cee6d6ad4e57975cc7bae2fd269c14"></a><!-- doxytag: member="LinBox::NTL_ZZ::gcdin" ref="a74cee6d6ad4e57975cc7bae2fd269c14" args="(Element &amp;g, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a74cee6d6ad4e57975cc7bae2fd269c14">gcdin</a> (Element &amp;g, const Element &amp;b) const </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">Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a371650f2b999208d5f143c62278fc16f">xgcd</a> (Element &amp;g, Element &amp;s, Element &amp;t, const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">g = gcd(a, b) = a*s + b*t.  <a href="#a371650f2b999208d5f143c62278fc16f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b12a8ea4574eab41279f5a88362200d"></a><!-- doxytag: member="LinBox::NTL_ZZ::lcm" ref="a1b12a8ea4574eab41279f5a88362200d" args="(Element &amp;c, const Element &amp;a, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a1b12a8ea4574eab41279f5a88362200d">lcm</a> (Element &amp;c, const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">c = lcm (a, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a374790a7ebfac4cb731ec78e3c6b5d00"></a><!-- doxytag: member="LinBox::NTL_ZZ::lcmin" ref="a374790a7ebfac4cb731ec78e3c6b5d00" args="(Element &amp;l, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a374790a7ebfac4cb731ec78e3c6b5d00">lcmin</a> (Element &amp;l, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">l = lcm (l, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6af9f647de1a6fd731092f51fb8e5889"></a><!-- doxytag: member="LinBox::NTL_ZZ::sqrt" ref="a6af9f647de1a6fd731092f51fb8e5889" 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_n_t_l___z_z.html#a6af9f647de1a6fd731092f51fb8e5889">sqrt</a> (Element &amp;x, const Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">x = floor ( sqrt(y)). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab9a3350851ed32219769130448869ae"></a><!-- doxytag: member="LinBox::NTL_ZZ::reconstructRational" ref="aab9a3350851ed32219769130448869ae" args="(Element &amp;a, Element &amp;b, const Element &amp;x, const Element &amp;m, const Element &amp;a_bound, const Element &amp;b_bound) const " -->
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#aab9a3350851ed32219769130448869ae">reconstructRational</a> (Element &amp;a, Element &amp;b, const Element &amp;x, const Element &amp;m, const Element &amp;a_bound, const Element &amp;b_bound) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Requires 0 &lt;= x &lt; m, m &gt; 2 * a_bound * b_bound, a_bound &gt;= 0, b_bound &gt; 0 This routine either returns 0, leaving a and b unchanged, or returns 1 and sets a and b so that (1) a = b x (mod m), (2) |a| &lt;= a_bound, 0 &lt; b &lt;= b_bound, and (3) gcd(m, b) = gcd(a, b). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a869a3ca1dede7e150ec76adeb8c73c92"></a><!-- doxytag: member="LinBox::NTL_ZZ::quo" ref="a869a3ca1dede7e150ec76adeb8c73c92" args="(Element &amp;q, const Element &amp;a, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a869a3ca1dede7e150ec76adeb8c73c92">quo</a> (Element &amp;q, const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">q = floor (x/y); <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a932cde8264e1b28a6be71cae19d5df74"></a><!-- doxytag: member="LinBox::NTL_ZZ::rem" ref="a932cde8264e1b28a6be71cae19d5df74" args="(Element &amp;r, const Element &amp;a, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a932cde8264e1b28a6be71cae19d5df74">rem</a> (Element &amp;r, const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">r = remindar of a / b <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34c18b336edb87552b48e09a6ca9b781"></a><!-- doxytag: member="LinBox::NTL_ZZ::quoin" ref="a34c18b336edb87552b48e09a6ca9b781" args="(Element &amp;a, const Element &amp;b) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a34c18b336edb87552b48e09a6ca9b781">quoin</a> (Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">a = quotient (a, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61826cd231477dee595da08389f5aafd"></a><!-- doxytag: member="LinBox::NTL_ZZ::remin" ref="a61826cd231477dee595da08389f5aafd" 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_n_t_l___z_z.html#a61826cd231477dee595da08389f5aafd">remin</a> (Element &amp;x, const Element &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">a = quotient (a, b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb37625e39118eeff08c67557e64b77d"></a><!-- doxytag: member="LinBox::NTL_ZZ::quoRem" ref="aeb37625e39118eeff08c67557e64b77d" args="(Element &amp;q, Element &amp;r, const Element &amp;a, const Element &amp;b) const " -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#aeb37625e39118eeff08c67557e64b77d">quoRem</a> (Element &amp;q, Element &amp;r, const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">q = [a/b], r = a - b*q |r| &lt; |b|, and if r != 0, sign(r) = sign(b) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d84a5cc027bf4ba1a6983b861cc1788"></a><!-- doxytag: member="LinBox::NTL_ZZ::isDivisor" ref="a1d84a5cc027bf4ba1a6983b861cc1788" args="(const Element &amp;a, const Element &amp;b) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a1d84a5cc027bf4ba1a6983b861cc1788">isDivisor</a> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if b | a. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#ac08eadda62dbf4324a3a516c884b5288">compare</a> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">compare two elements, a and b return 1, if a &gt; b return 0, if a = b; return -1.  <a href="#ac08eadda62dbf4324a3a516c884b5288"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a689ee77a76545874cffabd22d744772b"></a><!-- doxytag: member="LinBox::NTL_ZZ::abs" ref="a689ee77a76545874cffabd22d744772b" args="(Element &amp;x, const Element &amp;a) const " -->
Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_n_t_l___z_z.html#a689ee77a76545874cffabd22d744772b">abs</a> (Element &amp;x, const Element &amp;a) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the absolute value x = abs (a); <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>the integer ring. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0b93e65d03a783646c50d5738763898f"></a><!-- doxytag: member="LinBox::NTL_ZZ::isUnit" ref="a0b93e65d03a783646c50d5738763898f" args="(const Element &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isUnit </td>
          <td>(</td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inline]</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="a371650f2b999208d5f143c62278fc16f"></a><!-- doxytag: member="LinBox::NTL_ZZ::xgcd" ref="a371650f2b999208d5f143c62278fc16f" args="(Element &amp;g, Element &amp;s, Element &amp;t, const Element &amp;a, const Element &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">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> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>g = gcd(a, b) = a*s + b*t. </p>
<p>The coefficients s and t are defined according to the standard Euclidean algorithm applied to |a| and |b|, with the signs then adjusted according to the signs of a and b. </p>

</div>
</div>
<a class="anchor" id="ac08eadda62dbf4324a3a516c884b5288"></a><!-- doxytag: member="LinBox::NTL_ZZ::compare" ref="ac08eadda62dbf4324a3a516c884b5288" args="(const Element &amp;a, const Element &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long compare </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> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>compare two elements, a and b return 1, if a &gt; b return 0, if a = b; return -1. </p>
<p>if a &lt; b </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="field_2ntl-_z_z_8h.html">field/ntl-ZZ.h</a></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>