Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > 07dfcfe50d66c9a48a3c5e6c1693f12a > files > 1195

cryptopp-doc-5.6.1-0.1.svn479.fc13.i686.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>Crypto++: QuotientRing&lt; T &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.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>QuotientRing&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="QuotientRing" --><!-- doxytag: inherits="AbstractRing&lt; T::Element &gt;" -->
<p>Quotient Ring.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="algebra_8h_source.html">algebra.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for QuotientRing&lt; T &gt;:</div>
<div class="dynsection">
 <div class="center">
  <img src="class_quotient_ring.gif" usemap="#QuotientRing&lt; T &gt;_map" alt=""/>
  <map id="QuotientRing&lt; T &gt;_map" name="QuotientRing&lt; T &gt;_map">
<area href="class_abstract_ring.html" alt="AbstractRing&lt; T::Element &gt;" shape="rect" coords="0,56,175,80"/>
<area href="class_abstract_group.html" alt="AbstractGroup&lt; T::Element &gt;" shape="rect" coords="0,0,175,24"/>
</map>
 </div>
</div>

<p><a href="class_quotient_ring-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeba485b8efc03cb16525c389519833e1"></a><!-- doxytag: member="QuotientRing::EuclideanDomain" ref="aeba485b8efc03cb16525c389519833e1" args="" -->
typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><b>EuclideanDomain</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5fc43636ce1b8ab3c8aa4ec309242e0"></a><!-- doxytag: member="QuotientRing::Element" ref="aa5fc43636ce1b8ab3c8aa4ec309242e0" args="" -->
typedef T::Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>Element</b></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad75b4078b485d09683b5c9eec944a714"></a><!-- doxytag: member="QuotientRing::QuotientRing" ref="ad75b4078b485d09683b5c9eec944a714" args="(const EuclideanDomain &amp;domain, const Element &amp;modulus)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>QuotientRing</b> (const EuclideanDomain &amp;domain, const Element &amp;modulus)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aba5afdb504051dddeb9704bd02c490"></a><!-- doxytag: member="QuotientRing::GetDomain" ref="a6aba5afdb504051dddeb9704bd02c490" args="() const " -->
const EuclideanDomain &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDomain</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79d382173484c284cac62d8fb341e68d"></a><!-- doxytag: member="QuotientRing::GetModulus" ref="a79d382173484c284cac62d8fb341e68d" args="() const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetModulus</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27c74d4476883847533c49acbc628822"></a><!-- doxytag: member="QuotientRing::Equal" ref="a27c74d4476883847533c49acbc628822" args="(const Element &amp;a, const Element &amp;b) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>Equal</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af569e328dd07b9c1758633c742ca178e"></a><!-- doxytag: member="QuotientRing::Identity" ref="af569e328dd07b9c1758633c742ca178e" args="() const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Identity</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455b3ef5b970e6f9af4e7b947dc3e89e"></a><!-- doxytag: member="QuotientRing::Add" ref="a455b3ef5b970e6f9af4e7b947dc3e89e" args="(const Element &amp;a, const Element &amp;b) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Add</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a516445c6cd0a881edc97de6fc99ea4a7"></a><!-- doxytag: member="QuotientRing::Accumulate" ref="a516445c6cd0a881edc97de6fc99ea4a7" args="(Element &amp;a, const Element &amp;b) const " -->
Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Accumulate</b> (Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32a8f4858aa802ef080984b5a00be015"></a><!-- doxytag: member="QuotientRing::Inverse" ref="a32a8f4858aa802ef080984b5a00be015" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Inverse</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84eadc2e3d6c726ce402a5bf4ec854df"></a><!-- doxytag: member="QuotientRing::Subtract" ref="a84eadc2e3d6c726ce402a5bf4ec854df" args="(const Element &amp;a, const Element &amp;b) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Subtract</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f91d1daa995dbe41f7526d88c377977"></a><!-- doxytag: member="QuotientRing::Reduce" ref="a3f91d1daa995dbe41f7526d88c377977" args="(Element &amp;a, const Element &amp;b) const " -->
Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Reduce</b> (Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8789051cffe054f0edf5e9ac7d9cb686"></a><!-- doxytag: member="QuotientRing::Double" ref="a8789051cffe054f0edf5e9ac7d9cb686" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Double</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8732f66da8d4cef1932d2738a5583ad"></a><!-- doxytag: member="QuotientRing::IsUnit" ref="af8732f66da8d4cef1932d2738a5583ad" args="(const Element &amp;a) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76393d59a5d54a8138ecf9a12bc03f84"></a><!-- doxytag: member="QuotientRing::MultiplicativeIdentity" ref="a76393d59a5d54a8138ecf9a12bc03f84" args="() const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeIdentity</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9743b3bec9033de1243205cb0178a8a0"></a><!-- doxytag: member="QuotientRing::Multiply" ref="a9743b3bec9033de1243205cb0178a8a0" args="(const Element &amp;a, const Element &amp;b) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Multiply</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4b1b1638b50483bf4904fc909f54883"></a><!-- doxytag: member="QuotientRing::Square" ref="aa4b1b1638b50483bf4904fc909f54883" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Square</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4188ae1dccb83f17c118748afd60df8"></a><!-- doxytag: member="QuotientRing::MultiplicativeInverse" ref="ac4188ae1dccb83f17c118748afd60df8" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a847f1d958a70c9caf1713321a6055c52"></a><!-- doxytag: member="QuotientRing::operator==" ref="a847f1d958a70c9caf1713321a6055c52" args="(const QuotientRing&lt; T &gt; &amp;rhs) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="class_quotient_ring.html">QuotientRing</a>&lt; T &gt; &amp;rhs) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3240b133d9df74c34868c11901b304fe"></a><!-- doxytag: member="QuotientRing::Divide" ref="a3240b133d9df74c34868c11901b304fe" args="(const Element &amp;a, const Element &amp;b) const" -->
virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Divide</b> (const Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23be7c80484bc46fd8beaa0a6aefa66d"></a><!-- doxytag: member="QuotientRing::Exponentiate" ref="a23be7c80484bc46fd8beaa0a6aefa66d" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>Exponentiate</b> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbe859e24ea6ee1e22ed2a1261f7f9d0"></a><!-- doxytag: member="QuotientRing::CascadeExponentiate" ref="acbe859e24ea6ee1e22ed2a1261f7f9d0" args="(const Element &amp;x, const Integer &amp;e1, const Element &amp;y, const Integer &amp;e2) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeExponentiate</b> (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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56b1047d5e1c57d9b3c52e20af464cfe"></a><!-- doxytag: member="QuotientRing::SimultaneousExponentiate" ref="a56b1047d5e1c57d9b3c52e20af464cfe" args="(Element *results, const Element &amp;base, const Integer *exponents, unsigned int exponentsCount) const" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimultaneousExponentiate</b> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab48b7bf4c39d1b2bd06ac92e71e0b905"></a><!-- doxytag: member="QuotientRing::MultiplicativeGroup" ref="ab48b7bf4c39d1b2bd06ac92e71e0b905" args="() const" -->
virtual const <a class="el" href="class_abstract_group.html">AbstractGroup</a><br class="typebreak"/>
&lt; T::Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeGroup</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac571ac9b67ad9b7ef893c715b1ec2f43"></a><!-- doxytag: member="QuotientRing::InversionIsFast" ref="ac571ac9b67ad9b7ef893c715b1ec2f43" args="() const" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>InversionIsFast</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf1b8d510593fd5a9e8111580107741b"></a><!-- doxytag: member="QuotientRing::ScalarMultiply" ref="abf1b8d510593fd5a9e8111580107741b" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>ScalarMultiply</b> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca3e1ca578003aff2595cc8d73522894"></a><!-- doxytag: member="QuotientRing::CascadeScalarMultiply" ref="aca3e1ca578003aff2595cc8d73522894" args="(const Element &amp;x, const Integer &amp;e1, const Element &amp;y, const Integer &amp;e2) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeScalarMultiply</b> (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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00a5cd4b22aab947ec107ec93ad13122"></a><!-- doxytag: member="QuotientRing::SimultaneousMultiply" ref="a00a5cd4b22aab947ec107ec93ad13122" args="(Element *results, const Element &amp;base, const Integer *exponents, unsigned int exponentsCount) const" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimultaneousMultiply</b> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa96b7fc70b6b3abbc3a1eca196d7b6c"></a><!-- doxytag: member="QuotientRing::m_domain" ref="afa96b7fc70b6b3abbc3a1eca196d7b6c" args="" -->
EuclideanDomain&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_domain</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07127b18d71b1a503e29436fce18e5b4"></a><!-- doxytag: member="QuotientRing::m_modulus" ref="a07127b18d71b1a503e29436fce18e5b4" args="" -->
Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_modulus</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br/>
 class QuotientRing&lt; T &gt;</h3>

<p>Quotient Ring. </p>

<p>Definition at line <a class="el" href="algebra_8h_source.html#l00218">218</a> of file <a class="el" href="algebra_8h_source.html">algebra.h</a>.</p>
<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>
<hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>