<!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++: TemplateRingOfPolynomialsOver< T > 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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>RingOfPolynomialsOver< T > Class Template Reference</h1><code>#include <<a class="el" href="polynomi_8h-source.html">polynomi.h</a>></code> <p> <p>Inheritance diagram for RingOfPolynomialsOver< T >: <p><center><img src="class_ring_of_polynomials_over.png" usemap="#RingOfPolynomialsOver< T >_map" border="0" alt=""></center> <map name="RingOfPolynomialsOver< T >_map"> <area href="class_abstract_euclidean_domain.html" alt="AbstractEuclideanDomain< PolynomialOver< T > >" shape="rect" coords="0,112,302,136"> <area href="class_abstract_ring.html" alt="AbstractRing< PolynomialOver< T > >" shape="rect" coords="0,56,302,80"> <area href="class_abstract_group.html" alt="AbstractGroup< PolynomialOver< T > >" shape="rect" coords="0,0,302,24"> </map> <a href="class_ring_of_polynomials_over-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class T><br> class RingOfPolynomialsOver< T ></h3> Ring of polynomials over another ring. <p> <p> Definition at line <a class="el" href="polynomi_8h-source.html#l00310">310</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>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overw0" doxytag="RingOfPolynomialsOver::CoefficientRing" ></a> typedef T </td><td class="memItemRight" valign=bottom><b>CoefficientRing</b></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overw1" doxytag="RingOfPolynomialsOver::Element" ></a> typedef <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< T > </td><td class="memItemRight" valign=bottom><b>Element</b></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overw2" doxytag="RingOfPolynomialsOver::CoefficientType" ></a> typedef Element::CoefficientType </td><td class="memItemRight" valign=bottom><b>CoefficientType</b></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overw3" doxytag="RingOfPolynomialsOver::RandomizationParameter" ></a> typedef Element::RandomizationParameter </td><td class="memItemRight" valign=bottom><b>RandomizationParameter</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="_ring_of_polynomials_overa0" doxytag="RingOfPolynomialsOver::RingOfPolynomialsOver" ></a> </td><td class="memItemRight" valign=bottom><b>RingOfPolynomialsOver</b> (const CoefficientRing &ring)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa1" doxytag="RingOfPolynomialsOver::RandomElement" ></a> <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>RandomElement</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const RandomizationParameter &parameter)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa2" doxytag="RingOfPolynomialsOver::Equal" ></a> bool </td><td class="memItemRight" valign=bottom><b>Equal</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa3" doxytag="RingOfPolynomialsOver::Identity" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </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="_ring_of_polynomials_overa4" doxytag="RingOfPolynomialsOver::Add" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Add</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa5" doxytag="RingOfPolynomialsOver::Accumulate" ></a> <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Accumulate</b> (<a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa6" doxytag="RingOfPolynomialsOver::Inverse" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Inverse</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa7" doxytag="RingOfPolynomialsOver::Subtract" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Subtract</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa8" doxytag="RingOfPolynomialsOver::Reduce" ></a> <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Reduce</b> (<a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa9" doxytag="RingOfPolynomialsOver::Double" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Double</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa10" doxytag="RingOfPolynomialsOver::MultiplicativeIdentity" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </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="_ring_of_polynomials_overa11" doxytag="RingOfPolynomialsOver::Multiply" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Multiply</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa12" doxytag="RingOfPolynomialsOver::Square" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Square</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa13" doxytag="RingOfPolynomialsOver::IsUnit" ></a> bool </td><td class="memItemRight" valign=bottom><b>IsUnit</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa14" doxytag="RingOfPolynomialsOver::MultiplicativeInverse" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>MultiplicativeInverse</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa15" doxytag="RingOfPolynomialsOver::Divide" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Divide</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa16" doxytag="RingOfPolynomialsOver::Mod" ></a> const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Mod</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa17" doxytag="RingOfPolynomialsOver::DivisionAlgorithm" ></a> void </td><td class="memItemRight" valign=bottom><b>DivisionAlgorithm</b> (<a class="el" href="class_polynomial_over.html">Element</a> &r, <a class="el" href="class_polynomial_over.html">Element</a> &q, const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &d) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa18" doxytag="RingOfPolynomialsOver::Interpolate" ></a> <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>Interpolate</b> (const CoefficientType x[], const CoefficientType y[], unsigned int n) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overa19" doxytag="RingOfPolynomialsOver::InterpolateAt" ></a> CoefficientType </td><td class="memItemRight" valign=bottom><b>InterpolateAt</b> (const CoefficientType &position, const CoefficientType x[], const CoefficientType y[], unsigned int n) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa18" doxytag="RingOfPolynomialsOver::Gcd" ></a> virtual const <a class="el" href="class_polynomial_over.html">Element</a> & </td><td class="memItemRight" valign=bottom><b>Gcd</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_polynomial_over.html">Element</a> &b) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa19" doxytag="RingOfPolynomialsOver::Exponentiate" ></a> virtual <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>Exponentiate</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_integer.html">Integer</a> &e) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa20" doxytag="RingOfPolynomialsOver::CascadeExponentiate" ></a> virtual <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>CascadeExponentiate</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &x, const <a class="el" href="class_integer.html">Integer</a> &e1, const <a class="el" href="class_polynomial_over.html">Element</a> &y, const <a class="el" href="class_integer.html">Integer</a> &e2) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa21" doxytag="RingOfPolynomialsOver::SimultaneousExponentiate" ></a> virtual void </td><td class="memItemRight" valign=bottom><b>SimultaneousExponentiate</b> (<a class="el" href="class_polynomial_over.html">Element</a> *results, const <a class="el" href="class_polynomial_over.html">Element</a> &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="RingOfPolynomialsOver::MultiplicativeGroup" ></a> virtual const <a class="el" href="class_abstract_group.html">AbstractGroup</a><<br> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< T > > & </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="RingOfPolynomialsOver::InversionIsFast" ></a> virtual bool </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="RingOfPolynomialsOver::ScalarMultiply" ></a> virtual <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>ScalarMultiply</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &a, const <a class="el" href="class_integer.html">Integer</a> &e) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa25" doxytag="RingOfPolynomialsOver::CascadeScalarMultiply" ></a> virtual <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>CascadeScalarMultiply</b> (const <a class="el" href="class_polynomial_over.html">Element</a> &x, const <a class="el" href="class_integer.html">Integer</a> &e1, const <a class="el" href="class_polynomial_over.html">Element</a> &y, const <a class="el" href="class_integer.html">Integer</a> &e2) const</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_euclidean_domain_ofa26" doxytag="RingOfPolynomialsOver::SimultaneousMultiply" ></a> virtual void </td><td class="memItemRight" valign=bottom><b>SimultaneousMultiply</b> (<a class="el" href="class_polynomial_over.html">Element</a> *results, const <a class="el" href="class_polynomial_over.html">Element</a> &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 Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_ring_of_polynomials_overb0" doxytag="RingOfPolynomialsOver::CalculateAlpha" ></a> void </td><td class="memItemRight" valign=bottom><b>CalculateAlpha</b> (std::vector< CoefficientType > &alpha, const CoefficientType x[], const CoefficientType y[], unsigned int n) 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="_ring_of_polynomials_overp0" doxytag="RingOfPolynomialsOver::m_ring" ></a> CoefficientRing </td><td class="memItemRight" valign=bottom><b>m_ring</b></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_abstract_euclidean_domainp0" doxytag="RingOfPolynomialsOver::result" ></a> <a class="el" href="class_polynomial_over.html">Element</a> </td><td class="memItemRight" valign=bottom><b>result</b></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: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>