⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 polynomi_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00366                 InterpolationFailed() : <a class="code" href="class_exception.html">Exception</a>(<a class="code" href="class_exception.html#_zlib_decompressor_1_1_unsupported_preset_dictionaryw7_zlib_decompressor_1_1_unsupported_preset_dictionaryw6">OTHER_ERROR</a>, <span class="stringliteral">"RingOfPolynomialsOver&lt;T&gt;: interpolation failed"</span>) {}00367         };00368 00369         <a class="code" href="class_polynomial_over.html">Element</a> Interpolate(<span class="keyword">const</span> CoefficientType x[], <span class="keyword">const</span> CoefficientType y[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) <span class="keyword">const</span>;00370 00371         <span class="comment">// a faster version of Interpolate(x, y, n).EvaluateAt(position)</span>00372         CoefficientType InterpolateAt(<span class="keyword">const</span> CoefficientType &amp;position, <span class="keyword">const</span> CoefficientType x[], <span class="keyword">const</span> CoefficientType y[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) <span class="keyword">const</span>;00373 <span class="comment">/*</span>00374 <span class="comment">        void PrepareBulkInterpolation(CoefficientType *w, const CoefficientType x[], unsigned int n) const;</span>00375 <span class="comment">        void PrepareBulkInterpolationAt(CoefficientType *v, const CoefficientType &amp;position, const CoefficientType x[], const CoefficientType w[], unsigned int n) const;</span>00376 <span class="comment">        CoefficientType BulkInterpolateAt(const CoefficientType y[], const CoefficientType v[], unsigned int n) const;</span>00377 <span class="comment">*/</span>00378 <span class="keyword">protected</span>:00379         <span class="keywordtype">void</span> CalculateAlpha(std::vector&lt;CoefficientType&gt; &amp;alpha, <span class="keyword">const</span> CoefficientType x[], <span class="keyword">const</span> CoefficientType y[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) <span class="keyword">const</span>;00380 00381         CoefficientRing m_ring;00382 };00383 00384 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Ring, <span class="keyword">class</span> Element&gt;00385 <span class="keywordtype">void</span> PrepareBulkPolynomialInterpolation(<span class="keyword">const</span> Ring &amp;ring, Element *w, <span class="keyword">const</span> Element x[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n);00386 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Ring, <span class="keyword">class</span> Element&gt;00387 <span class="keywordtype">void</span> PrepareBulkPolynomialInterpolationAt(<span class="keyword">const</span> Ring &amp;ring, Element *v, <span class="keyword">const</span> Element &amp;position, <span class="keyword">const</span> Element x[], <span class="keyword">const</span> Element w[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n);00388 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Ring, <span class="keyword">class</span> Element&gt;00389 Element BulkPolynomialInterpolateAt(<span class="keyword">const</span> Ring &amp;ring, <span class="keyword">const</span> Element y[], <span class="keyword">const</span> Element v[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n);00390 <span class="comment"></span>00391 <span class="comment">//!</span>00392 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00393 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00394         {<span class="keywordflow">return</span> a.Equals(b, fixedRing);}<span class="comment"></span>00395 <span class="comment">//!</span>00396 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00397 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00398         {<span class="keywordflow">return</span> !(a==b);}00399 <span class="comment"></span>00400 <span class="comment">//!</span>00401 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00402 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt; (<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00403         {<span class="keywordflow">return</span> a.Degree() &gt; b.Degree();}<span class="comment"></span>00404 <span class="comment">//!</span>00405 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00406 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="gf2n_8h.html#a4">operator&gt;=</a>(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00407         {<span class="keywordflow">return</span> a.Degree() &gt;= b.Degree();}<span class="comment"></span>00408 <span class="comment">//!</span>00409 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00410 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt; (const CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00411         {<span class="keywordflow">return</span> a.Degree() &lt; b.Degree();}<span class="comment"></span>00412 <span class="comment">//!</span>00413 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00414 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;=(const CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00415         {<span class="keywordflow">return</span> a.Degree() &lt;= b.Degree();}00416 <span class="comment"></span>00417 <span class="comment">//!</span>00418 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00419 <span class="keyword">inline</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; operator+(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00420         {<span class="keywordflow">return</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt;(a.Plus(b, fixedRing));}<span class="comment"></span>00421 <span class="comment">//!</span>00422 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00423 <span class="keyword">inline</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; operator-(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00424         {<span class="keywordflow">return</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt;(a.Minus(b, fixedRing));}<span class="comment"></span>00425 <span class="comment">//!</span>00426 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00427 <span class="keyword">inline</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; operator*(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00428         {<span class="keywordflow">return</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt;(a.Times(b, fixedRing));}<span class="comment"></span>00429 <span class="comment">//!</span>00430 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00431 <span class="keyword">inline</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; operator/(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00432         {<span class="keywordflow">return</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt;(a.DividedBy(b, fixedRing));}<span class="comment"></span>00433 <span class="comment">//!</span>00434 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> instance&gt;00435 <span class="keyword">inline</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; operator%(<span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;a, <span class="keyword">const</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt; &amp;b)00436         {<span class="keywordflow">return</span> CryptoPP::PolynomialOverFixedRing&lt;T, instance&gt;(a.Modulo(b, fixedRing));}00437 00438 NAMESPACE_END00439 00440 NAMESPACE_BEGIN(std)00441 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> swap(CryptoPP::PolynomialOver&lt;T&gt; &amp;a, CryptoPP::PolynomialOver&lt;T&gt; &amp;b)00442 {00443         a.swap(b);00444 }00445 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> i&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> swap(CryptoPP::PolynomialOverFixedRing&lt;T,i&gt; &amp;a, CryptoPP::PolynomialOverFixedRing&lt;T,i&gt; &amp;b)00446 {00447         a.swap(b);00448 }00449 NAMESPACE_END00450 00451 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:22 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -