\r
PolynomialMod2 PolynomialMod2::Trinomial(size_t t0, size_t t1, size_t t2)\r
{\r
+ CRYPTOPP_ASSERT(t0 > t1);\r
+ CRYPTOPP_ASSERT(t1 > t2);\r
+\r
PolynomialMod2 r((word)0, t0+1);\r
r.SetBit(t0);\r
r.SetBit(t1);\r
\r
PolynomialMod2 PolynomialMod2::Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4)\r
{\r
+ CRYPTOPP_ASSERT(t0 > t1);\r
+ CRYPTOPP_ASSERT(t1 > t2);\r
+ CRYPTOPP_ASSERT(t2 > t3);\r
+ CRYPTOPP_ASSERT(t3 > t4);\r
+\r
PolynomialMod2 r((word)0, t0+1);\r
r.SetBit(t0);\r
r.SetBit(t1);\r
static PolynomialMod2 CRYPTOPP_API Monomial(size_t i);\r
/// \brief Provides x^t0 + x^t1 + x^t2\r
/// \return x^t0 + x^t1 + x^t2\r
+ /// \pre The coefficients should be provided in descending order. That is, <pre>t0 > t1 > t2<pre>.\r
static PolynomialMod2 CRYPTOPP_API Trinomial(size_t t0, size_t t1, size_t t2);\r
/// \brief Provides x^t0 + x^t1 + x^t2 + x^t3 + x^t4\r
/// \return x^t0 + x^t1 + x^t2 + x^t3 + x^t4\r
+ /// \pre The coefficients should be provided in descending order. That is, <pre>t0 > t1 > t2 > t3 > t4<pre>.\r
static PolynomialMod2 CRYPTOPP_API Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4);\r
/// \brief Provides x^(n-1) + ... + x + 1\r
/// \return x^(n-1) + ... + x + 1\r