?? matrixpso.h
字號:
/********************************************************/
/* CINVESTAV - IPN */
/* Departamento de Ingener韆 El閏trica */
/* Secci髇 Computaci髇 */
/* */
/* Computacion Evolutiva */
/* */
/* Erika Hernandez Luna */
/* eluna@computacion.cs.cinvestav.mx */
/* 2 / agosto / 2003 */
/* */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Archivo: circuitos.h */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Descripci髇: Archivo de encabezado de la biblioteca */
/* matrixpso.c. */
/********************************************************/
#include <malloc.h>
#ifndef MATRIXPSO
#define MATRIXPSO
/*Define el tipo de datos de la matriz*/
#define matrix unsigned*
/*Reserva memoria para almacenar las variables decodificadas de cada una de las celdas de la matriz*/
#define memValCelda (unsigned)malloc(sizeof(unsigned)*numReng*numCols)
/*Tama駉 maximo de la expresion booleana y su tipo de dato*/
#define sizeExpBooleana 4000
typedef char cadBooleana[sizeExpBooleana];
unsigned numReng; /*Numero de renglones de la matriz*/
unsigned numCols; /*Numero de columnas de la matriz*/
unsigned *entrada1; /*Valores decodificado de las entradas 1 de las compuertas para obtener la aptitud de la matriz (temporal)*/
unsigned *entrada2; /*Valores decodificado de las entradas 2 de las compuertas para obtener la aptitud de la matriz (temporal)*/
unsigned *tipoG; /*Valores decodificado del tipo de compuerta para obtener la aptitud de la matriz (temporal)*/
unsigned **inTT; /*Almacena entrada y salida de cada etapa de evaluacion de la matriz de compuertas (temporal)*/
unsigned *cuentaG; /*Almacena la cuenta de las compuertas de una matriz (temporal)*/
unsigned *salida; /*Almacena la salida de una sola etapa de evaluacion de la matriz de compuertas (temporal)*/
unsigned tMat; /*Tama駉 de la matriz usada = numReng*numCols*/
/*Funciones para el manejo de la matriz*/
void reservaMemoriaMatriz(void); /*Reserva memoria para las variables globales de la decodificacion*/
void liberaMemoriaMatriz(void); /*Libera memoria para las variables globales de la decodificacion*/
void decodifica(matrix); /*Convierte los valores de cada una de las celdas de la matriz en las entradas1, entradas2 y tipo de compuerta*/
void evalua(matrix,unsigned*); /*Evalua a la matriz y obtiene el n鷐ero de violaciones al circuito pedido asi como el n鷐ero de WIRE's*/
unsigned cuentaCompuertas(void); /*Cuenta el n鷐ero de compuertas totales involucradas en las soluciones*/
void cCompuerta(unsigned,int,unsigned*); /*Cuenta el numero de compuertas involucradas en una solucion*/
void expresion(matrix,cadBooleana,unsigned); /*Obtiene la expresi髇 booleana que representa la matriz*/
void cadenaBooleana(unsigned,int,cadBooleana); /*Procedimiento recursivo que va pegando a la cadena los caracteres que definir醤 la exp booleana*/
void imprimeMatriz(matrix M); /*Imprime los datos de la matriz de compuertas*/
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -