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 418 of file galois.h.
References it_assert_debug, and itpp::Array< T >::set_size().
|
inline |
|
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, and itpp::Array< T >::set_size().
|
inline |
Return true degree of GF(q)[x].
Definition at line 466 of file galois.h.
Referenced by itpp::BCH::BCH(), divgfx(), itpp::formal_derivate(), and modgfx().
Set the GF(q)[x] polynomial.
Definition at line 408 of file galois.h.
References set().
Referenced by itpp::BCH::BCH(), itpp::BCH::BCH(), GFX(), GFX(), GFX(), itpp::Reed_Solomon::Reed_Solomon(), set(), and set().
Set the GF(q)[x] polynomial.
Definition at line 398 of file galois.h.
References it_assert_debug, itpp::Array< T >::set_size(), and itpp::Array< T >::size().
|
inline |
Acces to individual element in the GF(q)[x] polynomial.
Definition at line 211 of file galois.h.
References it_assert_debug.
Acces to individual element in the GF(q)[x] polynomial.
Definition at line 216 of file galois.h.
References it_assert_debug.
sum of two GF(q)[x]
Definition at line 491 of file galois.h.
References it_assert_debug, itpp::Array< T >::set_size(), and itpp::Array< T >::size().
product of two GF(q)[x]
Definition at line 522 of file galois.h.
References it_assert_debug, itpp::Array< T >::set_size(), and itpp::Array< T >::size().
Evaluate polynom at alpha^inexp.
Definition at line 566 of file galois.h.
References it_assert_debug.
|
friend |
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 get_true_degree().
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 get_true_degree().
Generated on Mon Apr 22 2024 09:45:27 for IT++ by Doxygen 1.9.8