Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 0a67b807a02637f2cae68649d519a89d > files > 268

libcryptopp-devel-7.0.0-1.mga7.armv7hl.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crypto++: AbstractGroup&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crypto++
   &#160;<span id="projectnumber">7.0</span>
   </div>
   <div id="projectbrief">Free&nbsp;C&#43;&#43;&nbsp;class&nbsp;library&nbsp;of&nbsp;cryptographic&nbsp;schemes</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_abstract_group-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AbstractGroup&lt; T &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract group.  
 <a href="class_abstract_group.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for AbstractGroup&lt; T &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_abstract_group.png" usemap="#AbstractGroup_3C_20T_20_3E_map" alt=""/>
  <map id="AbstractGroup_3C_20T_20_3E_map" name="AbstractGroup_3C_20T_20_3E_map">
<area href="class_abstract_ring.html" title="Abstract ring. " alt="AbstractRing&lt; T &gt;" shape="rect" coords="0,56,188,80"/>
<area href="class_abstract_ring.html" alt="AbstractRing&lt; T::Element &gt;" shape="rect" coords="198,56,386,80"/>
<area href="class_abstract_euclidean_domain.html" title="Abstract Euclidean domain. " alt="AbstractEuclideanDomain&lt; T &gt;" shape="rect" coords="0,112,188,136"/>
<area href="class_quotient_ring.html" title="Quotient ring. " alt="QuotientRing&lt; T &gt;" shape="rect" coords="198,112,386,136"/>
<area href="class_euclidean_domain_of.html" title="Euclidean domain. " alt="EuclideanDomainOf&lt; T &gt;" shape="rect" coords="0,168,188,192"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a4a2b3308fb5c13f70fcc5746be52ba7b"><td class="memItemLeft" align="right" valign="top"><a id="a4a2b3308fb5c13f70fcc5746be52ba7b"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>Element</b></td></tr>
<tr class="separator:a4a2b3308fb5c13f70fcc5746be52ba7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0d72cb663566b7c056f846a561547bec"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a0d72cb663566b7c056f846a561547bec">Equal</a> (const Element &amp;a, const Element &amp;b) const =0</td></tr>
<tr class="memdesc:a0d72cb663566b7c056f846a561547bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two elements for equality.  <a href="#a0d72cb663566b7c056f846a561547bec">More...</a><br /></td></tr>
<tr class="separator:a0d72cb663566b7c056f846a561547bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a929ba4e6a7d7d80344946efad0456d5b"><td class="memItemLeft" align="right" valign="top">virtual const Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a929ba4e6a7d7d80344946efad0456d5b">Identity</a> () const =0</td></tr>
<tr class="memdesc:a929ba4e6a7d7d80344946efad0456d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the Identity element.  <a href="#a929ba4e6a7d7d80344946efad0456d5b">More...</a><br /></td></tr>
<tr class="separator:a929ba4e6a7d7d80344946efad0456d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa813430d9e4244de24c487d090eb5797"><td class="memItemLeft" align="right" valign="top">virtual const Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#aa813430d9e4244de24c487d090eb5797">Add</a> (const Element &amp;a, const Element &amp;b) const =0</td></tr>
<tr class="memdesc:aa813430d9e4244de24c487d090eb5797"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds elements in the group.  <a href="#aa813430d9e4244de24c487d090eb5797">More...</a><br /></td></tr>
<tr class="separator:aa813430d9e4244de24c487d090eb5797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22563bc0dcb544399d7e22b3589e165"><td class="memItemLeft" align="right" valign="top">virtual const Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#ab22563bc0dcb544399d7e22b3589e165">Inverse</a> (const Element &amp;a) const =0</td></tr>
<tr class="memdesc:ab22563bc0dcb544399d7e22b3589e165"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverts the element in the group.  <a href="#ab22563bc0dcb544399d7e22b3589e165">More...</a><br /></td></tr>
<tr class="separator:ab22563bc0dcb544399d7e22b3589e165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257836994abefe25b80293f4c6b10f60"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a257836994abefe25b80293f4c6b10f60">InversionIsFast</a> () const</td></tr>
<tr class="memdesc:a257836994abefe25b80293f4c6b10f60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if inversion is fast.  <a href="#a257836994abefe25b80293f4c6b10f60">More...</a><br /></td></tr>
<tr class="separator:a257836994abefe25b80293f4c6b10f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaceaf9c9c24606efc38d30fd8aff5ee"><td class="memItemLeft" align="right" valign="top">virtual const Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#afaceaf9c9c24606efc38d30fd8aff5ee">Double</a> (const Element &amp;a) const</td></tr>
<tr class="memdesc:afaceaf9c9c24606efc38d30fd8aff5ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doubles an element in the group.  <a href="#afaceaf9c9c24606efc38d30fd8aff5ee">More...</a><br /></td></tr>
<tr class="separator:afaceaf9c9c24606efc38d30fd8aff5ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa19e1bef00198fb30eb01df3f7076717"><td class="memItemLeft" align="right" valign="top">virtual const Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#aa19e1bef00198fb30eb01df3f7076717">Subtract</a> (const Element &amp;a, const Element &amp;b) const</td></tr>
<tr class="memdesc:aa19e1bef00198fb30eb01df3f7076717"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts elements in the group.  <a href="#aa19e1bef00198fb30eb01df3f7076717">More...</a><br /></td></tr>
<tr class="separator:aa19e1bef00198fb30eb01df3f7076717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab03cc0a23f23c6aa1c003e11f9abb8c5"><td class="memItemLeft" align="right" valign="top">virtual Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#ab03cc0a23f23c6aa1c003e11f9abb8c5">Accumulate</a> (Element &amp;a, const Element &amp;b) const</td></tr>
<tr class="memdesc:ab03cc0a23f23c6aa1c003e11f9abb8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO.  <a href="#ab03cc0a23f23c6aa1c003e11f9abb8c5">More...</a><br /></td></tr>
<tr class="separator:ab03cc0a23f23c6aa1c003e11f9abb8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40f7de55eddc193e07a7c3b5acad781a"><td class="memItemLeft" align="right" valign="top">virtual Element &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a40f7de55eddc193e07a7c3b5acad781a">Reduce</a> (Element &amp;a, const Element &amp;b) const</td></tr>
<tr class="memdesc:a40f7de55eddc193e07a7c3b5acad781a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces an element in the congruence class.  <a href="#a40f7de55eddc193e07a7c3b5acad781a">More...</a><br /></td></tr>
<tr class="separator:a40f7de55eddc193e07a7c3b5acad781a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac01536b91c4fa3d0e0f929917143595b"><td class="memItemLeft" align="right" valign="top">virtual Element&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#ac01536b91c4fa3d0e0f929917143595b">ScalarMultiply</a> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr>
<tr class="memdesc:ac01536b91c4fa3d0e0f929917143595b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a scalar multiplication.  <a href="#ac01536b91c4fa3d0e0f929917143595b">More...</a><br /></td></tr>
<tr class="separator:ac01536b91c4fa3d0e0f929917143595b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89bd24f1a83e62ac8cc5ad014cb5883e"><td class="memItemLeft" align="right" valign="top">virtual Element&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a89bd24f1a83e62ac8cc5ad014cb5883e">CascadeScalarMultiply</a> (const Element &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const Element &amp;y, const <a class="el" href="class_integer.html">Integer</a> &amp;e2) const</td></tr>
<tr class="memdesc:a89bd24f1a83e62ac8cc5ad014cb5883e"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO.  <a href="#a89bd24f1a83e62ac8cc5ad014cb5883e">More...</a><br /></td></tr>
<tr class="separator:a89bd24f1a83e62ac8cc5ad014cb5883e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c73ab688612e76786f43e311376eb8d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_abstract_group.html#a9c73ab688612e76786f43e311376eb8d">SimultaneousMultiply</a> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr class="memdesc:a9c73ab688612e76786f43e311376eb8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies a base to multiple exponents in a group.  <a href="#a9c73ab688612e76786f43e311376eb8d">More...</a><br /></td></tr>
<tr class="separator:a9c73ab688612e76786f43e311376eb8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br />
class AbstractGroup&lt; T &gt;</h3>

