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

📄 rand2.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/********************************************************************          The McGill Super-Duper Random Number Generator             G. Marsaglia, K. Ananthanarayana, N. Paul      Incorporating the Ziggurat method of sampling from decreasing              or symmetric unimodal density functions.                      G. Marsaglia, W.W. Tsang                   Rewritten into C by E. Schneider *********************************************************************/  static unsigned long mcgn, srgn;  #define MULT 69069L  void rstart (long i1, long i2){      mcgn = (unsigned long)((i1 == 0L) ? 0L : i1 | 1L);      srgn = (unsigned long)((i2 == 0L) ? 0L : (i2 & 0x7FFL) | 1L);}  long uni(void){      unsigned long r0, r1;      r0 = (srgn >> 15);      r1 = srgn ^ r0;      r0 = (r1 << 17);      srgn = r0 ^ r1;      mcgn = MULT * mcgn;      r1 = mcgn ^ srgn;      return (r1 >> 1);}  long vni(void){      unsigned long r0, r1;      r0 = (srgn >> 15);      r1 = srgn ^ r0;      r0 = (r1 << 17);      srgn = r0 ^ r1;      mcgn = MULT * mcgn;      r1 = mcgn ^ srgn;      return r1;}/* "Anyone who consider arithmetic means of producing random number is, of course, in a state of sin" - John Von Neumann*/

⌨️ 快捷键说明

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