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

📄 random.h

📁 改算法基于遗传算法
💻 H
字号:
#ifndef RAND_H#define RAND_H//#include <stdlib.h>#include <math.h>#ifndef	M_PI#define	M_PI ((double)3.14159265358979323)#endif#ifndef RAND_MAX #define RAND_MAX 2147483647#endif#define RAND16_MAX 65535#ifdef __cplusplusextern "C" {#endif#define STATE_SIZE 97const double randbit = 1.0 /16777216.0;class random_number{    unsigned int ni;    unsigned int nj;    double u[STATE_SIZE];    double c, cd, cm;    unsigned int collapse (int anyint, unsigned int size);    void start_random_number(int seed_a, int seed_b);    double next_random_number(void);public:    random_number(int );    random_number();    double    urand(double r = 1.0) {	return r*next_random_number();    }    double nrand(void){      static int    fl_rand = 0;      static double    x1;      static double    x2;      double r1;      double r2;            if (!fl_rand) {        fl_rand = 1;        r1 = next_random_number() + randbit; /* (0,1] */        r2 = next_random_number();      /* [0,1) */        x1 = (double)sqrt(-2 * (double)log(r1));        x2 = (double)(2 * M_PI * r2);        return x1 * (double)cos(x2);      }      else {        fl_rand = 0;        return x1 * (double)sin(x2);      }    }    double cauchy(double scale=1.0){      return  tan(3.14159265*(next_random_number() - 0.5))*scale;      //      return  tan(3.14159*(next_random_number()))*scale;    }};#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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