<p>Abstract group. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>element class or type</td></tr>
  </table>
  </dd>
</dl>
<p><code>const Element&amp;</code> returned by member functions are references to internal data members. Since each object may have only one such data member for holding results, the following code will produce incorrect results: </p><pre>    abcd = group.Add(group.Add(a,b), group.Add(c,d));</pre><p> But this should be fine: </p><pre>    abcd = group.Add(a, group.Add(b, group.Add(c,d));</pre> 
<p class="definition">Definition at line <a class="el" href="algebra_8h_source.html#l00026">26</a> of file <a class="el" href="algebra_8h_source.html">algebra.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a0d72cb663566b7c056f846a561547bec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d72cb663566b7c056f846a561547bec">&#9670;&nbsp;</a></span>Equal()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Equal </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</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compare two elements for equality. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first element </td></tr>
    <tr><td class="paramname">b</td><td>second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the elements are equal, false otherwise</dd></dl>
<p><a class="el" href="class_abstract_group.html#a0d72cb663566b7c056f846a561547bec" title="Compare two elements for equality. ">Equal()</a> tests the elements for equality using <code>a==b</code> </p>

<p>Implemented in <a class="el" href="class_quotient_ring.html#a95a675aaca290e8cc05a56361c7d56f3">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#a95a675aaca290e8cc05a56361c7d56f3">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a9874b8b2aaee21b9c4f75a9372151489">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a59813252a0e0a490ea5a0420af5e9cc2">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a59813252a0e0a490ea5a0420af5e9cc2">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_g_f2_n_p.html#a6e1d77aefacee1a620dee8f1299cee9b">GF2NP</a>, <a class="el" href="class_modular_arithmetic.html#a89c5edea6e87341761c35ab03a46bcc0">ModularArithmetic</a>, <a class="el" href="class_g_f_p2___o_n_b.html#aab4d8f8eec60122c1f3e3ba2c9ad2673">GFP2_ONB&lt; F &gt;</a>, <a class="el" href="class_e_c_p.html#a60fbeaa2294171f914f1e7c6ecda776e">ECP</a>, and <a class="el" href="class_e_c2_n.html#a7488f2612e1fea76b6e74a2be66e9ec3">EC2N</a>.</p>

</div>
</div>
<a id="a929ba4e6a7d7d80344946efad0456d5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a929ba4e6a7d7d80344946efad0456d5b">&#9670;&nbsp;</a></span>Identity()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const Element&amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Identity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides the Identity element. </p>
<dl class="section return"><dt>Returns</dt><dd>the Identity element </dd></dl>

<p>Implemented in <a class="el" href="class_quotient_ring.html#a80815f5757c80106ae7dc2db2799b835">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#a80815f5757c80106ae7dc2db2799b835">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a458ef6812fccb23fa063d9a15d27a67b">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a6d35c27f3e48c24c4cb6f93275f5ed01">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a6d35c27f3e48c24c4cb6f93275f5ed01">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#abd2425e1caf5af1a290b424cadb1517c">ModularArithmetic</a>, <a class="el" href="class_g_f_p2___o_n_b.html#a386495ffc3d413f461a9001fe6f30642">GFP2_ONB&lt; F &gt;</a>, <a class="el" href="class_e_c_p.html#a8a6ea0e6a710a7ff118ce5c9fa48c55e">ECP</a>, and <a class="el" href="class_e_c2_n.html#a57b7b1ad3cc32c727d1d132ca2f2210f">EC2N</a>.</p>

</div>
</div>
<a id="aa813430d9e4244de24c487d090eb5797"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa813430d9e4244de24c487d090eb5797">&#9670;&nbsp;</a></span>Add()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const Element&amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Add </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</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds elements in the group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first element </td></tr>
    <tr><td class="paramname">b</td><td>second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the sum of <code>a</code> and <code>b</code> </dd></dl>

<p>Implemented in <a class="el" href="class_quotient_ring.html#ae373c31fe91c497e9eabd2c33b70ed98">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#ae373c31fe91c497e9eabd2c33b70ed98">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a3ff8fa662fa5f4f6b850e9dc16958822">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a7112d4646dfb57a7437f0b04e605e653">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a7112d4646dfb57a7437f0b04e605e653">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#af840f9421d210579fb9b526a90e857fe">ModularArithmetic</a>, <a class="el" href="class_g_f_p2___o_n_b.html#abd707cb221dd44914e8cde2839ad90c7">GFP2_ONB&lt; F &gt;</a>, <a class="el" href="class_e_c_p.html#ae02a3946666ba03470a346270d6f8820">ECP</a>, and <a class="el" href="class_e_c2_n.html#a84c0a46b7540a13a0c1ba0d78c50265f">EC2N</a>.</p>

</div>
</div>
<a id="ab22563bc0dcb544399d7e22b3589e165"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab22563bc0dcb544399d7e22b3589e165">&#9670;&nbsp;</a></span>Inverse()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const Element&amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Inverse </td>
          <td>(</td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inverts the element in the group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the inverse of the element </dd></dl>

<p>Implemented in <a class="el" href="class_quotient_ring.html#aa94188206e0504c0a5afae6a7af8e827">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#aa94188206e0504c0a5afae6a7af8e827">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#aa807d70d825213c7296b639dac60123b">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a277f3f0795e9a050c81d47a499971052">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a277f3f0795e9a050c81d47a499971052">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#a355c52bd9e20a22037f17d0461b4575a">ModularArithmetic</a>, <a class="el" href="class_g_f_p2___o_n_b.html#ac9fa7ce33239b3d7f88c9cac9c2d74d3">GFP2_ONB&lt; F &gt;</a>, <a class="el" href="class_e_c_p.html#a235a3931b7f4611fa7a1a3d5a95036ce">ECP</a>, and <a class="el" href="class_e_c2_n.html#a0d0d8011f94bbc74800afd638d1986b1">EC2N</a>.</p>

</div>
</div>
<a id="a257836994abefe25b80293f4c6b10f60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a257836994abefe25b80293f4c6b10f60">&#9670;&nbsp;</a></span>InversionIsFast()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::InversionIsFast </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine if inversion is fast. </p>
<dl class="section return"><dt>Returns</dt><dd>true if inversion is fast, false otherwise </dd></dl>

<p>Reimplemented in <a class="el" href="class_e_c_p.html#a0031a4a3a18999fda3942713da554697">ECP</a>, and <a class="el" href="class_e_c2_n.html#a882b847bebd50e11af7c9240c349c380">EC2N</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8h_source.html#l00057">57</a> of file <a class="el" href="algebra_8h_source.html">algebra.h</a>.</p>

</div>
</div>
<a id="afaceaf9c9c24606efc38d30fd8aff5ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaceaf9c9c24606efc38d30fd8aff5ee">&#9670;&nbsp;</a></span>Double()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T &amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Double </td>
          <td>(</td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Doubles an element in the group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>the element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the element doubled </dd></dl>

<p>Reimplemented in <a class="el" href="class_quotient_ring.html#a2eb5b91a5e873fb022a3bb479bb81801">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#a2eb5b91a5e873fb022a3bb479bb81801">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a8671a526a886b19474e5f47889bc404f">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#af2ce6444adcefb7009b2e253db19af25">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#af2ce6444adcefb7009b2e253db19af25">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#a042dc36ae961ede73694e4c5dcf7cbbc">ModularArithmetic</a>, <a class="el" href="class_g_f_p2___o_n_b.html#a39cef4f74a7bd5588a7293b1d364334e">GFP2_ONB&lt; F &gt;</a>, <a class="el" href="class_e_c_p.html#a9528bc2c3075fff6c03e257846958497">ECP</a>, and <a class="el" href="class_e_c2_n.html#a88f8a86a94bdf8c1c11104becdd0af82">EC2N</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00015">15</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="aa19e1bef00198fb30eb01df3f7076717"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa19e1bef00198fb30eb01df3f7076717">&#9670;&nbsp;</a></span>Subtract()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T &amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Subtract </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</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Subtracts elements in the group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first element </td></tr>
    <tr><td class="paramname">b</td><td>second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the difference of <code>a</code> and <code>b</code>. The element <code>a</code> must provide a Subtract member function. </dd></dl>

<p>Reimplemented in <a class="el" href="class_quotient_ring.html#a08834bbb0829ab02b7f33fd1fd6ef65a">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#a08834bbb0829ab02b7f33fd1fd6ef65a">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#acf0bf71815e9b6d1a9caac9654a5c227">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#ac44bd3c9af42467bfdd822ef7046bc26">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#ac44bd3c9af42467bfdd822ef7046bc26">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#ae4705633e8ca4308894f9a26c6f2881c">ModularArithmetic</a>, and <a class="el" href="class_g_f_p2___o_n_b.html#aedbcc151eca01f823b6d8c34f792fad9">GFP2_ONB&lt; F &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00020">20</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="ab03cc0a23f23c6aa1c003e11f9abb8c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab03cc0a23f23c6aa1c003e11f9abb8c5">&#9670;&nbsp;</a></span>Accumulate()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T &amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Accumulate </td>
          <td>(</td>
          <td class="paramtype">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</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>TODO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first element </td></tr>
    <tr><td class="paramname">b</td><td>second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TODO </dd></dl>

<p>Reimplemented in <a class="el" href="class_quotient_ring.html#a6bc3a34f0a3f04741005d6d5722b480b">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#a6bc3a34f0a3f04741005d6d5722b480b">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a6f6d9905144ff7e38b0f68401207d652">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a59f13cb1ceab7359f62dcaa2ca6ad9a5">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#a59f13cb1ceab7359f62dcaa2ca6ad9a5">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#acf6e8cc8fcabe8eed4c7ebc4361d28fc">ModularArithmetic</a>, and <a class="el" href="class_g_f_p2___o_n_b.html#a9ea72a20954c87db4467e14fdaa67037">GFP2_ONB&lt; F &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00027">27</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="a40f7de55eddc193e07a7c3b5acad781a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40f7de55eddc193e07a7c3b5acad781a">&#9670;&nbsp;</a></span>Reduce()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T &amp; <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::Reduce </td>
          <td>(</td>
          <td class="paramtype">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</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reduces an element in the congruence class. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>element to reduce </td></tr>
    <tr><td class="paramname">b</td><td>the congruence class </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the reduced element </dd></dl>

<p>Reimplemented in <a class="el" href="class_quotient_ring.html#aaa33bb2ffbdf18997c825d5fdfb68ed4">QuotientRing&lt; T &gt;</a>, <a class="el" href="class_quotient_ring.html#aaa33bb2ffbdf18997c825d5fdfb68ed4">QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;</a>, <a class="el" href="class_ring_of_polynomials_over.html#a3b71ffe9c999063225fa9baae5bbccda">RingOfPolynomialsOver&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#ab7fa9e94f9583efdb69df0f8c6401e1e">EuclideanDomainOf&lt; T &gt;</a>, <a class="el" href="class_euclidean_domain_of.html#ab7fa9e94f9583efdb69df0f8c6401e1e">EuclideanDomainOf&lt; PolynomialMod2 &gt;</a>, <a class="el" href="class_modular_arithmetic.html#a131ab327c94c1967a936c144769d098c">ModularArithmetic</a>, and <a class="el" href="class_g_f_p2___o_n_b.html#ac6d39d886f9ddc047fcc4c5adcc23db9">GFP2_ONB&lt; F &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00032">32</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="ac01536b91c4fa3d0e0f929917143595b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac01536b91c4fa3d0e0f929917143595b">&#9670;&nbsp;</a></span>ScalarMultiply()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::ScalarMultiply </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 <a class="el" href="class_integer.html">Integer</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a scalar multiplication. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>multiplicand </td></tr>
    <tr><td class="paramname">e</td><td>multiplier </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the product </dd></dl>

<p>Reimplemented in <a class="el" href="class_e_c_p.html#a3a2b80bdd5e9c39229962c8b87e7023a">ECP</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00090">90</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="a89bd24f1a83e62ac8cc5ad014cb5883e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89bd24f1a83e62ac8cc5ad014cb5883e">&#9670;&nbsp;</a></span>CascadeScalarMultiply()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::CascadeScalarMultiply </td>
          <td>(</td>
          <td class="paramtype">const Element &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_integer.html">Integer</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_integer.html">Integer</a> &amp;&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>TODO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>first multiplicand </td></tr>
    <tr><td class="paramname">e1</td><td>the first multiplier </td></tr>
    <tr><td class="paramname">y</td><td>second multiplicand </td></tr>
    <tr><td class="paramname">e2</td><td>the second multiplier </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TODO </dd></dl>

<p>Reimplemented in <a class="el" href="class_e_c_p.html#a905ca5e76a69b26efba70c46be3576fb">ECP</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00097">97</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<a id="a9c73ab688612e76786f43e311376eb8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c73ab688612e76786f43e311376eb8d">&#9670;&nbsp;</a></span>SimultaneousMultiply()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt; T &gt;::SimultaneousMultiply </td>
          <td>(</td>
          <td class="paramtype">Element *&#160;</td>
          <td class="paramname"><em>results</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_integer.html">Integer</a> *&#160;</td>
          <td class="paramname"><em>exponents</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>exponentsCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Multiplies a base to multiple exponents in a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">results</td><td>an array of Elements </td></tr>
    <tr><td class="paramname">base</td><td>the base to raise to the exponents </td></tr>
    <tr><td class="paramname">exponents</td><td>an array of exponents </td></tr>
    <tr><td class="paramname">exponentsCount</td><td>the number of exponents in the array</td></tr>
  </table>
  </dd>
</dl>
<p><a class="el" href="class_abstract_group.html#a9c73ab688612e76786f43e311376eb8d" title="Multiplies a base to multiple exponents in a group. ">SimultaneousMultiply()</a> multiplies the base to each exponent in the exponents array and stores the result at the respective position in the results array.</p>
<p><a class="el" href="class_abstract_group.html#a9c73ab688612e76786f43e311376eb8d" title="Multiplies a base to multiple exponents in a group. ">SimultaneousMultiply()</a> must be implemented in a derived class. </p><dl class="section pre"><dt>Precondition</dt><dd><code><a class="el" href="misc_8h.html#a2d7e4464ea73d6393ebe78f952253426" title="Counts elements in an array. ">COUNTOF(results)</a> == exponentsCount</code> </dd>
<dd>
<code><a class="el" href="misc_8h.html#a2d7e4464ea73d6393ebe78f952253426" title="Counts elements in an array. ">COUNTOF(exponents)</a> == exponentsCount</code> </dd></dl>

<p>Reimplemented in <a class="el" href="class_e_c_p.html#af6f7bcfb3ff89c7d6ba1265640f95d03">ECP</a>.</p>

<p class="definition">Definition at line <a class="el" href="algebra_8cpp_source.html#l00256">256</a> of file <a class="el" href="algebra_8cpp_source.html">algebra.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="algebra_8h_source.html">algebra.h</a></li>
<li><a class="el" href="algebra_8cpp_source.html">algebra.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Sep 16 2018 07:58:11 for Crypto++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>