IT++ Logo
Public Member Functions | Friends | Related Symbols | List of all members
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.
 
GFoperator[] (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.
 

Detailed Description

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

Definition at line 175 of file galois.h.

Constructor & Destructor Documentation

◆ GFX() [1/7]

itpp::GFX::GFX ( )
inline

Constructor.

Definition at line 386 of file galois.h.

◆ GFX() [2/7]

itpp::GFX::GFX ( int  qvalue)
inline

Constructor.

Definition at line 392 of file galois.h.

References it_assert_debug.

◆ GFX() [3/7]

itpp::GFX::GFX ( int  qvalue,
int  indegree 
)
inline

Constructor.

Definition at line 418 of file galois.h.

References it_assert_debug, and itpp::Array< T >::set_size().

◆ GFX() [4/7]

itpp::GFX::GFX ( int  qvalue,
const ivec &  invalues 
)
inline

Constructor.

Definition at line 427 of file galois.h.

References set().

◆ GFX() [5/7]

itpp::GFX::GFX ( int  qvalue,
char invalues 
)
inline

Constructor.

Definition at line 432 of file galois.h.

References set().

◆ GFX() [6/7]

itpp::GFX::GFX ( int  qvalue,
std::string  invalues 
)
inline

Constructor.

Definition at line 437 of file galois.h.

References set().

◆ GFX() [7/7]

itpp::GFX::GFX ( const GFX ingfx)
inline

Copy constructor.

Definition at line 442 of file galois.h.

Member Function Documentation

◆ get_size()

int itpp::GFX::get_size ( ) const
inline

Return q.

Definition at line 449 of file galois.h.

Referenced by itpp::formal_derivate().

◆ get_degree()

int itpp::GFX::get_degree ( ) const
inline

Return degree of GF(q)[x].

Definition at line 454 of file galois.h.

◆ set_degree()

void itpp::GFX::set_degree ( int  indegree,
bool  copy = false 
)
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().

◆ get_true_degree()

int itpp::GFX::get_true_degree ( ) const
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() [1/3]

void itpp::GFX::set ( int  qvalue,
const char invalues 
)
inline

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() [2/3]

void itpp::GFX::set ( int  qvalue,
const std::string  invalues 
)
inline

Set the GF(q)[x] polynomial.

Definition at line 413 of file galois.h.

References set().

◆ set() [3/3]

void itpp::GFX::set ( int  qvalue,
const ivec &  invalues 
)
inline

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().

◆ clear()

void itpp::GFX::clear ( )
inline

Set all coefficients to zero.

Definition at line 477 of file galois.h.

References it_assert_debug.

◆ operator[]() [1/2]

GF itpp::GFX::operator[] ( int  index) const
inline

Acces to individual element in the GF(q)[x] polynomial.

Definition at line 211 of file galois.h.

References it_assert_debug.

◆ operator[]() [2/2]

GF & itpp::GFX::operator[] ( int  index)
inline

Acces to individual element in the GF(q)[x] polynomial.

Definition at line 216 of file galois.h.

References it_assert_debug.

◆ operator=()

void itpp::GFX::operator= ( const GFX ingfx)
inline

Copy.

Definition at line 484 of file galois.h.

◆ operator+=()

void itpp::GFX::operator+= ( const GFX ingfx)
inline

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().

◆ operator+()

GFX itpp::GFX::operator+ ( const GFX ingfx) const
inline

sum of two GF(q)[x]

Definition at line 503 of file galois.h.

◆ operator-=()

void itpp::GFX::operator-= ( const GFX ingfx)
inline

Difference of two GF(q), same as sum for q=2^m.

Definition at line 510 of file galois.h.

◆ operator-()

GFX itpp::GFX::operator- ( const GFX ingfx) const
inline

Difference of two GF(q), same as sum for q=2^m.

Definition at line 515 of file galois.h.

◆ operator*=()

void itpp::GFX::operator*= ( const GFX ingfx)
inline

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().

◆ operator*()

GFX itpp::GFX::operator* ( const GFX ingfx) const
inline

product of two GF(q)[x]

Definition at line 536 of file galois.h.

◆ operator()()

GF itpp::GFX::operator() ( const GF ingf)
inline

Evaluate polynom at alpha^inexp.

Definition at line 566 of file galois.h.

References it_assert_debug.

Friends And Related Symbol Documentation

◆ operator* [1/2]

ITPP_EXPORT friend GFX operator* ( const GF ingf,
const GFX ingfx 
)
friend

Multiply a GF element with a GF(q)[x].

Definition at line 543 of file galois.h.

◆ operator* [2/2]

ITPP_EXPORT friend GFX operator* ( const GFX ingfx,
const GF ingf 
)
friend

Multiply a GF(q)[x] with a GF element.

Definition at line 552 of file galois.h.

◆ operator/

ITPP_EXPORT friend GFX operator/ ( const GFX ingfx,
const GF ingf 
)
friend

Divide a GF(q)[x] with a GF element.

Definition at line 557 of file galois.h.

◆ 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 get_true_degree().

◆ modgfx()

ITPP_EXPORT GFX modgfx ( const GFX a,
const GFX b 
)
related

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().


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

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