Sophie

Sophie

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

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: FieldEnvelope&lt; Field &gt; Class Template 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_field_envelope.html">FieldEnvelope</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">FieldEnvelope&lt; Field &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__field.html">field</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::FieldEnvelope" --><!-- doxytag: inherits="LinBox::FieldAbstract" -->
<p>Derived class used to implement the field archetypeHelps to minimize code bloat.  
 <a href="class_lin_box_1_1_field_envelope.html#details">More...</a></p>

<p><code>#include &lt;envelope.h&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for FieldEnvelope&lt; Field &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="class_lin_box_1_1_field_envelope.png" usemap="#FieldEnvelope&lt; Field &gt;_map" alt=""/>
  <map id="FieldEnvelope&lt; Field &gt;_map" name="FieldEnvelope&lt; Field &gt;_map">
<area href="class_lin_box_1_1_field_abstract.html" title="field base class." alt="FieldAbstract" shape="rect" coords="0,0,145,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_lin_box_1_1_element_envelope.html">ElementEnvelope</a>&lt; <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#aafd25cc504cbd7e5dac63a07d00f26bf">Element</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">element type.  <a href="#aafd25cc504cbd7e5dac63a07d00f26bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html">RandIterEnvelope</a>&lt; <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a6773510063ce3540e0c5604490d021bd">RandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random iterator generator type.  <a href="#a6773510063ce3540e0c5604490d021bd"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Object Management</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#aa1dae1ca67d9194a0de6261bfd2a0c22">FieldEnvelope</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#aa1dae1ca67d9194a0de6261bfd2a0c22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#aad4dbe5d90ff552569a0e48366051ddc">FieldEnvelope</a> (const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &amp;F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from field to be wrapped.  <a href="#aad4dbe5d90ff552569a0e48366051ddc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#af08fb7703cf90ba370a68805d12e5175">FieldEnvelope</a> (const <a class="el" href="class_lin_box_1_1_field_envelope.html">FieldEnvelope</a> &amp;E)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#af08fb7703cf90ba370a68805d12e5175"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a262dfb4f3ee9562f43deab8892ee33b2">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual copy constructor.  <a href="#a262dfb4f3ee9562f43deab8892ee33b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#add4d0fe7ee6648c123135063ad615902">operator=</a> (const <a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> &amp;F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#add4d0fe7ee6648c123135063ad615902"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a2fb68bbaad94d7bcaa6ac885ec419bf7">init</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field base element from an integer.  <a href="#a2fb68bbaad94d7bcaa6ac885ec419bf7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><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_field_envelope.html#a10841216d71b4a65b0eb3bbea2f84560">convert</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion of field base element to a template class T.  <a href="#a10841216d71b4a65b0eb3bbea2f84560"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a673f829e78dd90ff25a1fcbbcbb2034c">assign</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment of one field base element to another.  <a href="#a673f829e78dd90ff25a1fcbbcbb2034c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><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_field_envelope.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">Cardinality.  <a href="#ade46ce0a344fcc718625a2296a8104ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><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_field_envelope.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">Characteristic.  <a href="#aea4d4c3f059080408c3a6344cf9fff10"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Arithmetic Operations</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>x &lt;- y op z; x &lt;- op y These operations require all elements, including x, to be initialized before the operation is called.</p>
<p>Uninitialized field base elements will give undefined results. </p>
</div></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_field_envelope.html#ad2ac546fc349e938c31e5cf280464148">areEqual</a> (const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality of two elements.  <a href="#ad2ac546fc349e938c31e5cf280464148"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#ad79742154851ab5aaf333135dbb4c306">add</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;z) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Addition.  <a href="#ad79742154851ab5aaf333135dbb4c306"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#ae96d5d3ccd2bbd123b991534a0a9f3bc">sub</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;z) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtraction.  <a href="#ae96d5d3ccd2bbd123b991534a0a9f3bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a98a253ef2f843aa213b79c3f13fc821c">mul</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;z) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication.  <a href="#a98a253ef2f843aa213b79c3f13fc821c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a8b893efc55555869218421756dfaa7bd">div</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;z) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Division.  <a href="#a8b893efc55555869218421756dfaa7bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a14df70f3cfcabb0292e438646da0c306">neg</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Additive <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a> (Negation).  <a href="#a14df70f3cfcabb0292e438646da0c306"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a5c82db46e3aed7f7b7b13ff7a3678d7f">inv</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplicative <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a>.  <a href="#a5c82db46e3aed7f7b7b13ff7a3678d7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a5341ec8c8577c85915cc94b6ce4109f2">axpy</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;r, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;a, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Natural AXPY.  <a href="#a5341ec8c8577c85915cc94b6ce4109f2"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Inplace Arithmetic Operations</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>x &lt;- x op y; x &lt;- op x </p>
</div></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_field_envelope.html#a175255ecaff220c008279280318dbe23">isZero</a> (const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero equality.  <a href="#a175255ecaff220c008279280318dbe23"></a><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_field_envelope.html#a33bc11daa67557dcd93142a42c5d12e1">isOne</a> (const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">One equality.  <a href="#a33bc11daa67557dcd93142a42c5d12e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#af71d1721f7741100988bc6a64e8b6ef9">addin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Addition.  <a href="#af71d1721f7741100988bc6a64e8b6ef9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#abb8e2df18b09bdfaf05ed7d6576f3256">subin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Subtraction.  <a href="#abb8e2df18b09bdfaf05ed7d6576f3256"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#aa488c0e8732503dd36268819b44b6826">mulin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Multiplication.  <a href="#aa488c0e8732503dd36268819b44b6826"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#ab146c35c8b3f267aafd3881b81ce48d5">divin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Division.  <a href="#ab146c35c8b3f267aafd3881b81ce48d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a0c82d6a4688c13b7ec54f6ad5746ffd6">negin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Additive <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a> (Inplace Negation).  <a href="#a0c82d6a4688c13b7ec54f6ad5746ffd6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a3850e9868ea1093cbe79f8979fc00ad3">invin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace Multiplicative <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a>.  <a href="#a3850e9868ea1093cbe79f8979fc00ad3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#aa9a4fc3b266e1d0a54857b420af225f0">axpyin</a> (<a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;r, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;a, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inplace AXPY.  <a href="#aa9a4fc3b266e1d0a54857b420af225f0"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Input/Output Operations</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#acd22def76f55c19076bb6c86104beaf0">write</a> (std::ostream &amp;os) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print field.  <a href="#acd22def76f55c19076bb6c86104beaf0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a7f1e7ece6c12a9a3feb091f90c7c9ac1">read</a> (std::istream &amp;is)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read field.  <a href="#a7f1e7ece6c12a9a3feb091f90c7c9ac1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#ace4a5e73238f68cfb9b39567800cddbd">write</a> (std::ostream &amp;os, const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print field base element.  <a href="#ace4a5e73238f68cfb9b39567800cddbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a52636cdb3a33f02a60ff54047a2bd9ad">read</a> (std::istream &amp;is, <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read field base element.  <a href="#a52636cdb3a33f02a60ff54047a2bd9ad"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79592e36e612f5679eb9b5cedc6162ef"></a><!-- doxytag: member="LinBox::FieldEnvelope::_field" ref="a79592e36e612f5679eb9b5cedc6162ef" args="" -->
<a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_field_envelope.html#a79592e36e612f5679eb9b5cedc6162ef">_field</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapped field. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Field&gt;<br/>
class LinBox::FieldEnvelope&lt; Field &gt;</h3>

<p>Derived class used to implement the field archetype</p>
<p>Helps to minimize code bloat. </p>
<p>This class implements all purely virtual member functions of the abstract base class. This class is used to wrap a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field so that it might be used with the Field archetype. </p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="aafd25cc504cbd7e5dac63a07d00f26bf"></a><!-- doxytag: member="LinBox::FieldEnvelope::Element" ref="aafd25cc504cbd7e5dac63a07d00f26bf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="class_lin_box_1_1_element_envelope.html">ElementEnvelope</a>&lt;<a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a>&gt; <a class="el" href="class_lin_box_1_1_element_abstract.html">Element</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>element type. </p>
<p>It is derived from the class <a class="el" href="class_lin_box_1_1_element_abstract.html" title="Abstract element base class, a technicality.">ElementAbstract</a>, and it must contain a wrapped field element. </p>

<p>Reimplemented from <a class="el" href="class_lin_box_1_1_field_abstract.html#ad12502ddf7557692bed28f01509d6ad4">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a24cb2b4aa01cc4cd5327dc44cba68b15">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a6773510063ce3540e0c5604490d021bd"></a><!-- doxytag: member="LinBox::FieldEnvelope::RandIter" ref="a6773510063ce3540e0c5604490d021bd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="class_lin_box_1_1_rand_iter_envelope.html">RandIterEnvelope</a>&lt;<a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a>&gt; <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html">RandIter</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Random iterator generator type. </p>
<p>It is derived from the class <a class="el" href="class_lin_box_1_1_rand_iter_abstract.html" title="Random field element generator.">RandIterAbstract</a>, and it must contain a wrapped field random iterator generator. </p>

