|
IT++ 4.3.1
|
Polynomials over GF(q)[x], where q=2^m, m=1,...,16. More...
#include <itpp/comm/galois.h>
Public Member Functions | |
| GFX () | |
| Constructor. | |
| GFX (int qvalue) | |
| Constructor. | |
| GFX (int qvalue, int indegree) | |
| Constructor. | |
| GFX (int qvalue, const ivec &invalues) | |
| Constructor. | |
| GFX (int qvalue, char *invalues) | |
| Constructor. | |
| GFX (int qvalue, std::string invalues) | |
| Constructor. | |
| GFX (const GFX &ingfx) | |
| Copy constructor. | |
| int | get_size () const |
| Return q. | |
| int | get_degree () const |
| Return degree of GF(q)[x]. | |
| void | set_degree (int indegree, bool copy=false) |
Resize the polynomial to the given indegree. If copy is set to true, the old polynomial's coefficients are kept in the new polynomial, otherwise they are set to zero. | |
| int | get_true_degree () const |
| Return true degree of GF(q)[x]. | |
| void | set (int qvalue, const char *invalues) |
| Set the GF(q)[x] polynomial. | |
| void | set (int qvalue, const std::string invalues) |
| Set the GF(q)[x] polynomial. | |
| void | set (int qvalue, const ivec &invalues) |
| Set the GF(q)[x] polynomial. | |
| void | clear () |
| Set all coefficients to zero. | |
| GF | operator[] (int index) const |
| Acces to individual element in the GF(q)[x] polynomial. | |
| GF & | operator[] (int index) |
| Acces to individual element in the GF(q)[x] polynomial. | |
| void | operator= (const GFX &ingfx) |
| Copy. | |
| void | operator+= (const GFX &ingfx) |
| sum of two GF(q)[x] | |
| GFX | operator+ (const GFX &ingfx) const |
| sum of two GF(q)[x] | |
| void | operator-= (const GFX &ingfx) |
| Difference of two GF(q), same as sum for q=2^m. | |
| GFX | operator- (const GFX &ingfx) const |
| Difference of two GF(q), same as sum for q=2^m. | |
| void | operator*= (const GFX &ingfx) |
| product of two GF(q)[x] | |
| GFX | operator* (const GFX &ingfx) const |
| product of two GF(q)[x] | |
| GF | operator() (const GF &ingf) |
| Evaluate polynom at alpha^inexp. | |
Friends | |
| ITPP_EXPORT friend GFX | operator* (const GF &ingf, const GFX &ingfx) |
| Multiply a GF element with a GF(q)[x]. | |
| ITPP_EXPORT friend GFX | operator* (const GFX &ingfx, const GF &ingf) |
| Multiply a GF(q)[x] with a GF element. | |
| ITPP_EXPORT friend GFX | operator/ (const GFX &ingfx, const GF &ingf) |
| Divide a GF(q)[x] with a GF element. | |
| ITPP_EXPORT friend std::ostream & | operator<< (std::ostream &os, const GFX &ingfx) |
| Output stream. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| ITPP_EXPORT GFX | divgfx (const GFX &c, const GFX &g) |
| Int division of GF[q](x) polynomials: m(x) = c(x)/g(x). | |
| ITPP_EXPORT GFX | modgfx (const GFX &a, const GFX &b) |
| Function that performs int division of gf[q](x) polynomials (a(x)/g(x)) and returns the reminder. | |
|
inline |
Constructor.
Definition at line 386 of file galois.h.
Referenced by itpp::BCH::BCH(), itpp::BCH::decode(), itpp::Reed_Solomon::decode(), divgfx(), GFX(), modgfx(), operator*, operator*(), operator*, operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/, operator<<, operator=(), and itpp::Reed_Solomon::Reed_Solomon().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return q.
Definition at line 449 of file galois.h.
Referenced by divgfx(), itpp::formal_derivate(), and modgfx().
|
inline |
|
inline |
Resize the polynomial to the given indegree. If copy is set to true, the old polynomial's coefficients are kept in the new polynomial, otherwise they are set to zero.
Definition at line 459 of file galois.h.
References it_assert_debug.
Referenced by itpp::Reed_Solomon::decode(), divgfx(), and modgfx().
|
inline |
Return true degree of GF(q)[x].
Definition at line 466 of file galois.h.
Referenced by divgfx(), itpp::formal_derivate(), and modgfx().
|
inline |
|
inline |
|
inline |
|
inline |
Set all coefficients to zero.
Definition at line 477 of file galois.h.
References it_assert_debug.
Referenced by divgfx(), itpp::formal_derivate(), and modgfx().
|
inline |
Acces to individual element in the GF(q)[x] polynomial.
Definition at line 211 of file galois.h.
References it_assert_debug.
|
inline |
Acces to individual element in the GF(q)[x] polynomial.
Definition at line 216 of file galois.h.
References it_assert_debug.
|
inline |
|
inline |
|
inline |
|
inline |
product of two GF(q)[x]
Definition at line 522 of file galois.h.
References GFX(), it_assert_debug, and itpp::Array< T >::set_size().
Evaluate polynom at alpha^inexp.
Definition at line 566 of file galois.h.
References itpp::GF::get_size(), and it_assert_debug.
Multiply a GF element with a GF(q)[x].
Definition at line 543 of file galois.h.
References itpp::GF::get_size(), GFX(), it_assert_debug, and operator*().
Multiply a GF(q)[x] with a GF element.
Definition at line 552 of file galois.h.
References GFX(), and operator*().
Divide a GF(q)[x] with a GF element.
Definition at line 557 of file galois.h.
References itpp::GF::get_size(), GFX(), it_assert_debug, and operator/.
Referenced by operator/.
|
friend |
Output stream.
Output stream.
Definition at line 135 of file galois.cpp.
References GFX(), and operator<<.
Referenced by operator<<.
Int division of GF[q](x) polynomials: m(x) = c(x)/g(x).
The reminder r(x) is not returned by this function.
Definition at line 157 of file galois.cpp.
References clear(), divgfx(), get_degree(), get_size(), get_true_degree(), GFX(), and set_degree().
Referenced by divgfx().
Function that performs int division of gf[q](x) polynomials (a(x)/g(x)) and returns the reminder.
Definition at line 183 of file galois.cpp.
References clear(), get_degree(), get_size(), get_true_degree(), GFX(), modgfx(), and set_degree().
Referenced by modgfx().