#include <gnuradio/fec/gf2mat.h>
Public Member Functions | |
GF2Mat () | |
Default constructor. | |
GF2Mat (int m, int n) | |
Construct an M x N matrix with all 0 entries. | |
GF2Mat (alist _list) | |
Loads the matrix from alist _list. | |
GF2Mat (std::vector< std::vector< uint8_t > > X) | |
Initializes the class from a 2-D vector X. | |
int | get_M () |
Returns the variable M. | |
int | get_N () |
Returns the variable N. | |
void | set_element (int i, int j, char val) |
Set the element at (i, j) coordinate to val. | |
char | get_element (int i, int j) |
Returns the element at coordinate (i, j) | |
GF2Vec | get_row (int i) |
Returns the ith row. | |
GF2Vec | get_col (int i) |
Returns the ith column. | |
GF2Vec | operator[] (int i) |
Returns the ith row. | |
void | print_matrix () |
Prints the matrix H. | |
void | set_col (int i, GF2Vec vec) |
Sets the ith column with the given vector. | |
void | set_row (int i, GF2Vec vec) |
Sets the ith row with the given vector. | |
void | swap_cols (int i, int j) |
Swaps columns i and j. | |
void | add_cols (int i, int j) |
Adds column j to i and replace i with the sum. | |
void | add_rows (int i, int j) |
Add row j to i and replace j with the sum. | |
std::vector< std::vector< uint8_t > > | get_H () |
Returns the variable H. | |
GF2Mat | get_G (std::vector< int > &p, int &rank) |
Obtains an equivalent representation of H for encoding. | |
|
inline |
Default constructor.
Referenced by get_G().
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< uint8_t > > | 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.
void GF2Mat::add_rows | ( | int | i, |
int | j ) |
Add row j to i and replace j with the sum.
GF2Vec GF2Mat::get_col | ( | int | i | ) |
Returns the ith column.
char GF2Mat::get_element | ( | int | i, |
int | j ) |
Returns the element at coordinate (i, j)
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. |
References GF2Mat().
std::vector< std::vector< uint8_t > > GF2Mat::get_H | ( | ) |
Returns the variable H.
int GF2Mat::get_M | ( | ) |
Returns the variable M.
int GF2Mat::get_N | ( | ) |
Returns the variable N.
GF2Vec GF2Mat::get_row | ( | int | i | ) |
Returns the ith row.
GF2Vec GF2Mat::operator[] | ( | int | i | ) |
Returns the ith row.
void GF2Mat::print_matrix | ( | ) |
Prints the matrix H.
void GF2Mat::set_col | ( | int | i, |
GF2Vec | vec ) |
Sets the ith column with the given vector.
void GF2Mat::set_element | ( | int | i, |
int | j, | ||
char | val ) |
Set the element at (i, j) coordinate to val.
void GF2Mat::set_row | ( | int | i, |
GF2Vec | vec ) |
Sets the ith row with the given vector.
void GF2Mat::swap_cols | ( | int | i, |
int | j ) |
Swaps columns i and j.