33 #ifndef __PDSBMATRIX_H__ 34 #define __PDSBMATRIX_H__ 50 #include <pds/pdsbaglobal.h> PdsBMatrix * pds_bmatrix_new(PdsBaNatural Nlin, PdsBaNatural Ncol)
Crea una matriz de tipo PdsBMatrix.
PdsBMatrix * pds_bmatrix_new_bmatrix(const PdsBMatrix *M)
Crea una matriz de tipo PdsBMatrix que es una copia de outra matriz.
int pds_bmatrix_set_first_zero(PdsBMatrix *M, PdsBaNatural j)
Obliga con XOR de la linea j que todos los vectores abajo y arriba de la fila j sean 0 en la columna ...
int pds_bmatrix_row_weight(const PdsBMatrix *BMatrix, PdsBaNatural lin, PdsBaNatural *m)
Retorna la cantidad de unos en la linea lin de la matriz BMatrix.
int pds_bmatrix_xor_row(PdsBMatrix *BMatrix, PdsBaNatural row1, PdsBaNatural row2)
Ejejcuta la siguiente operacion BMatrix[row1]=BMatrix[row1] XOR BMatrix[row2].
int pds_bmatrix_alist_save(const PdsBMatrix *m, const char *filename)
Escribe la matriz en un archivo con nombre filename en formato Alist. Mackay,.
int pds_bmatrix_find_first_one(PdsBMatrix *M, PdsBaNatural j)
Encuentra una linea que inicie en 1 en la columna "j" a partir de la fila "j"(inclusive). La primera fila que encuentre la coloca en la fila j.
PdsBMatrix * pds_bmatrix_systematize(const PdsBMatrix *S, PdsBaNatural *pos)
Retorna una matriz systemática o hasta donde se pueda sistematizar, carga en pos la linea del ultimo ...
int pds_bmatrix_printf(const PdsBMatrix *BMatrix)
Imprime en pantallala la matriz BMatrix.
La estructura tipo PdsBMatrix . Esta estructura genera una matriz binaria de Nel bits. Para usar incluir pds/pdsbmatrix.h.
void pds_bmatrix_free(PdsBMatrix *BMatrix)
Libera una matriz de tipo puntero PdsBMatrix.
int pds_bmatrix_get_bit(const PdsBMatrix *BMatrix, PdsBaNatural lin, PdsBaNatural col, PdsBaBit *m)
Obtiene el bit de la posición n del vector BMatrix y lo carga en m.
unsigned int PdsBaNatural
int pds_bmatrix_is_zero(const PdsBMatrix *BMatrix, PdsBaNatural Lin)
Averigua si la matriz es nula desde la linea Lin (incluindo) hasta el final.
int pds_bmatrix_column_weight(const PdsBMatrix *BMatrix, PdsBaNatural col, PdsBaNatural *m)
Retorna la cantidad de unos en la columna col de la matriz BMatrix.
void pds_bmatrix_destroy(PdsBMatrix **BMatrix)
Libera una matriz de tipo puntero PdsBMatrix y ademas carga NULL en el puntero.
int pds_bmatrix_set_bit(PdsBMatrix *BMatrix, PdsBaNatural lin, PdsBaNatural col, PdsBaBit value)
Escribe el valor binario value en la posición (lin,col) de la matriz BMatrix.