⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 random.h

📁 用于逻辑电路设计的PSO算法代码,代码简单明了
💻 H
字号:
/********************************************************/
/*					CINVESTAV - IPN						*/
/*			Departamento de Ingener韆 El閏trica			*/
/*					Secci髇 Computaci髇					*/
/*														*/	
/*				   Computacion Evolutiva				*/
/*														*/
/*					Erika Hernandez Luna				*/
/*			 eluna@computacion.cs.cinvestav.mx			*/
/*				      21 / enero / 2003					*/
/*														*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Archivo: random.h									*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Descripci髇: Archivo de encabezado de la biblioteca	*/
/* random.c.											*/
/********************************************************/

#include <time.h>
#include <stdlib.h>
#include <math.h>
#include <malloc.h>

#ifndef RANDOM_LIB
#define RANDOM_LIB

typedef struct eo{
	double valor;
	unsigned pos;
}elemordena;

elemordena *arrAuxOrdenamiento;			/*Arreglo auxiliar para el m閠odo de ordenamiento merge sort*/

/*Funciones de la biblioteca random*/
unsigned initrandom(unsigned);						/*Inicializaci髇 de la semilla para la generaci髇 de numeros aleatorios*/
double rndF(void);									/*Generacion de numeros aleatorios entre 0 y 1*/
unsigned rndI(unsigned);							/*Generacion de un numero entero aleatorio entre 0 y rng*/
double rndFR(double,double);						/*Generacion de un numero aleatorio real entre inf y sup*/
unsigned rndIR(unsigned,unsigned);					/*Genera un numero aleatorio positivo entre inf y sup*/
unsigned flip(double);								/*Devuelve true con probabilidad prob*/
void swap(int*,int*);								/*Intercambia el valor de dos n鷐eros*/
void swapun(unsigned*,unsigned*);					/*Intercambia el valor de dos n鷐eros sin signo*/
void barajeo(unsigned*,unsigned);					/*Barajeo de n鷐eros*/
unsigned round(double);								/*Redondeo de n鷐eros*/
int rndInt(int);									/*Genera un n鷐ero entero no mayor que limite-1*/
int rndIntLimite(int,int);							/*Genera un n鷐ero entero entre limInf y limSup-1*/
double sigmoide(double);							/*Funcion sigmoide que devuelve un valor entre 0 y 1 de acuerdo al parametro enviado*/
void algMergeSort(elemordena*,unsigned);			/*Algoritmo pricipal de merge sort, aqui se reserva la memoria necesaria para el arreglo auxiliar*/
void mergeSort(elemordena*,unsigned,unsigned);		/*Algoritmo merge sort para ordenamiento de datos*/
void merge(elemordena*,unsigned,unsigned,unsigned);	/*Funci髇 usada por el algoritmo merge sort que "mezcla" datos*/

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -