<!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++: PolynomialOver< T > 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 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>PolynomialOver< T > Class Template Reference</h1><!-- doxytag: class="PolynomialOver" --> <p>represents single-variable polynomials over arbitrary rings <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="polynomi_8h_source.html">polynomi.h</a>></code></p> <div class="dynheader"> Inheritance diagram for PolynomialOver< T >:</div> <div class="dynsection"> <div class="center"> <img src="class_polynomial_over.gif" usemap="#PolynomialOver< T >_map" alt=""/> <map id="PolynomialOver< T >_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> </div> </div> <p><a href="class_polynomial_over-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_1_1_divide_by_zero.html">DivideByZero</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">division by zero exception <a href="class_polynomial_over_1_1_divide_by_zero.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">RandomizationParameter</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">specify the distribution for randomization functions <a href="class_polynomial_over_1_1_randomization_parameter.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>ENUMS, EXCEPTIONS, and TYPEDEFS</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrpa03118083bc7586a83a4ee7290b05995"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af87a6be38193e61c7aecb8c96510583e"></a><!-- doxytag: member="PolynomialOver::Ring" ref="af87a6be38193e61c7aecb8c96510583e" args="" --> typedef T </td><td class="memItemRight" valign="bottom"><b>Ring</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eb91afba2d1f0c11f78f5825ecd5408"></a><!-- doxytag: member="PolynomialOver::CoefficientType" ref="a2eb91afba2d1f0c11f78f5825ecd5408" args="" --> typedef T::Element </td><td class="memItemRight" valign="bottom"><b>CoefficientType</b></td></tr> <tr><td colspan="2"><h2>CREATORS</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrp19ed50dd7d15a96072c9b6a53e8d6a1d"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a479be6ed6b88ac4f74a1c0ca72849c"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a9a479be6ed6b88ac4f74a1c0ca72849c" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a9a479be6ed6b88ac4f74a1c0ca72849c">PolynomialOver</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">creates the zero polynomial <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ae3f58dd93e98544ebd0165fd0beaa2"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a4ae3f58dd93e98544ebd0165fd0beaa2" args="(const Ring &ring, unsigned int count)" --> </td><td class="memItemRight" valign="bottom"><b>PolynomialOver</b> (const Ring &ring, unsigned int count)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a393c8f0c973d431d7e04d3d3682b333d"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a393c8f0c973d431d7e04d3d3682b333d" args="(const PolynomialOver< Ring > &t)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a393c8f0c973d431d7e04d3d3682b333d">PolynomialOver</a> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">copy constructor <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3f01459e456891391d9650e4b82b8b0"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="af3f01459e456891391d9650e4b82b8b0" args="(const CoefficientType &element)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#af3f01459e456891391d9650e4b82b8b0">PolynomialOver</a> (const CoefficientType &element)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">construct constant polynomial <br/></td></tr> <tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a10f50a46ce4b8b5b4131f5a0057f0bc8"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a10f50a46ce4b8b5b4131f5a0057f0bc8" args="(Iterator begin, Iterator end)" --> template<typename Iterator > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a10f50a46ce4b8b5b4131f5a0057f0bc8">PolynomialOver</a> (Iterator begin, Iterator end)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">construct polynomial with specified coefficients, starting from coefficient of x^0 <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef039d41b917e8297e14c050568a37a2"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="aef039d41b917e8297e14c050568a37a2" args="(const char *str, const Ring &ring)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#aef039d41b917e8297e14c050568a37a2">PolynomialOver</a> (const char *str, const Ring &ring)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert from string <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acccd86996b94b0353287d64ded9ca02f"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="acccd86996b94b0353287d64ded9ca02f" args="(const byte *encodedPolynomialOver, unsigned int byteCount)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#acccd86996b94b0353287d64ded9ca02f">PolynomialOver</a> (const byte *encodedPolynomialOver, unsigned int byteCount)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert from big-endian byte array <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5c8c3fe28ec784e02abb66df2c4040"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="aee5c8c3fe28ec784e02abb66df2c4040" args="(const byte *BEREncodedPolynomialOver)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#aee5c8c3fe28ec784e02abb66df2c4040">PolynomialOver</a> (const byte *BEREncodedPolynomialOver)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert from Basic Encoding Rules encoded byte array <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cef3038c9a2515037e52647e8af1914"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a4cef3038c9a2515037e52647e8af1914" args="(BufferedTransformation &bt)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a4cef3038c9a2515037e52647e8af1914">PolynomialOver</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">convert from BER encoded byte array stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> object <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33a595d1ea6d44eef7ac3636c195a869"></a><!-- doxytag: member="PolynomialOver::PolynomialOver" ref="a33a595d1ea6d44eef7ac3636c195a869" args="(RandomNumberGenerator &rng, const RandomizationParameter &parameter, const Ring &ring)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a33a595d1ea6d44eef7ac3636c195a869">PolynomialOver</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">RandomizationParameter</a> &parameter, const Ring &ring)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">create a random PolynomialOver<T> <br/></td></tr> <tr><td colspan="2"><h2>ACCESSORS</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrpc0453e8d6311263eccfc02576bf64333"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a604beee6d397108b3334eaeb564b641a"></a><!-- doxytag: member="PolynomialOver::Degree" ref="a604beee6d397108b3334eaeb564b641a" args="(const Ring &ring) const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a604beee6d397108b3334eaeb564b641a">Degree</a> (const Ring &ring) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the zero polynomial will return a degree of -1 <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65c6004a42608f31008ff066f2eba3e2"></a><!-- doxytag: member="PolynomialOver::CoefficientCount" ref="a65c6004a42608f31008ff066f2eba3e2" args="(const Ring &ring) const " --> unsigned int </td><td class="memItemRight" valign="bottom"><b>CoefficientCount</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35221cf35e25478e07de2e5fcebf0f9"></a><!-- doxytag: member="PolynomialOver::GetCoefficient" ref="ae35221cf35e25478e07de2e5fcebf0f9" args="(unsigned int i, const Ring &ring) const " --> CoefficientType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#ae35221cf35e25478e07de2e5fcebf0f9">GetCoefficient</a> (unsigned int i, const Ring &ring) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return coefficient for x^i <br/></td></tr> <tr><td colspan="2"><h2>MANIPULATORS</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrp96fa225bbaf7975cba24829e8ce78daf"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69a537e3349f4bb9a0cfbbd1a6f4112e"></a><!-- doxytag: member="PolynomialOver::operator=" ref="a69a537e3349f4bb9a0cfbbd1a6f4112e" args="(const PolynomialOver< Ring > &t)" --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a895100d291eba0fba02f50b57d1d44"></a><!-- doxytag: member="PolynomialOver::Randomize" ref="a3a895100d291eba0fba02f50b57d1d44" args="(RandomNumberGenerator &rng, const RandomizationParameter &parameter, const Ring &ring)" --> void </td><td class="memItemRight" valign="bottom"><b>Randomize</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">RandomizationParameter</a> &parameter, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac4ab97afda49a151fc9dbd8eaf9aa16"></a><!-- doxytag: member="PolynomialOver::SetCoefficient" ref="aac4ab97afda49a151fc9dbd8eaf9aa16" args="(unsigned int i, const CoefficientType &value, const Ring &ring)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#aac4ab97afda49a151fc9dbd8eaf9aa16">SetCoefficient</a> (unsigned int i, const CoefficientType &value, const Ring &ring)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set the coefficient for x^i to value <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45efd76b7e9eb98a968abc90565449b3"></a><!-- doxytag: member="PolynomialOver::Negate" ref="a45efd76b7e9eb98a968abc90565449b3" args="(const Ring &ring)" --> void </td><td class="memItemRight" valign="bottom"><b>Negate</b> (const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62ddb522b6ac727ebb2dc0be311a0676"></a><!-- doxytag: member="PolynomialOver::swap" ref="a62ddb522b6ac727ebb2dc0be311a0676" args="(PolynomialOver< Ring > &t)" --> void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t)</td></tr> <tr><td colspan="2"><h2>BASIC ARITHMETIC ON POLYNOMIALS</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrpc370567f41db6bc9f44dc5e5a417ed5a"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62705fe9c3f930b8144e0aed003b676f"></a><!-- doxytag: member="PolynomialOver::Equals" ref="a62705fe9c3f930b8144e0aed003b676f" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> bool </td><td class="memItemRight" valign="bottom"><b>Equals</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade0983f77089c32d1f7ce07738ea4619"></a><!-- doxytag: member="PolynomialOver::IsZero" ref="ade0983f77089c32d1f7ce07738ea4619" args="(const Ring &ring) const " --> bool </td><td class="memItemRight" valign="bottom"><b>IsZero</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19316e5b53de54116bfb997018e6ea82"></a><!-- doxytag: member="PolynomialOver::Plus" ref="a19316e5b53de54116bfb997018e6ea82" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Plus</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cc8df0691a48bc44ab33a5daa35a07b"></a><!-- doxytag: member="PolynomialOver::Minus" ref="a3cc8df0691a48bc44ab33a5daa35a07b" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Minus</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a037a72b82d5acfcacbb94a73784b0d85"></a><!-- doxytag: member="PolynomialOver::Inverse" ref="a037a72b82d5acfcacbb94a73784b0d85" args="(const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Inverse</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0ac1579920f7da6e1639250d92a1efd"></a><!-- doxytag: member="PolynomialOver::Times" ref="ae0ac1579920f7da6e1639250d92a1efd" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Times</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a2b09bfec385f2e0fdaa8fe2497e3c1"></a><!-- doxytag: member="PolynomialOver::DividedBy" ref="a5a2b09bfec385f2e0fdaa8fe2497e3c1" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>DividedBy</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84171a3f71efc07e23d4734ab2c4ad32"></a><!-- doxytag: member="PolynomialOver::Modulo" ref="a84171a3f71efc07e23d4734ab2c4ad32" args="(const PolynomialOver< Ring > &t, const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Modulo</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a24658cd38205e6a3edc607aaceedda"></a><!-- doxytag: member="PolynomialOver::MultiplicativeInverse" ref="a1a24658cd38205e6a3edc607aaceedda" args="(const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd97055ea77f4c511d84cbde55fee6a0"></a><!-- doxytag: member="PolynomialOver::IsUnit" ref="abd97055ea77f4c511d84cbde55fee6a0" args="(const Ring &ring) const " --> bool </td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11ed0859f86e9662e2908bf8ef4d73d8"></a><!-- doxytag: member="PolynomialOver::Accumulate" ref="a11ed0859f86e9662e2908bf8ef4d73d8" args="(const PolynomialOver< Ring > &t, const Ring &ring)" --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > & </td><td class="memItemRight" valign="bottom"><b>Accumulate</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa38d6392718a80a5308438f49010e3e2"></a><!-- doxytag: member="PolynomialOver::Reduce" ref="aa38d6392718a80a5308438f49010e3e2" args="(const PolynomialOver< Ring > &t, const Ring &ring)" --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > & </td><td class="memItemRight" valign="bottom"><b>Reduce</b> (const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &t, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adad14cc6a75b706ef0a6705134bb78d9"></a><!-- doxytag: member="PolynomialOver::Doubled" ref="adad14cc6a75b706ef0a6705134bb78d9" args="(const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Doubled</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadf21161e0af900a33e9ca669a1efd27"></a><!-- doxytag: member="PolynomialOver::Squared" ref="aadf21161e0af900a33e9ca669a1efd27" args="(const Ring &ring) const " --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > </td><td class="memItemRight" valign="bottom"><b>Squared</b> (const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e862bcafe11988e184db0893d086b3c"></a><!-- doxytag: member="PolynomialOver::EvaluateAt" ref="a5e862bcafe11988e184db0893d086b3c" args="(const CoefficientType &x, const Ring &ring) const " --> CoefficientType </td><td class="memItemRight" valign="bottom"><b>EvaluateAt</b> (const CoefficientType &x, const Ring &ring) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a961c5f23af4e1d59554cd8d56ae7c608"></a><!-- doxytag: member="PolynomialOver::ShiftLeft" ref="a961c5f23af4e1d59554cd8d56ae7c608" args="(unsigned int n, const Ring &ring)" --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > & </td><td class="memItemRight" valign="bottom"><b>ShiftLeft</b> (unsigned int n, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac24e2a39771e36b36ae3ab550e529d70"></a><!-- doxytag: member="PolynomialOver::ShiftRight" ref="ac24e2a39771e36b36ae3ab550e529d70" args="(unsigned int n, const Ring &ring)" --> <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > & </td><td class="memItemRight" valign="bottom"><b>ShiftRight</b> (unsigned int n, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa1a0b9d2470af2a01ae1c01d743b042"></a><!-- doxytag: member="PolynomialOver::Divide" ref="aaa1a0b9d2470af2a01ae1c01d743b042" args="(PolynomialOver< Ring > &r, PolynomialOver< Ring > &q, const PolynomialOver< Ring > &a, const PolynomialOver< Ring > &d, const Ring &ring)" --> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#aaa1a0b9d2470af2a01ae1c01d743b042">Divide</a> (<a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &r, <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &q, const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &a, const <a class="el" href="class_polynomial_over.html">PolynomialOver</a>< Ring > &d, const Ring &ring)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">calculate r and q such that (a == d*q + r) && (0 <= degree of r < degree of d) <br/></td></tr> <tr><td colspan="2"><h2>INPUT/OUTPUT</h2></td></tr> <tr><td colspan="2"><p><a class="anchor" id="amgrp1b1587792b52046d87b6d77541dd2b4c"></a> </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2e687246fa4366712cc024e62c799a0"></a><!-- doxytag: member="PolynomialOver::Input" ref="af2e687246fa4366712cc024e62c799a0" args="(std::istream &in, const Ring &ring)" --> std::istream & </td><td class="memItemRight" valign="bottom"><b>Input</b> (std::istream &in, const Ring &ring)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c9b1f5f4bf5a748a1e811ea8b122d3c"></a><!-- doxytag: member="PolynomialOver::Output" ref="a2c9b1f5f4bf5a748a1e811ea8b122d3c" args="(std::ostream &out, const Ring &ring) const " --> std::ostream & </td><td class="memItemRight" valign="bottom"><b>Output</b> (std::ostream &out, const Ring &ring) const </td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class T><br/> class PolynomialOver< T ></h3> <p>represents single-variable polynomials over arbitrary rings </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>.</p> <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> <li><a class="el" href="polynomi_8cpp_source.html">polynomi.cpp</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>