GF2Mat
gnuradio/fec/gf2mat.h
std::vector< std::vector< uint8_t > > std::vector<std::vector<uint8_t> > GF2Mat::H H GF2Mat::H

The matrix H.

int int GF2Mat::M M GF2Mat::M

Number of rows in H.

int int GF2Mat::N N GF2Mat::N

Number of columns in H.

GF2Mat::GF2Mat
()
GF2Mat
GF2Mat::GF2Mat

Default constructor.

GF2Mat::GF2Mat
(int m, int n)
GF2Mat
GF2Mat::GF2Mat
int m
int n

Construct an M x N matrix with all 0 entries.

GF2Mat::GF2Mat
(alist _list)
GF2Mat
GF2Mat::GF2Mat
alist _list

Loads the matrix from alist _list.

GF2Mat::GF2Mat
(std::vector< std::vector< uint8_t > > X)
GF2Mat
GF2Mat::GF2Mat
std::vector< std::vector< uint8_t > > X

Initializes the class from a 2-D vector X.

int int GF2Mat::get_M () get_M GF2Mat::get_M

Returns the variable M.

int int GF2Mat::get_N () get_N GF2Mat::get_N

Returns the variable N.

void void GF2Mat::set_element (int i, int j, char val) set_element GF2Mat::set_element int i int j char val

Set the element at (i, j) coordinate to val.

char char GF2Mat::get_element (int i, int j) get_element GF2Mat::get_element int i int j

Returns the element at coordinate (i, j)

GF2Vec GF2Vec GF2Mat::get_row (int i) get_row GF2Mat::get_row int i

Returns the ith row.

GF2Vec GF2Vec GF2Mat::get_col (int i) get_col GF2Mat::get_col int i

Returns the ith column.

GF2Vec GF2Vec GF2Mat::operator[] (int i) operator[] GF2Mat::operator[] int i

Returns the ith row.

void void GF2Mat::print_matrix () print_matrix GF2Mat::print_matrix

Prints the matrix H.

void void GF2Mat::set_col (int i, GF2Vec vec) set_col GF2Mat::set_col int i GF2Vec vec

Sets the ith column with the given vector.

void void GF2Mat::set_row (int i, GF2Vec vec) set_row GF2Mat::set_row int i GF2Vec vec

Sets the ith row with the given vector.

void void GF2Mat::swap_cols (int i, int j) swap_cols GF2Mat::swap_cols int i int j

Swaps columns i and j.

void void GF2Mat::add_cols (int i, int j) add_cols GF2Mat::add_cols int i int j

Adds column j to i and replace i with the sum.

void void GF2Mat::add_rows (int i, int j) add_rows GF2Mat::add_rows int i int j

Add row j to i and replace j with the sum.

std::vector< std::vector< uint8_t > > std::vector< std::vector< uint8_t > > GF2Mat::get_H () get_H GF2Mat::get_H

Returns the variable H.

GF2Mat GF2Mat GF2Mat::get_G (std::vector< int > &p, int &rank) get_G 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:

- "Modern Coding Theory", T Richardson and R Urbanke.

p

The column permutation during this operation.

rank

The rank of the matrix.

- GF2Mat
  add_cols
- GF2Mat
  add_rows
- GF2Mat
  get_col
- GF2Mat
  get_element
- GF2Mat
  get_G
- GF2Mat
  get_H
- GF2Mat
  get_M
- GF2Mat
  get_N
- GF2Mat
  get_row
- GF2Mat
  GF2Mat
- GF2Mat
  GF2Mat
- GF2Mat
  GF2Mat
- GF2Mat
  GF2Mat
- GF2Mat
  H
- GF2Mat
  M
- GF2Mat
  N
- GF2Mat
  operator[]
- GF2Mat
  print_matrix
- GF2Mat
  set_col
- GF2Mat
  set_element
- GF2Mat
  set_row
- GF2Mat
  swap_cols