lran2.h

来自「这是一个内存分配管理的程序」· C头文件 代码 · 共 52 行

H
52
字号
/* lran2.h * by Wolfram Gloger 1996. * * A small, portable pseudo-random number generator. */#ifndef _LRAN2_H#define _LRAN2_H#define LRAN2_MAX 714025l /* constants for portable */#define IA	  1366l	  /* random number generator */#define IC	  150889l /* (see e.g. `Numerical Recipes') */struct lran2_st {    long x, y, v[97];};static voidlran2_init(struct lran2_st* d, long seed){    long x;    int j;    x = (IC - seed) % LRAN2_MAX;    if(x < 0) x = -x;    for(j=0; j<97; j++) {	x = (IA*x + IC) % LRAN2_MAX;	d->v[j] = x;    }    d->x = (IA*x + IC) % LRAN2_MAX;    d->y = d->x;}#ifdef __GNUC____inline__#endifstatic longlran2(struct lran2_st* d){    int j = (d->y % 97);    d->y = d->v[j];    d->x = (IA*d->x + IC) % LRAN2_MAX;    d->v[j] = d->x;    return d->y;}#undef IA#undef IC#endif

⌨️ 快捷键说明

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