Galois Field GF(q). More...
#include <itpp/comm/galois.h>
Public Member Functions | |
GF () | |
Constructor. | |
GF (int qvalue) | |
Constructor. | |
GF (int qvalue, int inexp) | |
Constructor. | |
GF (const GF &ingf) | |
Copy constructor. | |
void | set (int qvalue, int inexp) |
GF(q) equals alpha ^ inexp. | |
void | set (int qvalue, const bvec &vectorspace) |
GF(q) equals the element that corresponds to the given vector space. | |
void | set_size (int qvalue) |
set q=2^mvalue | |
int | get_size () const |
Return q. | |
bvec | get_vectorspace () const |
Returns the vector space representation of GF(q). | |
int | get_value () const |
Returns the alpha exponent. | |
int | operator== (const GF &ingf) const |
Equality check. | |
int | operator!= (const GF &ingf) const |
Not-equality check. | |
void | operator= (const GF &ingf) |
GF(q) equals ingf. | |
void | operator= (const int inexp) |
GF(q) equals alpha^inexp. | |
void | operator+= (const GF &ingf) |
sum of two GF(q) | |
GF | operator+ (const GF &ingf) const |
sum of two GF(q) | |
void | operator-= (const GF &ingf) |
Difference of two GF(q), same as sum for q=2^m. | |
GF | operator- (const GF &ingf) const |
Difference of two GF(q), same as sum for q=2^m. | |
void | operator*= (const GF &ingf) |
product of two GF(q) | |
GF | operator* (const GF &ingf) const |
product of two GF(q) | |
void | operator/= (const GF &ingf) |
division of two GF(q) | |
GF | operator/ (const GF &ingf) const |
product of two GF(q) | |
Friends | |
ITPP_EXPORT friend std::ostream & | operator<< (std::ostream &os, const GF &ingf) |
Output stream for GF(q) | |
ITPP_EXPORT friend std::istream & | operator>> (std::istream &is, GF &ingf) |
Input stream for GF(q) | |
Galois Field GF(q).
Galois field GF(q), where q = 2^m. Possible m values is m = 1,2,...,16. Elements are given as exponents of the primitive element alpha. Observe that the zeroth element are given as "-1". ( log(0)=-Inf ).
As indicated it is possible to use this class for binary elements, that is GF(2). However, this is less efficient in storage (each element take 5 bytes of memory) and in speed. If possible use the class BIN instead. Observe, also that the element "0" is called "-1" and "1" called "0".
|
inline |
GF(q) equals the element that corresponds to the given vector space.
The format is (...,c,b,a), where the element x is given as x=...+c*alpha^2+b*alpha+a.
Definition at line 269 of file galois.h.
References itpp::bin2dec(), it_assert_debug, and set_size().
|
inline |
Returns the vector space representation of GF(q).
The format is (...,c,b,a), where the element x is given as x=...+c*alpha^2+b*alpha+a.
Definition at line 276 of file galois.h.
References itpp::dec2bin().
Generated on Sat Jul 6 2013 10:54:32 for IT++ by Doxygen 1.8.2