#include <gnuradio/fec/gf2mat.h>
Public Member Functions | |
GF2Mat () | |
Default constructor. More... | |
GF2Mat (int m, int n) | |
Construct an M x N matrix with all 0 entries. More... | |
GF2Mat (alist _list) | |
Loads the matrix from alist _list. More... | |
GF2Mat (std::vector< std::vector< char >> X) | |
Initializes the class from a 2-D vector X. More... | |
int | get_M () |
Returns the variable M. More... | |
int | get_N () |
Returns the variable N. More... | |
void | set_element (int i, int j, char val) |
Set the element at (i, j) coordinate to val. More... | |
char | get_element (int i, int j) |
Returns the element at coordinate (i, j) More... | |
GF2Vec | get_row (int i) |
Returns the ith row. More... | |
GF2Vec | get_col (int i) |
Returns the ith column. More... | |
GF2Vec | operator[] (int i) |
Returns the ith row. More... | |
void | print_matrix () |
Prints the matrix H. More... | |
void | set_col (int i, GF2Vec vec) |
Sets the ith column with the given vector. More... | |
void | set_row (int i, GF2Vec vec) |
Sets the ith row with the given vector. More... | |
void | swap_cols (int i, int j) |
Swaps columns i and j. More... | |
void | add_cols (int i, int j) |
Adds column j to i and replace i with the sum. More... | |
void | add_rows (int i, int j) |
Add row j to i and replace j with the sum. More... | |
std::vector< std::vector< char > > | get_H () |
Returns the variable H. More... | |
GF2Mat | get_G (std::vector< int > &p, int &rank) |
Obtains an equivalent representation of H for encoding. More... | |
|
inline |
Default constructor.
References add_cols(), add_rows(), get_col(), get_element(), get_G(), get_H(), get_M(), get_N(), get_row(), operator[](), print_matrix(), set_col(), set_element(), set_row(), and swap_cols().
GF2Mat::GF2Mat | ( | int | m, |
int | n | ||
) |
Construct an M x N matrix with all 0 entries.
GF2Mat::GF2Mat | ( | alist | _list | ) |
Loads the matrix from alist _list.
GF2Mat::GF2Mat | ( | std::vector< std::vector< char >> | X | ) |
Initializes the class from a 2-D vector X.
void GF2Mat::add_cols | ( | int | i, |
int | j | ||
) |
Adds column j to i and replace i with the sum.
Referenced by GF2Mat().
void GF2Mat::add_rows | ( | int | i, |
int | j | ||
) |
Add row j to i and replace j with the sum.
Referenced by GF2Mat().
char GF2Mat::get_element | ( | int | i, |
int | j | ||
) |
Returns the element at coordinate (i, j)
Referenced by GF2Mat().
GF2Mat GF2Mat::get_G | ( | std::vector< int > & | p, |
int & | rank | ||
) |
Obtains an equivalent representation of H for encoding.
For encoding a G matrix in the form [I P] obtained from the parity matrix H, by (a) Column permutations, (b) Row additions and (c) Row permutations. Details of encoding is given in section A.1 of the reference:
p | The column permutation during this operation. |
rank | The rank of the matrix. |
Referenced by GF2Mat().
std::vector<std::vector<char> > GF2Mat::get_H | ( | ) |
Returns the variable H.
Referenced by GF2Mat().
int GF2Mat::get_M | ( | ) |
Returns the variable M.
Referenced by GF2Mat().
int GF2Mat::get_N | ( | ) |
Returns the variable N.
Referenced by GF2Mat().
void GF2Mat::print_matrix | ( | ) |
Prints the matrix H.
Referenced by GF2Mat().
void GF2Mat::set_col | ( | int | i, |
GF2Vec | vec | ||
) |
Sets the ith column with the given vector.
Referenced by GF2Mat().
void GF2Mat::set_element | ( | int | i, |
int | j, | ||
char | val | ||
) |
Set the element at (i, j) coordinate to val.
Referenced by GF2Mat().
void GF2Mat::set_row | ( | int | i, |
GF2Vec | vec | ||
) |
Sets the ith row with the given vector.
Referenced by GF2Mat().
void GF2Mat::swap_cols | ( | int | i, |
int | j | ||
) |
Swaps columns i and j.
Referenced by GF2Mat().