Sophie

Sophie

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

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++:  TemplatePolynomialOver&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>PolynomialOver&lt; T &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="polynomi_8h-source.html">polynomi.h</a>&gt;</code>
<p>
<p>Inheritance diagram for PolynomialOver&lt; T &gt;:
<p><center><img src="class_polynomial_over.png" usemap="#PolynomialOver< T >_map" border="0" alt=""></center>
<map name="PolynomialOver< T >_map">
<area href="class_polynomial_over_fixed_ring.html" alt="PolynomialOverFixedRing< T, instance >" shape="rect" coords="0,56,245,80">
</map>
<a href="class_polynomial_over-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br>
 class PolynomialOver&lt; T &gt;</h3>

represents single-variable polynomials over arbitrary rings 
<p>

<p>

<p>
Definition at line <a class="el" href="polynomi_8h-source.html#l00017">17</a> of file <a class="el" href="polynomi_8h-source.html">polynomi.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>ENUMS, EXCEPTIONS, and TYPEDEFS</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz55_0" doxytag="PolynomialOver::Ring" ></a>
typedef T&nbsp;</td><td class="memItemRight" valign=bottom><b>Ring</b></td></tr>

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

<tr><td colspan=2><br><h2>CREATORS</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_0" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_0">PolynomialOver</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates the zero polynomial <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_1" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><b>PolynomialOver</b> (const Ring &amp;ring, unsigned int count)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_2" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_2">PolynomialOver</a> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy constructor <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_3" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_3">PolynomialOver</a> (const CoefficientType &amp;element)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">construct constant polynomial <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_4" doxytag="PolynomialOver::PolynomialOver" ></a>
template&lt;typename Iterator&gt; &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_4">PolynomialOver</a> (Iterator begin, Iterator end)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">construct polynomial with specified coefficients, starting from coefficient of x^0 <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_5" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_5">PolynomialOver</a> (const char *str, const Ring &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from string <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_6" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_6">PolynomialOver</a> (const byte *encodedPolynomialOver, unsigned int byteCount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from big-endian byte array <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_7" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_7">PolynomialOver</a> (const byte *BEREncodedPolynomialOver)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from Basic Encoding Rules encoded byte array <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_8" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_8">PolynomialOver</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from BER encoded byte array stored in a <a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> object <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz57_9" doxytag="PolynomialOver::PolynomialOver" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_overz57_9">PolynomialOver</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">RandomizationParameter</a> &amp;parameter, const Ring &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a random PolynomialOver&lt;T&gt; <br><br></td></tr>
<tr><td colspan=2><br><h2>ACCESSORS</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz59_0" doxytag="PolynomialOver::Degree" ></a>
int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_over_fixed_ringz59_0">Degree</a> (const Ring &amp;ring) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the zero polynomial will return a degree of -1 <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz59_1" doxytag="PolynomialOver::CoefficientCount" ></a>
unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><b>CoefficientCount</b> (const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz59_2" doxytag="PolynomialOver::GetCoefficient" ></a>
CoefficientType&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_over_fixed_ringz59_2">GetCoefficient</a> (unsigned int i, const Ring &amp;ring) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return coefficient for x^i <br><br></td></tr>
<tr><td colspan=2><br><h2>MANIPULATORS</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_overz61_0" doxytag="PolynomialOver::operator=" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>operator=</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz61_0" doxytag="PolynomialOver::Randomize" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Randomize</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const <a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">RandomizationParameter</a> &amp;parameter, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz61_1" doxytag="PolynomialOver::SetCoefficient" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_over_fixed_ringz61_1">SetCoefficient</a> (unsigned int i, const CoefficientType &amp;value, const Ring &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the coefficient for x^i to value <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz61_2" doxytag="PolynomialOver::Negate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>Negate</b> (const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz61_3" doxytag="PolynomialOver::swap" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><b>swap</b> (<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t)</td></tr>

<tr><td colspan=2><br><h2>BASIC ARITHMETIC ON POLYNOMIALS</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_0" doxytag="PolynomialOver::Equals" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>Equals</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_1" doxytag="PolynomialOver::IsZero" ></a>
bool&nbsp;</td><td class="memItemRight" valign=bottom><b>IsZero</b> (const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_2" doxytag="PolynomialOver::Plus" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Plus</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_3" doxytag="PolynomialOver::Minus" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Minus</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_4" doxytag="PolynomialOver::Inverse" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Inverse</b> (const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_5" doxytag="PolynomialOver::Times" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Times</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_6" doxytag="PolynomialOver::DividedBy" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>DividedBy</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_7" doxytag="PolynomialOver::Modulo" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Modulo</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_8" doxytag="PolynomialOver::MultiplicativeInverse" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>MultiplicativeInverse</b> (const Ring &amp;ring) const</td></tr>

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

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_10" doxytag="PolynomialOver::Accumulate" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Accumulate</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_11" doxytag="PolynomialOver::Reduce" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Reduce</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;t, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_12" doxytag="PolynomialOver::Doubled" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Doubled</b> (const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_13" doxytag="PolynomialOver::Squared" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt;&nbsp;</td><td class="memItemRight" valign=bottom><b>Squared</b> (const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_14" doxytag="PolynomialOver::EvaluateAt" ></a>
CoefficientType&nbsp;</td><td class="memItemRight" valign=bottom><b>EvaluateAt</b> (const CoefficientType &amp;x, const Ring &amp;ring) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_15" doxytag="PolynomialOver::ShiftLeft" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>ShiftLeft</b> (unsigned int n, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_16" doxytag="PolynomialOver::ShiftRight" ></a>
<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>ShiftRight</b> (unsigned int n, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz63_17" doxytag="PolynomialOver::Divide" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_polynomial_over.html#_polynomial_over_fixed_ringz63_17">Divide</a> (<a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;r, <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;q, const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;a, const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>&lt; Ring &gt; &amp;d, const Ring &amp;ring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate r and q such that (a == d*q + r) &amp;&amp; (0 &lt;= degree of r &lt; degree of d) <br><br></td></tr>
<tr><td colspan=2><br><h2>INPUT/OUTPUT</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz65_0" doxytag="PolynomialOver::Input" ></a>
std::istream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Input</b> (std::istream &amp;in, const Ring &amp;ring)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_polynomial_over_fixed_ringz65_1" doxytag="PolynomialOver::Output" ></a>
std::ostream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><b>Output</b> (std::ostream &amp;out, const Ring &amp;ring) const</td></tr>

</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="polynomi_8h-source.html">polynomi.h</a><li><a class="el" href="polynomi_8cpp-source.html">polynomi.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:07 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>