<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Crypto++: PolynomialOver< T > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Crypto++  <span id="projectnumber">7.0</span> </div> <div id="projectbrief">Free C++ class library of cryptographic schemes</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="class_polynomial_over-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">PolynomialOver< T > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <p>represents single-variable polynomials over arbitrary rings <a href="class_polynomial_over.html#details">More...</a></p> <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for PolynomialOver< T >:</div> <div id="dynsection-0-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-0-content" class="dyncontent" style="display:none;"> <div class="center"> <img src="class_polynomial_over.png" usemap="#PolynomialOver_3C_20T_20_3E_map" alt=""/> <map id="PolynomialOver_3C_20T_20_3E_map" name="PolynomialOver_3C_20T_20_3E_map"> <area href="class_polynomial_over_fixed_ring.html" title="Polynomials over a fixed ring." alt="PolynomialOverFixedRing< T, instance >" shape="rect" coords="0,56,245,80"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> ENUMS, EXCEPTIONS, and TYPEDEFS</h2></td></tr> <tr class="memitem:af87a6be38193e61c7aecb8c96510583e"><td class="memItemLeft" align="right" valign="top"><a id="af87a6be38193e61c7aecb8c96510583e"></a> typedef T </td><td class="memItemRight" valign="bottom"><b>Ring</b></td></tr> <tr class="separator:af87a6be38193e61c7aecb8c96510583e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2eb91afba2d1f0c11f78f5825ecd5408"><td class="memItemLeft" align="right" valign="top"><a id="a2eb91afba2d1f0c11f78f5825ecd5408"></a> typedef T::Element </td><td class="memItemRight" valign="bottom"><b>CoefficientType</b></td></tr> <tr class="separator:a2eb91afba2d1f0c11f78f5825ecd5408"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> CREATORS</h2></td></tr> <tr class="memitem:a9a479be6ed6b88ac4f74a1c0ca72849c"><td class="memItemLeft" align="right" valign="top"><a id="a9a479be6ed6b88ac4f74a1c0ca72849c"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a9a479be6ed6b88ac4f74a1c0ca72849c">PolynomialOver</a> ()</td></tr> <tr class="memdesc:a9a479be6ed6b88ac4f74a1c0ca72849c"><td class="mdescLeft"> </td><td class="mdescRight">creates the zero polynomial <br /></td></tr> <tr class="separator:a9a479be6ed6b88ac4f74a1c0ca72849c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ae3f58dd93e98544ebd0165fd0beaa2"><td class="memItemLeft" align="right" valign="top"><a id="a4ae3f58dd93e98544ebd0165fd0beaa2"></a>  </td><td class="memItemRight" valign="bottom"><b>PolynomialOver</b> (const Ring &ring, unsigned int count)</td></tr> <tr class="separator:a4ae3f58dd93e98544ebd0165fd0beaa2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a393c8f0c973d431d7e04d3d3682b333d"><td class="memItemLeft" align="right" valign="top"><a id="a393c8f0c973d431d7e04d3d3682b333d"></a>  </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 class="memdesc:a393c8f0c973d431d7e04d3d3682b333d"><td class="mdescLeft"> </td><td class="mdescRight">copy constructor <br /></td></tr> <tr class="separator:a393c8f0c973d431d7e04d3d3682b333d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3f01459e456891391d9650e4b82b8b0"><td class="memItemLeft" align="right" valign="top"><a id="af3f01459e456891391d9650e4b82b8b0"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#af3f01459e456891391d9650e4b82b8b0">PolynomialOver</a> (const CoefficientType &element)</td></tr> <tr class="memdesc:af3f01459e456891391d9650e4b82b8b0"><td class="mdescLeft"> </td><td class="mdescRight">construct constant polynomial <br /></td></tr> <tr class="separator:af3f01459e456891391d9650e4b82b8b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7a4e4504a189d1594961879fc10cba43"><td class="memTemplParams" colspan="2"><a id="a7a4e4504a189d1594961879fc10cba43"></a> template<typename Iterator > </td></tr> <tr class="memitem:a7a4e4504a189d1594961879fc10cba43"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a7a4e4504a189d1594961879fc10cba43">PolynomialOver</a> (Iterator begin, Iterator end)</td></tr> <tr class="memdesc:a7a4e4504a189d1594961879fc10cba43"><td class="mdescLeft"> </td><td class="mdescRight">construct polynomial with specified coefficients, starting from coefficient of x^0 <br /></td></tr> <tr class="separator:a7a4e4504a189d1594961879fc10cba43"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aef039d41b917e8297e14c050568a37a2"><td class="memItemLeft" align="right" valign="top"><a id="aef039d41b917e8297e14c050568a37a2"></a>  </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 class="memdesc:aef039d41b917e8297e14c050568a37a2"><td class="mdescLeft"> </td><td class="mdescRight">convert from string <br /></td></tr> <tr class="separator:aef039d41b917e8297e14c050568a37a2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acccd86996b94b0353287d64ded9ca02f"><td class="memItemLeft" align="right" valign="top"><a id="acccd86996b94b0353287d64ded9ca02f"></a>  </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 class="memdesc:acccd86996b94b0353287d64ded9ca02f"><td class="mdescLeft"> </td><td class="mdescRight">convert from big-endian byte array <br /></td></tr> <tr class="separator:acccd86996b94b0353287d64ded9ca02f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee5c8c3fe28ec784e02abb66df2c4040"><td class="memItemLeft" align="right" valign="top"><a id="aee5c8c3fe28ec784e02abb66df2c4040"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#aee5c8c3fe28ec784e02abb66df2c4040">PolynomialOver</a> (const byte *BEREncodedPolynomialOver)</td></tr> <tr class="memdesc:aee5c8c3fe28ec784e02abb66df2c4040"><td class="mdescLeft"> </td><td class="mdescRight">convert from Basic Encoding Rules encoded byte array <br /></td></tr> <tr class="separator:aee5c8c3fe28ec784e02abb66df2c4040"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4cef3038c9a2515037e52647e8af1914"><td class="memItemLeft" align="right" valign="top"><a id="a4cef3038c9a2515037e52647e8af1914"></a>  </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 class="memdesc:a4cef3038c9a2515037e52647e8af1914"><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 class="separator:a4cef3038c9a2515037e52647e8af1914"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a33a595d1ea6d44eef7ac3636c195a869"><td class="memItemLeft" align="right" valign="top"><a id="a33a595d1ea6d44eef7ac3636c195a869"></a>  </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 class="memdesc:a33a595d1ea6d44eef7ac3636c195a869"><td class="mdescLeft"> </td><td class="mdescRight">create a random PolynomialOver<T> <br /></td></tr> <tr class="separator:a33a595d1ea6d44eef7ac3636c195a869"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> ACCESSORS</h2></td></tr> <tr class="memitem:a528a5722512381f2d7cb3b705bcbe8bb"><td class="memItemLeft" align="right" valign="top"><a id="a528a5722512381f2d7cb3b705bcbe8bb"></a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a528a5722512381f2d7cb3b705bcbe8bb">Degree</a> (const Ring &ring) const</td></tr> <tr class="memdesc:a528a5722512381f2d7cb3b705bcbe8bb"><td class="mdescLeft"> </td><td class="mdescRight">the zero polynomial will return a degree of -1 <br /></td></tr> <tr class="separator:a528a5722512381f2d7cb3b705bcbe8bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76fce91d708258d7401fe138080a186c"><td class="memItemLeft" align="right" valign="top"><a id="a76fce91d708258d7401fe138080a186c"></a> unsigned int </td><td class="memItemRight" valign="bottom"><b>CoefficientCount</b> (const Ring &ring) const</td></tr> <tr class="separator:a76fce91d708258d7401fe138080a186c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6feeb70252350258e2439f8a864d563f"><td class="memItemLeft" align="right" valign="top"><a id="a6feeb70252350258e2439f8a864d563f"></a> CoefficientType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over.html#a6feeb70252350258e2439f8a864d563f">GetCoefficient</a> (unsigned int i, const Ring &ring) const</td></tr> <tr class="memdesc:a6feeb70252350258e2439f8a864d563f"><td class="mdescLeft"> </td><td class="mdescRight">return coefficient for x^i <br /></td></tr> <tr class="separator:a6feeb70252350258e2439f8a864d563f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> MANIPULATORS</h2></td></tr> <tr class="memitem:a69a537e3349f4bb9a0cfbbd1a6f4112e"><td class="memItemLeft" align="right" valign="top"><a id="a69a537e3349f4bb9a0cfbbd1a6f4112e"></a> <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 class="separator:a69a537e3349f4bb9a0cfbbd1a6f4112e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3a895100d291eba0fba02f50b57d1d44"><td class="memItemLeft" align="right" valign="top"><a id="a3a895100d291eba0fba02f50b57d1d44"></a> 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 class="separator:a3a895100d291eba0fba02f50b57d1d44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aac4ab97afda49a151fc9dbd8eaf9aa16"><td class="memItemLeft" align="right" valign="top"><a id="aac4ab97afda49a151fc9dbd8eaf9aa16"></a> 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 class="memdesc:aac4ab97afda49a151fc9dbd8eaf9aa16"><td class="mdescLeft"> </td><td class="mdescRight">set the coefficient for x^i to value <br /></td></tr> <tr class="separator:aac4ab97afda49a151fc9dbd8eaf9aa16"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a45efd76b7e9eb98a968abc90565449b3"><td class="memItemLeft" align="right" valign="top"><a id="a45efd76b7e9eb98a968abc90565449b3"></a> void </td><td class="memItemRight" valign="bottom"><b>Negate</b> (const Ring &ring)</td></tr> <tr class="separator:a45efd76b7e9eb98a968abc90565449b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a62ddb522b6ac727ebb2dc0be311a0676"><td class="memItemLeft" align="right" valign="top"><a id="a62ddb522b6ac727ebb2dc0be311a0676"></a> 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 class="separator:a62ddb522b6ac727ebb2dc0be311a0676"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> BASIC ARITHMETIC ON POLYNOMIALS</h2></td></tr> <tr class="memitem:af4aafa93a68bc81e2636ba7bddf55aeb"><td class="memItemLeft" align="right" valign="top"><a id="af4aafa93a68bc81e2636ba7bddf55aeb"></a> 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 class="separator:af4aafa93a68bc81e2636ba7bddf55aeb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b2c31062c9d6409b1c3eb94ab6affa6"><td class="memItemLeft" align="right" valign="top"><a id="a3b2c31062c9d6409b1c3eb94ab6affa6"></a> bool </td><td class="memItemRight" valign="bottom"><b>IsZero</b> (const Ring &ring) const</td></tr> <tr class="separator:a3b2c31062c9d6409b1c3eb94ab6affa6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13f054c03dddac68485bae12643b3e36"><td class="memItemLeft" align="right" valign="top"><a id="a13f054c03dddac68485bae12643b3e36"></a> <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 class="separator:a13f054c03dddac68485bae12643b3e36"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2c226b1a97bad47a0aefe40f20c7c314"><td class="memItemLeft" align="right" valign="top"><a id="a2c226b1a97bad47a0aefe40f20c7c314"></a> <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 class="separator:a2c226b1a97bad47a0aefe40f20c7c314"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a80717589a9288c74d349f311fc2b0ccd"><td class="memItemLeft" align="right" valign="top"><a id="a80717589a9288c74d349f311fc2b0ccd"></a> <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 class="separator:a80717589a9288c74d349f311fc2b0ccd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a39a01566534ab1757f54cae358f662b5"><td class="memItemLeft" align="right" valign="top"><a id="a39a01566534ab1757f54cae358f662b5"></a> <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 class="separator:a39a01566534ab1757f54cae358f662b5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0319506717afca3238cf854ce373798"><td class="memItemLeft" align="right" valign="top"><a id="ac0319506717afca3238cf854ce373798"></a> <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 class="separator:ac0319506717afca3238cf854ce373798"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4514541e591795cda0c21871ee2d5b2a"><td class="memItemLeft" align="right" valign="top"><a id="a4514541e591795cda0c21871ee2d5b2a"></a> <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 class="separator:a4514541e591795cda0c21871ee2d5b2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae193b40c9c56413f8b37ffb1ce37d6c8"><td class="memItemLeft" align="right" valign="top"><a id="ae193b40c9c56413f8b37ffb1ce37d6c8"></a> <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 class="separator:ae193b40c9c56413f8b37ffb1ce37d6c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a081d164634823ef594a4732d540dfdad"><td class="memItemLeft" align="right" valign="top"><a id="a081d164634823ef594a4732d540dfdad"></a> bool </td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const Ring &ring) const</td></tr> <tr class="separator:a081d164634823ef594a4732d540dfdad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11ed0859f86e9662e2908bf8ef4d73d8"><td class="memItemLeft" align="right" valign="top"><a id="a11ed0859f86e9662e2908bf8ef4d73d8"></a> <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 class="separator:a11ed0859f86e9662e2908bf8ef4d73d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa38d6392718a80a5308438f49010e3e2"><td class="memItemLeft" align="right" valign="top"><a id="aa38d6392718a80a5308438f49010e3e2"></a> <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 class="separator:aa38d6392718a80a5308438f49010e3e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a74e2dfec19ceda28e8ad3a10eadbb2ce"><td class="memItemLeft" align="right" valign="top"><a id="a74e2dfec19ceda28e8ad3a10eadbb2ce"></a> <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 class="separator:a74e2dfec19ceda28e8ad3a10eadbb2ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9de0b00265e4b4ab9ef491095a86e928"><td class="memItemLeft" align="right" valign="top"><a id="a9de0b00265e4b4ab9ef491095a86e928"></a> <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 class="separator:a9de0b00265e4b4ab9ef491095a86e928"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a95f6b2a41e48154f0e4ccffad61f60e3"><td class="memItemLeft" align="right" valign="top"><a id="a95f6b2a41e48154f0e4ccffad61f60e3"></a> CoefficientType </td><td class="memItemRight" valign="bottom"><b>EvaluateAt</b> (const CoefficientType &x, const Ring &ring) const</td></tr> <tr class="separator:a95f6b2a41e48154f0e4ccffad61f60e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a961c5f23af4e1d59554cd8d56ae7c608"><td class="memItemLeft" align="right" valign="top"><a id="a961c5f23af4e1d59554cd8d56ae7c608"></a> <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 class="separator:a961c5f23af4e1d59554cd8d56ae7c608"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac24e2a39771e36b36ae3ab550e529d70"><td class="memItemLeft" align="right" valign="top"><a id="ac24e2a39771e36b36ae3ab550e529d70"></a> <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 class="separator:ac24e2a39771e36b36ae3ab550e529d70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa1a0b9d2470af2a01ae1c01d743b042"><td class="memItemLeft" align="right" valign="top"><a id="aaa1a0b9d2470af2a01ae1c01d743b042"></a> 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 class="memdesc:aaa1a0b9d2470af2a01ae1c01d743b042"><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 class="separator:aaa1a0b9d2470af2a01ae1c01d743b042"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> INPUT/OUTPUT</h2></td></tr> <tr class="memitem:af2e687246fa4366712cc024e62c799a0"><td class="memItemLeft" align="right" valign="top"><a id="af2e687246fa4366712cc024e62c799a0"></a> std::istream & </td><td class="memItemRight" valign="bottom"><b>Input</b> (std::istream &in, const Ring &ring)</td></tr> <tr class="separator:af2e687246fa4366712cc024e62c799a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a96ddbbb2681b4494b82aacd4b00329a0"><td class="memItemLeft" align="right" valign="top"><a id="a96ddbbb2681b4494b82aacd4b00329a0"></a> std::ostream & </td><td class="memItemRight" valign="bottom"><b>Output</b> (std::ostream &out, const Ring &ring) const</td></tr> <tr class="separator:a96ddbbb2681b4494b82aacd4b00329a0"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<class T><br /> class PolynomialOver< T ></h3> <p>represents single-variable polynomials over arbitrary rings </p> <p class="definition">Definition at line <a class="el" href="polynomi_8h_source.html#l00021">21</a> of file <a class="el" href="polynomi_8h_source.html">polynomi.h</a>.</p> </div><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><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Nov 27 2019 15:04:31 for Crypto++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>