32 std::vector<std::vector<char>> H;
51 GF2Mat(std::vector<std::vector<char>> X);
93 std::vector<std::vector<char>>
get_H();
111 #endif // #ifndef GF2MAT_H GF2Vec get_row(int i)
Returns the ith row.
void swap_cols(int i, int j)
Swaps columns i and j.
char get_element(int i, int j)
Returns the element at coordinate (i, j)
std::vector< std::vector< char > > get_H()
Returns the variable H.
GF2Vec operator[](int i)
Returns the ith row.
void set_col(int i, GF2Vec vec)
Sets the ith column with the given vector.
int get_M()
Returns the variable M.
GF2Mat()
Default constructor.
Definition: gf2mat.h:42
void set_row(int i, GF2Vec vec)
Sets the ith row with the given vector.
GF2Mat get_G(std::vector< int > &p, int &rank)
Obtains an equivalent representation of H for encoding.
void print_matrix()
Prints the matrix H.
int get_N()
Returns the variable N.
GF2Vec get_col(int i)
Returns the ith column.
void set_element(int i, int j, char val)
Set the element at (i, j) coordinate to val.
void add_rows(int i, int j)
Add row j to i and replace j with the sum.
void add_cols(int i, int j)
Adds column j to i and replace i with the sum.