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

📄 frand.c

📁 XPDC1是针对静电模型中的等离子体模拟程序!通过INP文件输入参数有较好的通用性
💻 C
字号:
float frand(void);/************************************************************************//* irand(iseed) returns values 1 through 2**31-2.                       *//* From "Random number generators: good ones are hard to find", S. Park *//* and K. Miller, Communications of ACM, October 1988, pp 1192-1201.    *//* This is from page 1195, and is to work on any system for which       *//* maxint is 2**31-1 or larger. Due earlier to Schrage, as cited by P&M.*//*                                                                      *//* Note: OK values for iseed are 1 through 2**31-2. Give it 0 or 2*31-1 *//* and it will return the same values thereafter!                       *//*                                                                      *//* C version 6/91, Bruce Langdon.                                       *//*                                                                      *//* Algorithm replaces seed by mod(a*seed,m). First represent            *//* seed = q*hi + lo.  Then                                              *//* a*seed = a*q*hi + lo = (m - r)*hi + a*lo = (a*lo - r*hi) + m*hi,     *//* and new seed = a*lo - r*hi unless negative; if so, then add m.       */float frand(void){  long a = 16807, m = 2147483647, q = 127773, r = 2836;  long hi, lo;  static long seed=31207321;  float fnumb;  hi = seed/q;  lo = seed - q*hi;  seed = a*lo - r*hi;  /* "seed" will always be a legal integer of 32 bits (including sign). */  if(seed <= 0) seed = seed + m;  fnumb = seed/2147483646.0;  return(fnumb);}

⌨️ 快捷键说明

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