<p>Reimplemented from <a class="el" href="class_lin_box_1_1_field_abstract.html#a5090644d4584268b73899c8a75d9cb7b">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a5688da4c0da10e431c91763d2d899591">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa1dae1ca67d9194a0de6261bfd2a0c22"></a><!-- doxytag: member="LinBox::FieldEnvelope::FieldEnvelope" ref="aa1dae1ca67d9194a0de6261bfd2a0c22" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_field_envelope.html">FieldEnvelope</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>
<p>In this implementation, this means copying the field <code>E._field</code>. </p>

</div>
</div>
<a class="anchor" id="aad4dbe5d90ff552569a0e48366051ddc"></a><!-- doxytag: member="LinBox::FieldEnvelope::FieldEnvelope" ref="aad4dbe5d90ff552569a0e48366051ddc" args="(const Field &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_field_envelope.html">FieldEnvelope</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from field to be wrapped. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>Field object to be wrapped. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af08fb7703cf90ba370a68805d12e5175"></a><!-- doxytag: member="LinBox::FieldEnvelope::FieldEnvelope" ref="af08fb7703cf90ba370a68805d12e5175" args="(const FieldEnvelope &amp;E)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_field_envelope.html">FieldEnvelope</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_field_envelope.html">FieldEnvelope</a>&lt; <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>E</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>
<p>Constructs <a class="el" href="class_lin_box_1_1_field_envelope.html" title="Derived class used to implement the field archetypeHelps to minimize code bloat.">FieldEnvelope</a> object by copying the field. This is required to allow field objects to be passed by value into functions. In this implementation, this means copying the field <code>E._field</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">E</td><td><a class="el" href="class_lin_box_1_1_field_envelope.html" title="Derived class used to implement the field archetypeHelps to minimize code bloat.">FieldEnvelope</a> object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a262dfb4f3ee9562f43deab8892ee33b2"></a><!-- doxytag: member="LinBox::FieldEnvelope::clone" ref="a262dfb4f3ee9562f43deab8892ee33b2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a>* clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual copy constructor. </p>
<p>Required because constructors cannot be virtual. Passes construction on to derived classes. This function is not part of the common object interface. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to new object in dynamic memory. </dd></dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a1e517fe5ca94d1a5adfcc540ce099fb7">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a262dfb4f3ee9562f43deab8892ee33b2">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="add4d0fe7ee6648c123135063ad615902"></a><!-- doxytag: member="LinBox::FieldEnvelope::operator=" ref="add4d0fe7ee6648c123135063ad615902" args="(const FieldAbstract &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_field_abstract.html">FieldAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment operator. </p>
<p>Required by abstract base class. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to <a class="el" href="class_lin_box_1_1_field_abstract.html" title="field base class.">FieldAbstract</a> object for self </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>constant reference to <a class="el" href="class_lin_box_1_1_field_abstract.html" title="field base class.">FieldAbstract</a> object </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a0d91cef5a1d15e6642823e2ae4f7679f">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#add4d0fe7ee6648c123135063ad615902">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a2fb68bbaad94d7bcaa6ac885ec419bf7"></a><!-- doxytag: member="LinBox::FieldEnvelope::init" ref="a2fb68bbaad94d7bcaa6ac885ec419bf7" args="(ElementAbstract &amp;x, const integer &amp;y=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization of field base element from an integer. </p>
<p>Behaves like C++ allocator construct. This function assumes the output field base element x has already been constructed, but that it is not already initialized. This is not a specialization of the template function because such a specialization is not allowed inside the class declaration. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field base element. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field base element to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>integer. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a47bfdcccd591af2c099b7feed89e8131">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a2fb68bbaad94d7bcaa6ac885ec419bf7">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a10841216d71b4a65b0eb3bbea2f84560"></a><!-- doxytag: member="LinBox::FieldEnvelope::convert" ref="a10841216d71b4a65b0eb3bbea2f84560" args="(integer &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; convert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Conversion of field base element to a template class T. </p>
<p>This function assumes the output field base element x has already been constructed, but that it is not already initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to template class T. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>template class T to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>constant field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ad7cc3358cf87219227aba5c25e582a45">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a10841216d71b4a65b0eb3bbea2f84560">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a673f829e78dd90ff25a1fcbbcbb2034c"></a><!-- doxytag: member="LinBox::FieldEnvelope::assign" ref="a673f829e78dd90ff25a1fcbbcbb2034c" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; assign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment of one field base element to another. </p>
<p>This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a8611ea8bbd3d1a3f18545b1181bd8555">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a673f829e78dd90ff25a1fcbbcbb2034c">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ade46ce0a344fcc718625a2296a8104ab"></a><!-- doxytag: member="LinBox::FieldEnvelope::cardinality" ref="ade46ce0a344fcc718625a2296a8104ab" args="(integer &amp;c) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; cardinality </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cardinality. </p>
<p>Return integer representing cardinality of the domain. Returns a non-negative integer for all domains with finite cardinality, and returns -1 to signify a domain of infinite cardinality. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>integer representing cardinality of the domain </dd></dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a75afa5a62104a85bf4ae0f90e07b5073">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#ade46ce0a344fcc718625a2296a8104ab">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aea4d4c3f059080408c3a6344cf9fff10"></a><!-- doxytag: member="LinBox::FieldEnvelope::characteristic" ref="aea4d4c3f059080408c3a6344cf9fff10" args="(integer &amp;c) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; characteristic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Characteristic. </p>
<p>Return integer representing characteristic of the domain. Returns a positive integer to all domains with finite characteristic, and returns 0 to signify a domain of infinite characteristic. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>integer representing characteristic of the domain. </dd></dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a8b06132af70bb3b6411ef5f45a7e9464">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#aea4d4c3f059080408c3a6344cf9fff10">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad2ac546fc349e938c31e5cf280464148"></a><!-- doxytag: member="LinBox::FieldEnvelope::areEqual" ref="ad2ac546fc349e938c31e5cf280464148" args="(const ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool areEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Equality of two elements. </p>
<p>This function assumes both field base elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>boolean true if equal, false if not. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field base element </td></tr>
    <tr><td class="paramname">y</td><td>field base element </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#acbf06b386850a6b5a340c754d7e909b5">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#ad2ac546fc349e938c31e5cf280464148">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad79742154851ab5aaf333135dbb4c306"></a><!-- doxytag: member="LinBox::FieldEnvelope::add" ref="ad79742154851ab5aaf333135dbb4c306" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y, const ElementAbstract &amp;z) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Addition. </p>
<p>x = y + z This function assumes all the field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
    <tr><td class="paramname">z</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a6470a3cd30c5b11ff2b4c2164bf37c1e">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#ad79742154851ab5aaf333135dbb4c306">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ae96d5d3ccd2bbd123b991534a0a9f3bc"></a><!-- doxytag: member="LinBox::FieldEnvelope::sub" ref="ae96d5d3ccd2bbd123b991534a0a9f3bc" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y, const ElementAbstract &amp;z) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; sub </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subtraction. </p>
<p>x = y - z This function assumes all the field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
    <tr><td class="paramname">z</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ac00abbce1365e5b4ad6571a7ee86e25a">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#ae96d5d3ccd2bbd123b991534a0a9f3bc">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a98a253ef2f843aa213b79c3f13fc821c"></a><!-- doxytag: member="LinBox::FieldEnvelope::mul" ref="a98a253ef2f843aa213b79c3f13fc821c" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y, const ElementAbstract &amp;z) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; mul </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiplication. </p>
<p>x = y * z This function assumes all the field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
    <tr><td class="paramname">z</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a9e12115cbbd4810bf1f731c1ff05f145">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a98a253ef2f843aa213b79c3f13fc821c">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a8b893efc55555869218421756dfaa7bd"></a><!-- doxytag: member="LinBox::FieldEnvelope::div" ref="a8b893efc55555869218421756dfaa7bd" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y, const ElementAbstract &amp;z) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; div </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Division. </p>
<p>x = y / z This function assumes all the field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
    <tr><td class="paramname">z</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#aec6fbb9637a5bafb3e2d8054186cea5b">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a8b893efc55555869218421756dfaa7bd">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a14df70f3cfcabb0292e438646da0c306"></a><!-- doxytag: member="LinBox::FieldEnvelope::neg" ref="a14df70f3cfcabb0292e438646da0c306" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; neg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Additive <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a> (Negation). </p>
<p>x = - y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ad5cb192ab045312047342ce7176c719a">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a14df70f3cfcabb0292e438646da0c306">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a5c82db46e3aed7f7b7b13ff7a3678d7f"></a><!-- doxytag: member="LinBox::FieldEnvelope::inv" ref="a5c82db46e3aed7f7b7b13ff7a3678d7f" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; inv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiplicative <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a>. </p>
<p>x = 1 / y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a91661310409f0b132c91f5697c62977a">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a5c82db46e3aed7f7b7b13ff7a3678d7f">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a5341ec8c8577c85915cc94b6ce4109f2"></a><!-- doxytag: member="LinBox::FieldEnvelope::axpy" ref="a5341ec8c8577c85915cc94b6ce4109f2" args="(ElementAbstract &amp;r, const ElementAbstract &amp;a, const ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; axpy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Natural AXPY. </p>
<p>r = a * x + y This function assumes all field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to r. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>field element (reference returned). </td></tr>
    <tr><td class="paramname">a</td><td>field element. </td></tr>
    <tr><td class="paramname">x</td><td>field element. </td></tr>
    <tr><td class="paramname">y</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a47f7600399a96752192ca9165ff1c5fd">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a5341ec8c8577c85915cc94b6ce4109f2">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a175255ecaff220c008279280318dbe23"></a><!-- doxytag: member="LinBox::FieldEnvelope::isZero" ref="a175255ecaff220c008279280318dbe23" args="(const ElementAbstract &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 <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Zero equality. </p>
<p>Test if field base element is equal to zero. This function assumes the field base element has already been constructed and initialized. </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 base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ae1a2b7cb85f963e451be830caf53909f">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a175255ecaff220c008279280318dbe23">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a33bc11daa67557dcd93142a42c5d12e1"></a><!-- doxytag: member="LinBox::FieldEnvelope::isOne" ref="a33bc11daa67557dcd93142a42c5d12e1" args="(const ElementAbstract &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 <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>One equality. </p>
<p>Test if field base element is equal to one. This function assumes the field base element has already been constructed and initialized. </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 base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ae2cf653d7dbaa44aba63c192a70df2ea">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a33bc11daa67557dcd93142a42c5d12e1">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af71d1721f7741100988bc6a64e8b6ef9"></a><!-- doxytag: member="LinBox::FieldEnvelope::addin" ref="af71d1721f7741100988bc6a64e8b6ef9" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; addin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Addition. </p>
<p>x += y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a6bac600eeaafd44cbdd782c4b5da43af">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a9da101d4e9080eaf90e034e16af0fa48">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="abb8e2df18b09bdfaf05ed7d6576f3256"></a><!-- doxytag: member="LinBox::FieldEnvelope::subin" ref="abb8e2df18b09bdfaf05ed7d6576f3256" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; subin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Subtraction. </p>
<p>x -= y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#afc4fafb3a04497d553f21b168d906054">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#aa648278ad7f3c072f25e80d061524a73">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aa488c0e8732503dd36268819b44b6826"></a><!-- doxytag: member="LinBox::FieldEnvelope::mulin" ref="aa488c0e8732503dd36268819b44b6826" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; mulin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Multiplication. </p>
<p>x *= y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#aff837d6b4215a22260675856377b1051">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#aee9f335487358f84c89013d7aac2b8a6">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ab146c35c8b3f267aafd3881b81ce48d5"></a><!-- doxytag: member="LinBox::FieldEnvelope::divin" ref="ab146c35c8b3f267aafd3881b81ce48d5" args="(ElementAbstract &amp;x, const ElementAbstract &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; divin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Division. </p>
<p>x /= y This function assumes both field base 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 base element (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#aa6462599ebcd132fdc88c16441c3670c">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a23753cf3507db4227524f9cac22e85e0">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a0c82d6a4688c13b7ec54f6ad5746ffd6"></a><!-- doxytag: member="LinBox::FieldEnvelope::negin" ref="a0c82d6a4688c13b7ec54f6ad5746ffd6" args="(ElementAbstract &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; negin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Additive <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a> (Inplace Negation). </p>
<p>x = - x This function assumes the field base element has 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 base element (reference returned). </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#acef05b3ba9ee4daf4cf8bfb97dac414d">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a0c82d6a4688c13b7ec54f6ad5746ffd6">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a3850e9868ea1093cbe79f8979fc00ad3"></a><!-- doxytag: member="LinBox::FieldEnvelope::invin" ref="a3850e9868ea1093cbe79f8979fc00ad3" args="(ElementAbstract &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; invin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace Multiplicative <a class="el" href="class_lin_box_1_1_inverse.html" title="A Blackbox for the inverse.">Inverse</a>. </p>
<p>x = 1 / x This function assumes the field base elementhas 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 base element (reference returned). </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a61bcbb86b75af24705cd46f3e17cdb3f">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a3850e9868ea1093cbe79f8979fc00ad3">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aa9a4fc3b266e1d0a54857b420af225f0"></a><!-- doxytag: member="LinBox::FieldEnvelope::axpyin" ref="aa9a4fc3b266e1d0a54857b420af225f0" args="(ElementAbstract &amp;r, const ElementAbstract &amp;a, const ElementAbstract &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a>&amp; axpyin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inplace AXPY. </p>
<p>r += a * x This function assumes all field elements have already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to r. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>field element (reference returned). </td></tr>
    <tr><td class="paramname">a</td><td>field element. </td></tr>
    <tr><td class="paramname">x</td><td>field element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ac876199dea42039c63ea818a588252f2">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a90ea99dae95b84f46baad213e88d87c8">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="acd22def76f55c19076bb6c86104beaf0"></a><!-- doxytag: member="LinBox::FieldEnvelope::write" ref="acd22def76f55c19076bb6c86104beaf0" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print field. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>output stream to which field is written. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>output stream to which field is written. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#a919ba898f7c15a2c5cb347c2371188c1">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#acd22def76f55c19076bb6c86104beaf0">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a7f1e7ece6c12a9a3feb091f90c7c9ac1"></a><!-- doxytag: member="LinBox::FieldEnvelope::read" ref="a7f1e7ece6c12a9a3feb091f90c7c9ac1" args="(std::istream &amp;is)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::istream&amp; read </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>is</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read field. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>input stream from which field is read. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">is</td><td>input stream from which field is read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#ac954f8af69ed35bcaa71c9dba55ff819">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a7f1e7ece6c12a9a3feb091f90c7c9ac1">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ace4a5e73238f68cfb9b39567800cddbd"></a><!-- doxytag: member="LinBox::FieldEnvelope::write" ref="ace4a5e73238f68cfb9b39567800cddbd" args="(std::ostream &amp;os, const ElementAbstract &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print field base element. </p>
<p>This function assumes the field base element has already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>output stream to which field base element is written. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>output stream to which field base element is written. </td></tr>
    <tr><td class="paramname">x</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#aa40dd79f95d3726a91b0fab47c18cdb3">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#ace4a5e73238f68cfb9b39567800cddbd">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a52636cdb3a33f02a60ff54047a2bd9ad"></a><!-- doxytag: member="LinBox::FieldEnvelope::read" ref="a52636cdb3a33f02a60ff54047a2bd9ad" args="(std::istream &amp;is, ElementAbstract &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::istream&amp; read </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>is</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_element_abstract.html">ElementAbstract</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read field base element. </p>
<p>This function assumes the field base element has already been constructed and initialized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>input stream from which field base element is read. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">is</td><td>input stream from which field base element is read. </td></tr>
    <tr><td class="paramname">x</td><td>field base element. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_lin_box_1_1_field_abstract.html#aed49201b19a64b23aa048c6c3275832b">FieldAbstract</a>.</p>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_ring_envelope.html#a52636cdb3a33f02a60ff54047a2bd9ad">RingEnvelope&lt; Ring &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>field/envelope.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>