Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > 07dfcfe50d66c9a48a3c5e6c1693f12a > files > 1151

cryptopp-doc-5.6.1-0.1.svn479.fc13.i686.rpm

<!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++: PolynomialMod2 Class 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&nbsp;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&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>PolynomialMod2 Class Reference</h1><!-- doxytag: class="PolynomialMod2" -->
<p>Polynomial with Coefficients in GF(2).  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gf2n_8h_source.html">gf2n.h</a>&gt;</code></p>

<p><a href="class_polynomial_mod2-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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2_1_1_divide_by_zero.html">DivideByZero</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">divide by zero exception  <a href="class_polynomial_mod2_1_1_divide_by_zero.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e0505b1597d5b697c52bfc7420f4f73"></a><!-- doxytag: member="PolynomialMod2::GF2NT" ref="a2e0505b1597d5b697c52bfc7420f4f73" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a2e0505b1597d5b697c52bfc7420f4f73">GF2NT</a></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="a7027d2803057b129738a862611faf3d2"></a><!-- doxytag: member="PolynomialMod2::RandomizationParameter" ref="a7027d2803057b129738a862611faf3d2" args="" -->
typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>RandomizationParameter</b></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="ae2b80f2028ca16b9a75a434e1fb24424"></a><!-- doxytag: member="PolynomialMod2::operator&lt;&lt;" ref="ae2b80f2028ca16b9a75a434e1fb24424" args="(std::ostream &amp;out, const PolynomialMod2 &amp;a)" -->
std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;out, const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;a)</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="ac67d4fb61b199c101f5de08d3aa2e782"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="ac67d4fb61b199c101f5de08d3aa2e782" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ac67d4fb61b199c101f5de08d3aa2e782">PolynomialMod2</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates the zero polynomial <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6866391c010ebef60c452df7961e809c"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="a6866391c010ebef60c452df7961e809c" args="(const PolynomialMod2 &amp;t)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a6866391c010ebef60c452df7961e809c">PolynomialMod2</a> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy constructor <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a51790dcfe87a449169e8cb5c0f20da7e">PolynomialMod2</a> (word value, size_t bitLength=WORD_BITS)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from word  <a href="#a51790dcfe87a449169e8cb5c0f20da7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc62dcb615c688c00c924775920c752d"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="adc62dcb615c688c00c924775920c752d" args="(const byte *encodedPoly, size_t byteCount)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#adc62dcb615c688c00c924775920c752d">PolynomialMod2</a> (const byte *encodedPoly, size_t byteCount)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="aba40ce289e5ffaa47542391ead80aa85"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="aba40ce289e5ffaa47542391ead80aa85" args="(BufferedTransformation &amp;encodedPoly, size_t byteCount)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#aba40ce289e5ffaa47542391ead80aa85">PolynomialMod2</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;encodedPoly, size_t byteCount)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert from big-endian form stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455d995dd1eee03b8412eacae4c61186"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="a455d995dd1eee03b8412eacae4c61186" args="(RandomNumberGenerator &amp;rng, size_t bitcount)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a455d995dd1eee03b8412eacae4c61186">PolynomialMod2</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, size_t bitcount)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a random polynomial uniformly distributed over all polynomials with degree less than bitcount <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87949fb32436e1f2f96d7b813405c032"></a><!-- doxytag: member="PolynomialMod2::Monomial" ref="a87949fb32436e1f2f96d7b813405c032" args="(size_t i)" -->
static <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a87949fb32436e1f2f96d7b813405c032">Monomial</a> (size_t i)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return x^i <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d843c32a41885cb33d0aec19e40dda6"></a><!-- doxytag: member="PolynomialMod2::Trinomial" ref="a6d843c32a41885cb33d0aec19e40dda6" args="(size_t t0, size_t t1, size_t t2)" -->
static <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a6d843c32a41885cb33d0aec19e40dda6">Trinomial</a> (size_t t0, size_t t1, size_t t2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return x^t0 + x^t1 + x^t2 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a507094d47020af3d23a9fd68cc4b527d"></a><!-- doxytag: member="PolynomialMod2::Pentanomial" ref="a507094d47020af3d23a9fd68cc4b527d" args="(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4)" -->
static <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a507094d47020af3d23a9fd68cc4b527d">Pentanomial</a> (size_t t0, size_t t1, size_t t2, size_t t3, size_t t4)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return x^t0 + x^t1 + x^t2 + x^t3 + x^t4 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf3ecc0dafe04c57dacea983a9a6690e"></a><!-- doxytag: member="PolynomialMod2::AllOnes" ref="abf3ecc0dafe04c57dacea983a9a6690e" args="(size_t n)" -->
static <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#abf3ecc0dafe04c57dacea983a9a6690e">AllOnes</a> (size_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return x^(n-1) + ... + x + 1 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11c7e95fb64a071952df785bb4036437"></a><!-- doxytag: member="PolynomialMod2::Zero" ref="a11c7e95fb64a071952df785bb4036437" args="()" -->
static const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> <br class="typebreak"/>
&amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><b>Zero</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d96db42fd089c139d6af6da6d6bc331"></a><!-- doxytag: member="PolynomialMod2::One" ref="a6d96db42fd089c139d6af6da6d6bc331" args="()" -->
static const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> <br class="typebreak"/>
&amp;__cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><b>One</b> ()</td></tr>
<tr><td colspan="2"><h2>ENCODE/DECODE</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp504bf883702193e006878608276a59c5"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a9e71cfb010cde2d755cf59bcb213abda">MinEncodedSize</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">minimum number of bytes to encode this polynomial  <a href="#a9e71cfb010cde2d755cf59bcb213abda"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a5e50bea6c06c2acb63e257c0ab568e72">Encode</a> (byte *output, size_t outputLen) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">encode in big-endian format  <a href="#a5e50bea6c06c2acb63e257c0ab568e72"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bc634e489af8451856f5614748fb9c6"></a><!-- doxytag: member="PolynomialMod2::Encode" ref="a8bc634e489af8451856f5614748fb9c6" args="(BufferedTransformation &amp;bt, size_t outputLen) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Encode</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, size_t outputLen) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc611fe09c3a9b919dce7b8b45cec29d"></a><!-- doxytag: member="PolynomialMod2::Decode" ref="adc611fe09c3a9b919dce7b8b45cec29d" args="(const byte *input, size_t inputLen)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Decode</b> (const byte *input, size_t inputLen)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60ed7031782a3e3051278ce5dfa1c099"></a><!-- doxytag: member="PolynomialMod2::Decode" ref="a60ed7031782a3e3051278ce5dfa1c099" args="(BufferedTransformation &amp;bt, size_t inputLen)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Decode</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, size_t inputLen)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a700d15948c49f52c01d0ad1bd25c1a3d"></a><!-- doxytag: member="PolynomialMod2::DEREncodeAsOctetString" ref="a700d15948c49f52c01d0ad1bd25c1a3d" args="(BufferedTransformation &amp;bt, size_t length) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a700d15948c49f52c01d0ad1bd25c1a3d">DEREncodeAsOctetString</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, size_t length) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">encode value as big-endian octet string <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69c7853e0d24f1056be18112ee4f5a8e"></a><!-- doxytag: member="PolynomialMod2::BERDecodeAsOctetString" ref="a69c7853e0d24f1056be18112ee4f5a8e" args="(BufferedTransformation &amp;bt, size_t length)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a69c7853e0d24f1056be18112ee4f5a8e">BERDecodeAsOctetString</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt, size_t length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">decode value as big-endian octet string <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="a4c78f049759b0aacf8dcb687ed17a207"></a><!-- doxytag: member="PolynomialMod2::BitCount" ref="a4c78f049759b0aacf8dcb687ed17a207" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a4c78f049759b0aacf8dcb687ed17a207">BitCount</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of significant bits = <a class="el" href="class_polynomial_mod2.html#ae274b547e478a6cc0065089b7b915e47" title="the zero polynomial will return a degree of -1">Degree()</a> + 1 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a928dd8ce9f76230479eb3bb6edc750e8"></a><!-- doxytag: member="PolynomialMod2::ByteCount" ref="a928dd8ce9f76230479eb3bb6edc750e8" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a928dd8ce9f76230479eb3bb6edc750e8">ByteCount</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of significant bytes = ceiling(<a class="el" href="class_polynomial_mod2.html#a4c78f049759b0aacf8dcb687ed17a207" title="number of significant bits = Degree() + 1">BitCount()</a>/8) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11d3c636bf8dc72aacee1803b395e751"></a><!-- doxytag: member="PolynomialMod2::WordCount" ref="a11d3c636bf8dc72aacee1803b395e751" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a11d3c636bf8dc72aacee1803b395e751">WordCount</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of significant words = ceiling(<a class="el" href="class_polynomial_mod2.html#a928dd8ce9f76230479eb3bb6edc750e8" title="number of significant bytes = ceiling(BitCount()/8)">ByteCount()</a>/sizeof(word)) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b038b16ea02fb77cd3a122a2d0b58d7"></a><!-- doxytag: member="PolynomialMod2::GetBit" ref="a3b038b16ea02fb77cd3a122a2d0b58d7" args="(size_t n) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a3b038b16ea02fb77cd3a122a2d0b58d7">GetBit</a> (size_t n) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the n-th bit, n=0 being the least significant bit <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab98b4e2262584878ef7b12bc35301ee7"></a><!-- doxytag: member="PolynomialMod2::GetByte" ref="ab98b4e2262584878ef7b12bc35301ee7" args="(size_t n) const " -->
byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ab98b4e2262584878ef7b12bc35301ee7">GetByte</a> (size_t n) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the n-th byte <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae274b547e478a6cc0065089b7b915e47"></a><!-- doxytag: member="PolynomialMod2::Degree" ref="ae274b547e478a6cc0065089b7b915e47" args="() const " -->
signed int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ae274b547e478a6cc0065089b7b915e47">Degree</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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="afecb67038bff52fc044bc755537fd643"></a><!-- doxytag: member="PolynomialMod2::CoefficientCount" ref="afecb67038bff52fc044bc755537fd643" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#afecb67038bff52fc044bc755537fd643">CoefficientCount</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">degree + 1 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9c08444fe0f2eb5602e36fc992f9ac8"></a><!-- doxytag: member="PolynomialMod2::GetCoefficient" ref="af9c08444fe0f2eb5602e36fc992f9ac8" args="(size_t i) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#af9c08444fe0f2eb5602e36fc992f9ac8">GetCoefficient</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return coefficient for x^i <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfbd3eee725068a94239e7581b43fe45"></a><!-- doxytag: member="PolynomialMod2::operator[]" ref="abfbd3eee725068a94239e7581b43fe45" args="(unsigned int i) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#abfbd3eee725068a94239e7581b43fe45">operator[]</a> (unsigned int i) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return coefficient for x^i <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c2261784108ce7df662c17a37406da0"></a><!-- doxytag: member="PolynomialMod2::IsZero" ref="a5c2261784108ce7df662c17a37406da0" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>IsZero</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a798b2c21aa6d39ec33ff8b490e5078"></a><!-- doxytag: member="PolynomialMod2::Equals" ref="a5a798b2c21aa6d39ec33ff8b490e5078" args="(const PolynomialMod2 &amp;rhs) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>Equals</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;rhs) const </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="acb7a27cfd427af99b60e67503db0b6d6"></a><!-- doxytag: member="PolynomialMod2::operator=" ref="acb7a27cfd427af99b60e67503db0b6d6" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae29982e90286794cf7a3608a8c4b3d1c"></a><!-- doxytag: member="PolynomialMod2::operator&amp;=" ref="ae29982e90286794cf7a3608a8c4b3d1c" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&amp;=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46d95294f13b9b537868389d741b41a8"></a><!-- doxytag: member="PolynomialMod2::operator^=" ref="a46d95294f13b9b537868389d741b41a8" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator^=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a074e88a48db114f9f2e7ca859401c24d"></a><!-- doxytag: member="PolynomialMod2::operator+=" ref="a074e88a48db114f9f2e7ca859401c24d" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4e227e47fe190e2964f7ae00aa495ee"></a><!-- doxytag: member="PolynomialMod2::operator&#45;=" ref="aa4e227e47fe190e2964f7ae00aa495ee" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2a0905b339295d8581ee7d1c5b74979"></a><!-- doxytag: member="PolynomialMod2::operator*=" ref="ae2a0905b339295d8581ee7d1c5b74979" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator*=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a74c272ce43e483be9fe609d4a28d96"></a><!-- doxytag: member="PolynomialMod2::operator/=" ref="a8a74c272ce43e483be9fe609d4a28d96" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator/=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add621d7f99d46c8f30f1208bc82a37ca"></a><!-- doxytag: member="PolynomialMod2::operator%=" ref="add621d7f99d46c8f30f1208bc82a37ca" args="(const PolynomialMod2 &amp;t)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator%=</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad73f6f1c7331f2b745c0d61f11d881b9"></a><!-- doxytag: member="PolynomialMod2::operator&lt;&lt;=" ref="ad73f6f1c7331f2b745c0d61f11d881b9" args="(unsigned int)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;=</b> (unsigned int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16f09c3dcc4ac6019c4f42012b177a37"></a><!-- doxytag: member="PolynomialMod2::operator&gt;&gt;=" ref="a16f09c3dcc4ac6019c4f42012b177a37" args="(unsigned int)" -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;=</b> (unsigned int)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7021f18e89d4494b6f2ddede2ac29b3a"></a><!-- doxytag: member="PolynomialMod2::Randomize" ref="a7021f18e89d4494b6f2ddede2ac29b3a" args="(RandomNumberGenerator &amp;rng, size_t bitcount)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Randomize</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, size_t bitcount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3855a5f77e9bbc7d82a4239ccf59329"></a><!-- doxytag: member="PolynomialMod2::SetBit" ref="ab3855a5f77e9bbc7d82a4239ccf59329" args="(size_t i, int value=1)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetBit</b> (size_t i, int value=1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af15c7ead361d1f7ea23d5e4bd5535989"></a><!-- doxytag: member="PolynomialMod2::SetByte" ref="af15c7ead361d1f7ea23d5e4bd5535989" args="(size_t n, byte value)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#af15c7ead361d1f7ea23d5e4bd5535989">SetByte</a> (size_t n, byte value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the n-th byte to value <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a862faf0cf7d2a2d8a30cd2a17c3d9146"></a><!-- doxytag: member="PolynomialMod2::SetCoefficient" ref="a862faf0cf7d2a2d8a30cd2a17c3d9146" args="(size_t i, int value)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetCoefficient</b> (size_t i, int value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21587324d54a4ae453960770b18c398d"></a><!-- doxytag: member="PolynomialMod2::swap" ref="a21587324d54a4ae453960770b18c398d" args="(PolynomialMod2 &amp;a)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;a)</td></tr>
<tr><td colspan="2"><h2>UNARY OPERATORS</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpf2e24c7f281b06b6998903e7b5569b30"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e1b28131d307487c2615fa5fa8e4c1a"></a><!-- doxytag: member="PolynomialMod2::operator!" ref="a3e1b28131d307487c2615fa5fa8e4c1a" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff71024acc44696b70addcebd50feffc"></a><!-- doxytag: member="PolynomialMod2::operator+" ref="aff71024acc44696b70addcebd50feffc" args="() const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator+</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac93e971cc45983841ee68c06c0cdb35"></a><!-- doxytag: member="PolynomialMod2::operator&#45;" ref="aac93e971cc45983841ee68c06c0cdb35" args="() const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator-</b> () const </td></tr>
<tr><td colspan="2"><h2>BINARY OPERATORS</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp9e1d9554636126ae321e225d1d24c447"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99e2b908f82147116bfe631ef84755b5"></a><!-- doxytag: member="PolynomialMod2::And" ref="a99e2b908f82147116bfe631ef84755b5" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>And</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac39e5aa475ea75149c09aeace922734d"></a><!-- doxytag: member="PolynomialMod2::Xor" ref="ac39e5aa475ea75149c09aeace922734d" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Xor</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd4130ad85985d2d1a4318b77563c030"></a><!-- doxytag: member="PolynomialMod2::Plus" ref="acd4130ad85985d2d1a4318b77563c030" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Plus</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa10aa6c97fa37f201fcb477e0aabe209"></a><!-- doxytag: member="PolynomialMod2::Minus" ref="aa10aa6c97fa37f201fcb477e0aabe209" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Minus</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9eb57375ba2c0b403a76008195c50299"></a><!-- doxytag: member="PolynomialMod2::Times" ref="a9eb57375ba2c0b403a76008195c50299" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Times</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91bb7fc668249f76ee3aea359daf0842"></a><!-- doxytag: member="PolynomialMod2::DividedBy" ref="a91bb7fc668249f76ee3aea359daf0842" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>DividedBy</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e1e201da250b5fe9ee142705e14ffdc"></a><!-- doxytag: member="PolynomialMod2::Modulo" ref="a1e1e201da250b5fe9ee142705e14ffdc" args="(const PolynomialMod2 &amp;b) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Modulo</b> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa752ba55ff8ac4050c1391d1dacfbc81"></a><!-- doxytag: member="PolynomialMod2::operator&gt;&gt;" ref="aa752ba55ff8ac4050c1391d1dacfbc81" args="(unsigned int n) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (unsigned int n) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5058e89a823851c08fb11ab7f6449d0"></a><!-- doxytag: member="PolynomialMod2::operator&lt;&lt;" ref="aa5058e89a823851c08fb11ab7f6449d0" args="(unsigned int n) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (unsigned int n) const </td></tr>
<tr><td colspan="2"><h2>OTHER ARITHMETIC FUNCTIONS</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp9b2e3a5f8113660d4333aeae3c0867b1"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac126ac265f57eaa7d0557eb21b50e5e5"></a><!-- doxytag: member="PolynomialMod2::Parity" ref="ac126ac265f57eaa7d0557eb21b50e5e5" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ac126ac265f57eaa7d0557eb21b50e5e5">Parity</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sum modulo 2 of all coefficients <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a769b126e4495f436e9eabe50c87b5077"></a><!-- doxytag: member="PolynomialMod2::IsIrreducible" ref="a769b126e4495f436e9eabe50c87b5077" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a769b126e4495f436e9eabe50c87b5077">IsIrreducible</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check for irreducibility <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528024a9bff9a7145e6c9cac165ce258"></a><!-- doxytag: member="PolynomialMod2::Doubled" ref="a528024a9bff9a7145e6c9cac165ce258" args="() const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a528024a9bff9a7145e6c9cac165ce258">Doubled</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is always zero since we're working modulo 2 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d0cc729b7a611b7e2af9fe06512b7f3"></a><!-- doxytag: member="PolynomialMod2::Squared" ref="a0d0cc729b7a611b7e2af9fe06512b7f3" args="() const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Squared</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae106fdd2fe4747f2f7fa677543070822"></a><!-- doxytag: member="PolynomialMod2::IsUnit" ref="ae106fdd2fe4747f2f7fa677543070822" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ae106fdd2fe4747f2f7fa677543070822">IsUnit</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">only 1 is a unit <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af93d5dd751be38de7a66413217f56f17"></a><!-- doxytag: member="PolynomialMod2::MultiplicativeInverse" ref="af93d5dd751be38de7a66413217f56f17" args="() const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#af93d5dd751be38de7a66413217f56f17">MultiplicativeInverse</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return inverse if *this is a unit, otherwise return 0 <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8005d38604e28556889ea89412fe33f"></a><!-- doxytag: member="PolynomialMod2::InverseMod" ref="ae8005d38604e28556889ea89412fe33f" args="(const PolynomialMod2 &amp;) const " -->
<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#ae8005d38604e28556889ea89412fe33f">InverseMod</a> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate multiplicative inverse of *this mod n <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3940dec2ab787489ad4ce67013fe4611"></a><!-- doxytag: member="PolynomialMod2::Gcd" ref="a3940dec2ab787489ad4ce67013fe4611" args="(const PolynomialMod2 &amp;a, const PolynomialMod2 &amp;n)" -->
static <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a3940dec2ab787489ad4ce67013fe4611">Gcd</a> (const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;a, const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">greatest common divisor <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d92da2ee829619041eca82567b87bc"></a><!-- doxytag: member="PolynomialMod2::Divide" ref="a73d92da2ee829619041eca82567b87bc" args="(PolynomialMod2 &amp;r, PolynomialMod2 &amp;q, const PolynomialMod2 &amp;a, const PolynomialMod2 &amp;d)" -->
static void __cdecl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_polynomial_mod2.html#a73d92da2ee829619041eca82567b87bc">Divide</a> (<a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;r, <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;q, const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;a, const <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &amp;d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate r and q such that (a == d*q + r) &amp;&amp; (deg(r) &lt; deg(d)) <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Polynomial with Coefficients in GF(2). </p>

