Estructuras de datos | |
struct | PdsBMatrix |
La estructura tipo PdsBMatrix . Esta estructura genera una matriz binaria de Nel bits. Para usar incluir pds/pdsbmatrix.h. Más... | |
Funciones | |
PdsBMatrix * | pds_bmatrix_new (PdsBaNatural Nlin, PdsBaNatural Ncol) |
Crea una matriz de tipo PdsBMatrix. Más... | |
PdsBMatrix * | pds_bmatrix_new_bmatrix (const PdsBMatrix *M) |
Crea una matriz de tipo PdsBMatrix que es una copia de outra matriz. Más... | |
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. Más... | |
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. Más... | |
int | pds_bmatrix_xor_row (PdsBMatrix *BMatrix, PdsBaNatural row1, PdsBaNatural row2) |
Ejejcuta la siguiente operacion BMatrix[row1]=BMatrix[row1] XOR BMatrix[row2]. Más... | |
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. Más... | |
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. Más... | |
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 j. Más... | |
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. Más... | |
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 bit de la matriz identidad. Para garantizar una matriz sistemática *pos tiene que ser igual a S->Nlin-1. Más... | |
int | pds_bmatrix_alist_save (const PdsBMatrix *m, const char *filename) |
Escribe la matriz en un archivo con nombre filename en formato Alist. Mackay,. Más... | |
int | pds_bmatrix_is_zero (const PdsBMatrix *BMatrix, PdsBaNatural Lin) |
Averigua si la matriz es nula desde la linea Lin (incluindo) hasta el final. Más... | |
int | pds_bmatrix_printf (const PdsBMatrix *BMatrix) |
Imprime en pantallala la matriz BMatrix. Más... | |
void | pds_bmatrix_free (PdsBMatrix *BMatrix) |
Libera una matriz de tipo puntero PdsBMatrix. Más... | |
void | pds_bmatrix_destroy (PdsBMatrix **BMatrix) |
Libera una matriz de tipo puntero PdsBMatrix y ademas carga NULL en el puntero. Más... | |
PdsBMatrix * pds_bmatrix_new | ( | PdsBaNatural | Nlin, |
PdsBaNatural | Ncol | ||
) |
Crea una matriz de tipo PdsBMatrix.
[in] | Nlin | Es el número de lineas de la matriz binaria. |
[in] | Ncol | Es el número de columnas de la matriz binaria. |
PdsBMatrix * pds_bmatrix_new_bmatrix | ( | const PdsBMatrix * | M | ) |
Crea una matriz de tipo PdsBMatrix que es una copia de outra matriz.
[in] | M | Matriz de origen. |
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.
[in] | BMatrix | Es la matriz en donde se pedirá el bit. |
[in] | lin | Es la fila del bit a pedir. |
[in] | col | Es la columna del bit a pedir. |
[out] | m | Es el bit pedido. |
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.
[in,out] | BMatrix | Es la matriz en donde se escribirá el bit. |
[in] | lin | Es el número de fila del bit a escribir. |
[in] | col | Es el número de columna del bit a escribir. |
[in] | value | Es el bit escrito. |
int pds_bmatrix_xor_row | ( | PdsBMatrix * | BMatrix, |
PdsBaNatural | row1, | ||
PdsBaNatural | row2 | ||
) |
Ejejcuta la siguiente operacion BMatrix[row1]=BMatrix[row1] XOR BMatrix[row2].
[in,out] | BMatrix | Es la matriz en operación. |
[in] | row1 | Primera linea. |
[in] | row2 | Segunda linea. |
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.
[in] | BMatrix | Es la matriz en anilisis. |
[in] | lin | Linea a contar. |
[out] | m | Es la cantidad de unos en la linea. |
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.
[in,out] | M | Es la matriz en anilisis. |
[in] | j | Columna a buscar. |
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 j.
[in,out] | M | Es la matriz en anilisis. |
[in] | j | Linea a ejecutar. |
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.
[in] | BMatrix | Es la matriz en anilisis. |
[in] | col | Columna a contar. |
[out] | m | Es la cantidad de unos en la columna. |
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 bit de la matriz identidad. Para garantizar una matriz sistemática *pos tiene que ser igual a S->Nlin-1.
[in] | S | Es la matriz en análisis. |
[out] | pos | La linea del ultimo bit de la matriz identidad. |
int pds_bmatrix_alist_save | ( | const PdsBMatrix * | m, |
const char * | filename | ||
) |
Escribe la matriz en un archivo con nombre filename en formato Alist. Mackay,.
[in] | m | Es la matriz a gruadar. |
[in] | filename | Es el nombre del archivo donde será guardada la matriz. |
int pds_bmatrix_is_zero | ( | const PdsBMatrix * | BMatrix, |
PdsBaNatural | Lin | ||
) |
Averigua si la matriz es nula desde la linea Lin (incluindo) hasta el final.
[in] | BMatrix | La matriz a consultar. |
[in] | Lin | La linea inicial a consultar. |
int pds_bmatrix_printf | ( | const PdsBMatrix * | BMatrix | ) |
Imprime en pantallala la matriz BMatrix.
[in] | BMatrix | La matriz a imprimir. |
void pds_bmatrix_free | ( | PdsBMatrix * | BMatrix | ) |
Libera una matriz de tipo puntero PdsBMatrix.
[in,out] | BMatrix | El puntero matriz a liberar. |
void pds_bmatrix_destroy | ( | PdsBMatrix ** | BMatrix | ) |
Libera una matriz de tipo puntero PdsBMatrix y ademas carga NULL en el puntero.
[in,out] | BMatrix | La direccion del puntero matriz a liberar. |