Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 7457b841ac8136d3a1a9d3d960c5252e > files > 866

libcryptopp-doc-5.2.1-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crypto++:  TemplateQuotientRing&lt; T &gt; class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.7 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>QuotientRing&lt; T &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="algebra_8h-source.html">algebra.h</a>&gt;</code>
<p>
<p>Inheritance diagram for QuotientRing&lt; T &gt;:
<p><center><img src="class_quotient_ring.png" usemap="#QuotientRing< T >_map" border="0" alt=""></center>
<map name="QuotientRing< T >_map">
<area href="class_abstract_ring.html" alt="AbstractRing< T::Element >" shape="rect" coords="0,56,175,80">
<area href="class_abstract_group.html" alt="AbstractGroup< T::Element >" shape="rect" coords="0,0,175,24">
</map>
<a href="class_quotient_ring-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br>
 class QuotientRing&lt; T &gt;</h3>

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>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringw0" doxytag="QuotientRing::EuclideanDomain" ></a>
typedef T&nbsp;</td><td class="memItemRight" valign=bottom><b>EuclideanDomain</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringw1" doxytag="QuotientRing::Element" ></a>
typedef T::Element&nbsp;</td><td class="memItemRight" valign=bottom><b>Element</b></td></tr>

<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa0" doxytag="QuotientRing::QuotientRing" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><b>QuotientRing</b> (const EuclideanDomain &amp;domain, const Element &amp;modulus)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa1" doxytag="QuotientRing::GetDomain" ></a>
const EuclideanDomain &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetDomain</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa2" doxytag="QuotientRing::GetModulus" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>GetModulus</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa3" doxytag="QuotientRing::Equal" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa4" doxytag="QuotientRing::Identity" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Identity</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa5" doxytag="QuotientRing::Add" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa6" doxytag="QuotientRing::Accumulate" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa7" doxytag="QuotientRing::Inverse" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Inverse</b> (const Element &amp;a) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa8" doxytag="QuotientRing::Subtract" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa9" doxytag="QuotientRing::Reduce" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa10" doxytag="QuotientRing::Double" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Double</b> (const Element &amp;a) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa11" doxytag="QuotientRing::IsUnit" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>IsUnit</b> (const Element &amp;a) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa12" doxytag="QuotientRing::MultiplicativeIdentity" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>MultiplicativeIdentity</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa13" doxytag="QuotientRing::Multiply" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa14" doxytag="QuotientRing::Square" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Square</b> (const Element &amp;a) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa15" doxytag="QuotientRing::MultiplicativeInverse" ></a>
const Element &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>MultiplicativeInverse</b> (const Element &amp;a) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringa16" doxytag="QuotientRing::operator==" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_abstract_ringa8" doxytag="QuotientRing::Divide" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa19" doxytag="QuotientRing::Exponentiate" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa20" doxytag="QuotientRing::CascadeExponentiate" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa21" doxytag="QuotientRing::SimultaneousExponentiate" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa22" doxytag="QuotientRing::MultiplicativeGroup" ></a>
virtual const <a class="el" href="class_abstract_group.html">AbstractGroup</a>&lt;<br>
 T::Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>MultiplicativeGroup</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa23" doxytag="QuotientRing::InversionIsFast" ></a>
virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><b>InversionIsFast</b> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa24" doxytag="QuotientRing::ScalarMultiply" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa25" doxytag="QuotientRing::CascadeScalarMultiply" ></a>
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" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa26" doxytag="QuotientRing::SimultaneousMultiply" ></a>
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><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringp0" doxytag="QuotientRing::m_domain" ></a>
EuclideanDomain&nbsp;</td><td class="memItemRight" valign=bottom><b>m_domain</b></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_quotient_ringp1" doxytag="QuotientRing::m_modulus" ></a>
Element&nbsp;</td><td class="memItemRight" valign=bottom><b>m_modulus</b></td></tr>

</table>
<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><a class="el" href="algebra_8cpp-source.html">algebra.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:08 2004 for Crypto++ by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>