<p>Definition at line <a class="el" href="gf2n_8h_source.html#l00017">17</a> of file <a class="el" href="gf2n_8h_source.html">gf2n.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a51790dcfe87a449169e8cb5c0f20da7e"></a><!-- doxytag: member="PolynomialMod2::PolynomialMod2" ref="a51790dcfe87a449169e8cb5c0f20da7e" args="(word value, size_t bitLength=WORD_BITS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PolynomialMod2::PolynomialMod2 </td>
          <td>(</td>
          <td class="paramtype">word&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>bitLength</em> = <code>WORD_BITS</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>convert from word </p>
<p>value should be encoded with the least significant bit as coefficient to x^0 and most significant bit as coefficient to x^(WORD_BITS-1) bitLength denotes how much memory to allocate initially </p>

<p>Definition at line <a class="el" href="gf2n_8cpp_source.html#l00022">22</a> of file <a class="el" href="gf2n_8cpp_source.html">gf2n.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9e71cfb010cde2d755cf59bcb213abda"></a><!-- doxytag: member="PolynomialMod2::MinEncodedSize" ref="a9e71cfb010cde2d755cf59bcb213abda" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int PolynomialMod2::MinEncodedSize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>minimum number of bytes to encode this polynomial </p>
<p>MinEncodedSize of 0 is 1 </p>

<p>Definition at line <a class="el" href="gf2n_8h_source.html#l00077">77</a> of file <a class="el" href="gf2n_8h_source.html">gf2n.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e50bea6c06c2acb63e257c0ab568e72"></a><!-- doxytag: member="PolynomialMod2::Encode" ref="a5e50bea6c06c2acb63e257c0ab568e72" args="(byte *output, size_t outputLen) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PolynomialMod2::Encode </td>
          <td>(</td>
          <td class="paramtype">byte *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>outputLen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>encode in big-endian format </p>
<p>if outputLen &lt; MinEncodedSize, the most significant bytes will be dropped if outputLen &gt; MinEncodedSize, the most significant bytes will be padded </p>

<p>Definition at line <a class="el" href="gf2n_8cpp_source.html#l00139">139</a> of file <a class="el" href="gf2n_8cpp_source.html">gf2n.cpp</a>.</p>

<p>Referenced by <a class="el" href="gf2n_8cpp_source.html#l00163">DEREncodeAsOctetString()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="gf2n_8h_source.html">gf2n.h</a></li>
<li><a class="el" href="gf2n_8cpp_source.html">gf2n.cpp</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>