<!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++: PolynomialOverFixedRing< T, instance > 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="#pub-types">Public Types</a> | <a href="class_polynomial_over_fixed_ring-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">PolynomialOverFixedRing< T, instance > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <p>Polynomials over a fixed ring. <a href="class_polynomial_over_fixed_ring.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 PolynomialOverFixedRing< T, instance >:</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_fixed_ring.png" usemap="#PolynomialOverFixedRing_3C_20T_2C_20instance_20_3E_map" alt=""/> <map id="PolynomialOverFixedRing_3C_20T_2C_20instance_20_3E_map" name="PolynomialOverFixedRing_3C_20T_2C_20instance_20_3E_map"> <area href="class_polynomial_over.html" title="represents single-variable polynomials over arbitrary rings" alt="PolynomialOver< T >" shape="rect" coords="0,0,245,24"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ae2df1daefb676d6ff79290c7ca0e8ac5"><td class="memItemLeft" align="right" valign="top"><a id="ae2df1daefb676d6ff79290c7ca0e8ac5"></a> typedef T </td><td class="memItemRight" valign="bottom"><b>Ring</b></td></tr> <tr class="separator:ae2df1daefb676d6ff79290c7ca0e8ac5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0db1534646ae791c106da6244896e46f"><td class="memItemLeft" align="right" valign="top"><a id="a0db1534646ae791c106da6244896e46f"></a> typedef T::Element </td><td class="memItemRight" valign="bottom"><b>CoefficientType</b></td></tr> <tr class="separator:a0db1534646ae791c106da6244896e46f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c46ac2217af15c40b628022053e4979"><td class="memItemLeft" align="right" valign="top"><a id="a7c46ac2217af15c40b628022053e4979"></a> typedef <a class="el" href="class_polynomial_over_1_1_divide_by_zero.html">B::DivideByZero</a> </td><td class="memItemRight" valign="bottom"><b>DivideByZero</b></td></tr> <tr class="separator:a7c46ac2217af15c40b628022053e4979"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab606ab5ea3059ba7b6725973bfc3fa5d"><td class="memItemLeft" align="right" valign="top"><a id="ab606ab5ea3059ba7b6725973bfc3fa5d"></a> typedef <a class="el" href="class_polynomial_over_1_1_randomization_parameter.html">B::RandomizationParameter</a> </td><td class="memItemRight" valign="bottom"><b>RandomizationParameter</b></td></tr> <tr class="separator:ab606ab5ea3059ba7b6725973bfc3fa5d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">ACCESSORS</div></td></tr> <tr class="memitem:adc7375389ed8759970361a61cce61ea0"><td class="memItemLeft" align="right" valign="top"><a id="adc7375389ed8759970361a61cce61ea0"></a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#adc7375389ed8759970361a61cce61ea0">Degree</a> () const</td></tr> <tr class="memdesc:adc7375389ed8759970361a61cce61ea0"><td class="mdescLeft"> </td><td class="mdescRight">the zero polynomial will return a degree of -1 <br /></td></tr> <tr class="separator:adc7375389ed8759970361a61cce61ea0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5e659b8a429b441a1ae1d6e544ebf189"><td class="memItemLeft" align="right" valign="top"><a id="a5e659b8a429b441a1ae1d6e544ebf189"></a> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a5e659b8a429b441a1ae1d6e544ebf189">CoefficientCount</a> () const</td></tr> <tr class="memdesc:a5e659b8a429b441a1ae1d6e544ebf189"><td class="mdescLeft"> </td><td class="mdescRight">degree + 1 <br /></td></tr> <tr class="separator:a5e659b8a429b441a1ae1d6e544ebf189"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a70982605b8e8c3cc07c08438d5fbdefa"><td class="memItemLeft" align="right" valign="top"><a id="a70982605b8e8c3cc07c08438d5fbdefa"></a> CoefficientType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a70982605b8e8c3cc07c08438d5fbdefa">GetCoefficient</a> (unsigned int i) const</td></tr> <tr class="memdesc:a70982605b8e8c3cc07c08438d5fbdefa"><td class="mdescLeft"> </td><td class="mdescRight">return coefficient for x^i <br /></td></tr> <tr class="separator:a70982605b8e8c3cc07c08438d5fbdefa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5ff7d2a9165c23fba47f6cb2898f5e4b"><td class="memItemLeft" align="right" valign="top"><a id="a5ff7d2a9165c23fba47f6cb2898f5e4b"></a> CoefficientType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a5ff7d2a9165c23fba47f6cb2898f5e4b">operator[]</a> (unsigned int i) const</td></tr> <tr class="memdesc:a5ff7d2a9165c23fba47f6cb2898f5e4b"><td class="mdescLeft"> </td><td class="mdescRight">return coefficient for x^i <br /></td></tr> <tr class="separator:a5ff7d2a9165c23fba47f6cb2898f5e4b"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader">MANIPULATORS</div></td></tr> <tr class="memitem:aaae7212a3da16c14b3d577db74ff30d7"><td class="memItemLeft" align="right" valign="top"><a id="aaae7212a3da16c14b3d577db74ff30d7"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:aaae7212a3da16c14b3d577db74ff30d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3dc64af1ce335a8d0f92d1b253d60d24"><td class="memItemLeft" align="right" valign="top"><a id="a3dc64af1ce335a8d0f92d1b253d60d24"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:a3dc64af1ce335a8d0f92d1b253d60d24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a791c31f75ff6d84ffe3821a2bb49697a"><td class="memItemLeft" align="right" valign="top"><a id="a791c31f75ff6d84ffe3821a2bb49697a"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:a791c31f75ff6d84ffe3821a2bb49697a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad526dd4fdedfbf64b6a9801bb0054720"><td class="memItemLeft" align="right" valign="top"><a id="ad526dd4fdedfbf64b6a9801bb0054720"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator*=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:ad526dd4fdedfbf64b6a9801bb0054720"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7531393efca5fd93db9fe4fb922e5b53"><td class="memItemLeft" align="right" valign="top"><a id="a7531393efca5fd93db9fe4fb922e5b53"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator/=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:a7531393efca5fd93db9fe4fb922e5b53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b2a385791774cef7012c9909418e3ed"><td class="memItemLeft" align="right" valign="top"><a id="a3b2a385791774cef7012c9909418e3ed"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator%=</b> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:a3b2a385791774cef7012c9909418e3ed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cc5e9af7e3c3e58a81cca7ae9d7f85c"><td class="memItemLeft" align="right" valign="top"><a id="a2cc5e9af7e3c3e58a81cca7ae9d7f85c"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator<<=</b> (unsigned int n)</td></tr> <tr class="separator:a2cc5e9af7e3c3e58a81cca7ae9d7f85c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1979222ca32151f9d20d0a3ae533058"><td class="memItemLeft" align="right" valign="top"><a id="ad1979222ca32151f9d20d0a3ae533058"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>operator>>=</b> (unsigned int n)</td></tr> <tr class="separator:ad1979222ca32151f9d20d0a3ae533058"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c797943b4cb9e864328d6d02dcb2444"><td class="memItemLeft" align="right" valign="top"><a id="a7c797943b4cb9e864328d6d02dcb2444"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a7c797943b4cb9e864328d6d02dcb2444">SetCoefficient</a> (unsigned int i, const CoefficientType &value)</td></tr> <tr class="memdesc:a7c797943b4cb9e864328d6d02dcb2444"><td class="mdescLeft"> </td><td class="mdescRight">set the coefficient for x^i to value <br /></td></tr> <tr class="separator:a7c797943b4cb9e864328d6d02dcb2444"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3f8bdcd22b9b4263a1ef9deb45ec8d13"><td class="memItemLeft" align="right" valign="top"><a id="a3f8bdcd22b9b4263a1ef9deb45ec8d13"></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)</td></tr> <tr class="separator:a3f8bdcd22b9b4263a1ef9deb45ec8d13"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d6ecc0486162b68a2d6fe251508ee1a"><td class="memItemLeft" align="right" valign="top"><a id="a4d6ecc0486162b68a2d6fe251508ee1a"></a> void </td><td class="memItemRight" valign="bottom"><b>Negate</b> ()</td></tr> <tr class="separator:a4d6ecc0486162b68a2d6fe251508ee1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3a94b0d85cedf69cd381112a20b6048d"><td class="memItemLeft" align="right" valign="top"><a id="a3a94b0d85cedf69cd381112a20b6048d"></a> void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="separator:a3a94b0d85cedf69cd381112a20b6048d"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader">UNARY OPERATORS</div></td></tr> <tr class="memitem:a3d6030d9236c882ae60ec9430f49ed01"><td class="memItemLeft" align="right" valign="top"><a id="a3d6030d9236c882ae60ec9430f49ed01"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator!</b> () const</td></tr> <tr class="separator:a3d6030d9236c882ae60ec9430f49ed01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab6b7c98a03e46b5a7a06252a9eece583"><td class="memItemLeft" align="right" valign="top"><a id="ab6b7c98a03e46b5a7a06252a9eece583"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> () const</td></tr> <tr class="separator:ab6b7c98a03e46b5a7a06252a9eece583"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aac507028d8d718350a555b79dcc53b82"><td class="memItemLeft" align="right" valign="top"><a id="aac507028d8d718350a555b79dcc53b82"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> () const</td></tr> <tr class="separator:aac507028d8d718350a555b79dcc53b82"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> Friends</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">BINARY OPERATORS</div></td></tr> <tr class="memitem:aa62b34fab996d82fe93f715a80ec5232"><td class="memItemLeft" align="right" valign="top"><a id="aa62b34fab996d82fe93f715a80ec5232"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>operator>></b> (<a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> a, unsigned int n)</td></tr> <tr class="separator:aa62b34fab996d82fe93f715a80ec5232"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a786d002a16dc41449d7b19225010650d"><td class="memItemLeft" align="right" valign="top"><a id="a786d002a16dc41449d7b19225010650d"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>operator<<</b> (<a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> a, unsigned int n)</td></tr> <tr class="separator:a786d002a16dc41449d7b19225010650d"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader">INPUT/OUTPUT</div></td></tr> <tr class="memitem:a97e72bce501b638f855da2af32a6654b"><td class="memItemLeft" align="right" valign="top"><a id="a97e72bce501b638f855da2af32a6654b"></a> std::istream & </td><td class="memItemRight" valign="bottom"><b>operator>></b> (std::istream &in, <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &a)</td></tr> <tr class="separator:a97e72bce501b638f855da2af32a6654b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f8d25b6a166ca84a106ecfbb8a01d65"><td class="memItemLeft" align="right" valign="top"><a id="a5f8d25b6a166ca84a106ecfbb8a01d65"></a> std::ostream & </td><td class="memItemRight" valign="bottom"><b>operator<<</b> (std::ostream &out, const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &a)</td></tr> <tr class="separator:a5f8d25b6a166ca84a106ecfbb8a01d65"><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:a8e10a57bab595f53a2055bcfb03fb66e"><td class="memItemLeft" align="right" valign="top"><a id="a8e10a57bab595f53a2055bcfb03fb66e"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a8e10a57bab595f53a2055bcfb03fb66e">PolynomialOverFixedRing</a> (unsigned int count=0)</td></tr> <tr class="memdesc:a8e10a57bab595f53a2055bcfb03fb66e"><td class="mdescLeft"> </td><td class="mdescRight">creates the zero polynomial <br /></td></tr> <tr class="separator:a8e10a57bab595f53a2055bcfb03fb66e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad63e985a7c37535ea710b7779ecfb3aa"><td class="memItemLeft" align="right" valign="top"><a id="ad63e985a7c37535ea710b7779ecfb3aa"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#ad63e985a7c37535ea710b7779ecfb3aa">PolynomialOverFixedRing</a> (const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &t)</td></tr> <tr class="memdesc:ad63e985a7c37535ea710b7779ecfb3aa"><td class="mdescLeft"> </td><td class="mdescRight">copy constructor <br /></td></tr> <tr class="separator:ad63e985a7c37535ea710b7779ecfb3aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9e789b2a6cc07a99e96c5887ad24bf4c"><td class="memItemLeft" align="right" valign="top"><a id="a9e789b2a6cc07a99e96c5887ad24bf4c"></a>  </td><td class="memItemRight" valign="bottom"><b>PolynomialOverFixedRing</b> (const <a class="el" href="class_polynomial_over.html">B</a> &t)</td></tr> <tr class="separator:a9e789b2a6cc07a99e96c5887ad24bf4c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adbff44242557cef909c01a74d75d181e"><td class="memItemLeft" align="right" valign="top"><a id="adbff44242557cef909c01a74d75d181e"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#adbff44242557cef909c01a74d75d181e">PolynomialOverFixedRing</a> (const CoefficientType &element)</td></tr> <tr class="memdesc:adbff44242557cef909c01a74d75d181e"><td class="mdescLeft"> </td><td class="mdescRight">construct constant polynomial <br /></td></tr> <tr class="separator:adbff44242557cef909c01a74d75d181e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1e2af7d588db8db85d7f55df99c59eb"><td class="memTemplParams" colspan="2"><a id="af1e2af7d588db8db85d7f55df99c59eb"></a> template<typename Iterator > </td></tr> <tr class="memitem:af1e2af7d588db8db85d7f55df99c59eb"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#af1e2af7d588db8db85d7f55df99c59eb">PolynomialOverFixedRing</a> (Iterator first, Iterator last)</td></tr> <tr class="memdesc:af1e2af7d588db8db85d7f55df99c59eb"><td class="mdescLeft"> </td><td class="mdescRight">construct polynomial with specified coefficients, starting from coefficient of x^0 <br /></td></tr> <tr class="separator:af1e2af7d588db8db85d7f55df99c59eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aebbb74586712f3f825c4fa4894fbf217"><td class="memItemLeft" align="right" valign="top"><a id="aebbb74586712f3f825c4fa4894fbf217"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#aebbb74586712f3f825c4fa4894fbf217">PolynomialOverFixedRing</a> (const char *str)</td></tr> <tr class="memdesc:aebbb74586712f3f825c4fa4894fbf217"><td class="mdescLeft"> </td><td class="mdescRight">convert from string <br /></td></tr> <tr class="separator:aebbb74586712f3f825c4fa4894fbf217"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a38de0135bd58a61176cef61bc6397c47"><td class="memItemLeft" align="right" valign="top"><a id="a38de0135bd58a61176cef61bc6397c47"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a38de0135bd58a61176cef61bc6397c47">PolynomialOverFixedRing</a> (const byte *encodedPoly, unsigned int byteCount)</td></tr> <tr class="memdesc:a38de0135bd58a61176cef61bc6397c47"><td class="mdescLeft"> </td><td class="mdescRight">convert from big-endian byte array <br /></td></tr> <tr class="separator:a38de0135bd58a61176cef61bc6397c47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeea00158952013a08cd97d1a416fa5a4"><td class="memItemLeft" align="right" valign="top"><a id="aeea00158952013a08cd97d1a416fa5a4"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#aeea00158952013a08cd97d1a416fa5a4">PolynomialOverFixedRing</a> (const byte *BEREncodedPoly)</td></tr> <tr class="memdesc:aeea00158952013a08cd97d1a416fa5a4"><td class="mdescLeft"> </td><td class="mdescRight">convert from Basic Encoding Rules encoded byte array <br /></td></tr> <tr class="separator:aeea00158952013a08cd97d1a416fa5a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac24e06202bb7b81088948d6aa2c9d54f"><td class="memItemLeft" align="right" valign="top"><a id="ac24e06202bb7b81088948d6aa2c9d54f"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#ac24e06202bb7b81088948d6aa2c9d54f">PolynomialOverFixedRing</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr> <tr class="memdesc:ac24e06202bb7b81088948d6aa2c9d54f"><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:ac24e06202bb7b81088948d6aa2c9d54f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a49d91088bbec643b9e5b8db7c8c1e89b"><td class="memItemLeft" align="right" valign="top"><a id="a49d91088bbec643b9e5b8db7c8c1e89b"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#a49d91088bbec643b9e5b8db7c8c1e89b">PolynomialOverFixedRing</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)</td></tr> <tr class="memdesc:a49d91088bbec643b9e5b8db7c8c1e89b"><td class="mdescLeft"> </td><td class="mdescRight">create a random <a class="el" href="class_polynomial_over_fixed_ring.html" title="Polynomials over a fixed ring.">PolynomialOverFixedRing</a> <br /></td></tr> <tr class="separator:a49d91088bbec643b9e5b8db7c8c1e89b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf15e24394702ba6916a0857cc4e427c"><td class="memItemLeft" align="right" valign="top"><a id="acf15e24394702ba6916a0857cc4e427c"></a> static const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>Zero</b> ()</td></tr> <tr class="separator:acf15e24394702ba6916a0857cc4e427c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac9c05659468142af8935952fbe4e5504"><td class="memItemLeft" align="right" valign="top"><a id="ac9c05659468142af8935952fbe4e5504"></a> static const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> & </td><td class="memItemRight" valign="bottom"><b>One</b> ()</td></tr> <tr class="separator:ac9c05659468142af8935952fbe4e5504"><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> OTHER ARITHMETIC FUNCTIONS</h2></td></tr> <tr class="memitem:a712f72d653c33bc1256c729af9b21a11"><td class="memItemLeft" align="right" valign="top"><a id="a712f72d653c33bc1256c729af9b21a11"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> () const</td></tr> <tr class="separator:a712f72d653c33bc1256c729af9b21a11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a923b70ee6d67cb50944a68340869fe01"><td class="memItemLeft" align="right" valign="top"><a id="a923b70ee6d67cb50944a68340869fe01"></a> bool </td><td class="memItemRight" valign="bottom"><b>IsUnit</b> () const</td></tr> <tr class="separator:a923b70ee6d67cb50944a68340869fe01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a605810fa5e4fa44788450f1c07075e9e"><td class="memItemLeft" align="right" valign="top"><a id="a605810fa5e4fa44788450f1c07075e9e"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>Doubled</b> () const</td></tr> <tr class="separator:a605810fa5e4fa44788450f1c07075e9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a08c83de30a7c99d11d1c34eb76203d11"><td class="memItemLeft" align="right" valign="top"><a id="a08c83de30a7c99d11d1c34eb76203d11"></a> <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> </td><td class="memItemRight" valign="bottom"><b>Squared</b> () const</td></tr> <tr class="separator:a08c83de30a7c99d11d1c34eb76203d11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7bf71189bf14e2bfeaefb3dcd98cce7a"><td class="memItemLeft" align="right" valign="top"><a id="a7bf71189bf14e2bfeaefb3dcd98cce7a"></a> CoefficientType </td><td class="memItemRight" valign="bottom"><b>EvaluateAt</b> (const CoefficientType &x) const</td></tr> <tr class="separator:a7bf71189bf14e2bfeaefb3dcd98cce7a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace18f8c67eb033dd6534b7ed6e7281b2"><td class="memItemLeft" align="right" valign="top"><a id="ace18f8c67eb033dd6534b7ed6e7281b2"></a> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_over_fixed_ring.html#ace18f8c67eb033dd6534b7ed6e7281b2">Divide</a> (<a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &r, <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &q, const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &a, const <a class="el" href="class_polynomial_over_fixed_ring.html">ThisType</a> &d)</td></tr> <tr class="memdesc:ace18f8c67eb033dd6534b7ed6e7281b2"><td class="mdescLeft"> </td><td class="mdescRight">calculate r and q such that (a == d*q + r) && (0 <= r < abs(d)) <br /></td></tr> <tr class="separator:ace18f8c67eb033dd6534b7ed6e7281b2"><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, int instance><br /> class PolynomialOverFixedRing< T, instance ></h3> <p>Polynomials over a fixed ring. </p> <p>Having a fixed ring allows overloaded operators </p> <p class="definition">Definition at line <a class="el" href="polynomi_8h_source.html#l00163">163</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:32 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>