itpp::GFX Class Reference

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. More...

## Related Functions

(Note that these are not member functions.)
ITPP_EXPORT GFX | divgfx (const GFX &c, const GFX &g)
| Int division of GF[q](x) polynomials: m(x) = c(x)/g(x). More...
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.

## Detailed Description

Polynomials over GF(q)[x], where q=2^m, m=1,...,16.

Definition at line 175 of file galois.h.

## Friends And Related Function Documentation

## operator<<

ITPP_EXPORT friend std::ostream& operator<< | ( | std::ostream & | os,
|  | const GFX & | ingfx
| ) |  |

friend

Output stream.

Output stream.

Definition at line 135 of file galois.cpp.

## divgfx()

ITPP_EXPORT GFX divgfx | ( | const GFX & | c,
|  | const GFX & | g
| ) |  |

related

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(), get_degree(), get_size(), get_true_degree(), and set_degree().

The documentation for this class was generated from the following file:

- itpp/comm/galois.h

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.9.1