Home | Develop | Download | Contact
Estructuras de datos | Funciones
Funciones del módulo PdsBMatrix.

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

PdsBMatrixpds_bmatrix_new (PdsBaNatural Nlin, PdsBaNatural Ncol)
 Crea una matriz de tipo PdsBMatrix. Más...
 
PdsBMatrixpds_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...
 
PdsBMatrixpds_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...
 

Descripción detallada

Documentación de las funciones

PdsBMatrix * pds_bmatrix_new ( PdsBaNatural  Nlin,
PdsBaNatural  Ncol 
)

Crea una matriz de tipo PdsBMatrix.

Parámetros
[in]NlinEs el número de lineas de la matriz binaria.
[in]NcolEs el número de columnas de la matriz binaria.
Devuelve
Un puntero a la matriz de tipo PdsBMatrix, o NULL si hubo un error.
Ejemplos:
testprog2.c.
PdsBMatrix * pds_bmatrix_new_bmatrix ( const PdsBMatrix M)

Crea una matriz de tipo PdsBMatrix que es una copia de outra matriz.

Parámetros
[in]MMatriz de origen.
Devuelve
Un puntero a una matriz de tipo PdsBMatrix, o NULL si hubo un error.
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.

Parámetros
[in]BMatrixEs la matriz en donde se pedirá el bit.
[in]linEs la fila del bit a pedir.
[in]colEs la columna del bit a pedir.
[out]mEs el bit pedido.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL, o lin/col fuera de rango.
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.

Parámetros
[in,out]BMatrixEs la matriz en donde se escribirá el bit.
[in]linEs el número de fila del bit a escribir.
[in]colEs el número de columna del bit a escribir.
[in]valueEs el bit escrito.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL, o lin/col fuera de rango.
Ejemplos:
testprog2.c.
int pds_bmatrix_xor_row ( PdsBMatrix BMatrix,
PdsBaNatural  row1,
PdsBaNatural  row2 
)

Ejejcuta la siguiente operacion BMatrix[row1]=BMatrix[row1] XOR BMatrix[row2].

Parámetros
[in,out]BMatrixEs la matriz en operación.
[in]row1Primera linea.
[in]row2Segunda linea.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL, o row1/row2 fuera de rango.
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.

Parámetros
[in]BMatrixEs la matriz en anilisis.
[in]linLinea a contar.
[out]mEs la cantidad de unos en la linea.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL.
Ejemplos:
testprog2.c.
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.

Parámetros
[in,out]MEs la matriz en anilisis.
[in]jColumna a buscar.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: M==NULL.
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.

Parámetros
[in,out]MEs la matriz en anilisis.
[in]jLinea a ejecutar.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: M==NULL.
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.

Parámetros
[in]BMatrixEs la matriz en anilisis.
[in]colColumna a contar.
[out]mEs la cantidad de unos en la columna.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL.
Ejemplos:
testprog2.c.
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.

Parámetros
[in]SEs la matriz en análisis.
[out]posLa linea del ultimo bit de la matriz identidad.
Devuelve
Retorna una matriz systemática. Retorna NULL si no fue posible crear la matriz
Ejemplos:
testprog2.c.
int pds_bmatrix_alist_save ( const PdsBMatrix m,
const char *  filename 
)

Escribe la matriz en un archivo con nombre filename en formato Alist. Mackay,.

Parámetros
[in]mEs la matriz a gruadar.
[in]filenameEs el nombre del archivo donde será guardada la matriz.
Devuelve
TRUE si todo fue bien, o FALSE sino. Ejem: BMatrix==NULL.
Ejemplos:
testprog2.c.
int pds_bmatrix_is_zero ( const PdsBMatrix BMatrix,
PdsBaNatural  Lin 
)

Averigua si la matriz es nula desde la linea Lin (incluindo) hasta el final.

Parámetros
[in]BMatrixLa matriz a consultar.
[in]LinLa linea inicial a consultar.
Devuelve
TRUE si esta lleno de zeros desde la linea pos o FALSE sino. Si la matriz es nula también retorna FALSE.
int pds_bmatrix_printf ( const PdsBMatrix BMatrix)

Imprime en pantallala la matriz BMatrix.

Parámetros
[in]BMatrixLa matriz a imprimir.
Devuelve
TRUE si todo fue bien o FALSE sino. Ejem: BMatrix==NULL
Ejemplos:
testprog2.c.
void pds_bmatrix_free ( PdsBMatrix BMatrix)

Libera una matriz de tipo puntero PdsBMatrix.

Parámetros
[in,out]BMatrixEl puntero matriz a liberar.
Devuelve
No retorna valor.
void pds_bmatrix_destroy ( PdsBMatrix **  BMatrix)

Libera una matriz de tipo puntero PdsBMatrix y ademas carga NULL en el puntero.

Parámetros
[in,out]BMatrixLa direccion del puntero matriz a liberar.
Devuelve
No retorna valor.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed