亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? r250.c

?? GESPI 2.0動態系統模擬工具  
?? C
字號:
/******************************************************************************
*  Module:  r250.c
*  Description: implements R250 random number generator, from S.
*  Kirkpatrick and E. Stoll, Journal of Computational Physics, 40,
*  p. 517 (1981).
*  Written by:    W. L. Maier
*
*	METHOD...
*		16 parallel copies of a linear shift register with
*		period 2^250 - 1.  FAR longer period than the usual
*		linear congruent generator, and commonly faster as
*		well.  (For details see the above paper, and the
*		article in DDJ referenced below.)
*
*	HISTORY...
*		Sep 92: Number returned by dr250() is in range [0,1) instead
*			of [0,1], so for example a random angle in the
*			interval [0, 2*PI) can be calculated
*			conveniently.  (J. R. Van Zandt <jrv@mbunix.mitre.org>)
*		Aug 92: Initialization is optional.  Default condition is
*			equivalent to initializing with the seed 12345,
*			so that the sequence of random numbers begins:
*			1173, 53403, 52352, 35341...  (9996 numbers
*			skipped) ...57769, 14511, 46930, 11942, 7978,
*			56163, 46506, 45768, 21162, 43113...  Using ^=
*			operator rather than two separate statements.
*			Initializing with own linear congruent
*			pseudorandom number generator for portability.
*			Function prototypes moved to a header file.
*			Implemented r250n() to generate numbers
*			uniformly distributed in a specific range
*			[0,n), because the common expedient rand()%n is
*			incorrect.  (J. R. Van Zandt <jrv@mbunix.mitre.org>)
*		May 91: Published by W. L. Maier, "A Fast Pseudo Random Number
*			Generator", Dr. Dobb's Journal #176.
******************************************************************************/

#include <stdlib.h>
#include "r250.h"

/**** Static variables ****/
static int r250_index = 0;
static unsigned int r250_buffer[250] = {
	15301,57764,10921,56345,19316,43154,54727,49252,32360,49582,
	26124,25833,34404,11030,26232,13965,16051,63635,55860,5184,
	15931,39782,16845,11371,38624,10328,9139,1684,48668,59388,
	13297,1364,56028,15687,63279,27771,5277,44628,31973,46977,
	16327,23408,36065,52272,33610,61549,58364,3472,21367,56357,
	56345,54035,7712,55884,39774,10241,50164,47995,1718,46887,
	47892,6010,29575,54972,30458,21966,54449,10387,4492,644,
	57031,41607,61820,54588,40849,54052,59875,43128,50370,44691,
	286,12071,3574,61384,15592,45677,9711,23022,35256,45493,
	48913,146,9053,5881,36635,43280,53464,8529,34344,64955,
	38266,12730,101,16208,12607,58921,22036,8221,31337,11984,
	20290,26734,19552,48,31940,43448,34762,53344,60664,12809,
	57318,17436,44730,19375,30,17425,14117,5416,23853,55783,
	57995,32074,26526,2192,11447,11,53446,35152,64610,64883,
	26899,25357,7667,3577,39414,51161,4,58427,57342,58557,
	53233,1066,29237,36808,19370,17493,37568,3,61468,38876,
	17586,64937,21716,56472,58160,44955,55221,63880,1,32200,
	62066,22911,24090,10438,40783,36364,14999,2489,43284,9898,
	39612,9245,593,34857,41054,30162,65497,53340,27209,45417,
	37497,4612,58397,52910,56313,62716,22377,40310,15190,34471,
	64005,18090,11326,50839,62901,59284,5580,15231,9467,13161,
	58500,7259,317,50968,2962,23006,32280,6994,18751,5148,
	52739,49370,51892,18552,52264,54031,2804,17360,1919,19639,
	2323,9448,43821,11022,45500,31509,49180,35598,38883,19754,
	987,11521,55494,38056,20664,2629,50986,31009,54043,59743
	};

static unsigned myrand();
static void mysrand(unsigned newseed);

/**** Function: r250_init
	Description: initializes r250 random number generator. ****/
void r250_init(int seed)
{
/*---------------------------------------------------------------------------*/
    int        j, k;
    unsigned int mask;
    unsigned int msb;
/*---------------------------------------------------------------------------*/
    mysrand(seed);
    r250_index = 0;
    for (j = 0; j < 250; j++)     /* Fill the r250 buffer with 15-bit values */
        r250_buffer[j] = myrand();
    for (j = 0; j < 250; j++)     /* Set some of the MS bits to 1 */
        if (myrand() > 16384)
            r250_buffer[j] |= 0x8000;
    msb = 0x8000;       /* To turn on the diagonal bit   */
    mask = 0xffff;      /* To turn off the leftmost bits */
    for (j = 0; j < 16; j++)
        {
        k = 11 * j + 3;             /* Select a word to operate on        */
        r250_buffer[k] &= mask;     /* Turn off bits left of the diagonal */
        r250_buffer[k] |= msb;      /* Turn on the diagonal bit           */
        mask >>= 1;
        msb >>= 1;
        }
}

/**** Function: r250 Description: returns a random unsigned integer k
				uniformly distributed in the interval 0 <= k < 65536.  ****/
unsigned int r250()
{
/*---------------------------------------------------------------------------*/
    register int    j;
    register unsigned int new_rand;
/*---------------------------------------------------------------------------*/
    if (r250_index >= 147)
        j = r250_index - 147;      /* Wrap pointer around */
    else
        j = r250_index + 103;

    new_rand = r250_buffer[r250_index] ^= r250_buffer[j];

    if (r250_index >= 249)      /* Increment pointer for next time */
        r250_index = 0;
    else
        r250_index++;

    return new_rand;
}

/**** Function: r250n Description: returns a random unsigned integer k
					uniformly distributed in the interval 0 <= k < n ****/
unsigned int r250n(unsigned n)
{
/*---------------------------------------------------------------------------*/
    register int    j;
    register unsigned int new_rand, limit;
/*---------------------------------------------------------------------------*/
	limit = (65535U/n)*n;
	do
        {new_rand = r250();
        if (r250_index >= 147)
            j = r250_index - 147;      /* Wrap pointer around */
        else
            j = r250_index + 103;

        new_rand = r250_buffer[r250_index] ^= r250_buffer[j];

        if (r250_index >= 249)      /* Increment pointer for next time */
            r250_index = 0;
        else
            r250_index++;
        } while(new_rand >= limit);
    return new_rand%n;
}

/**** Function: dr250
		Description: returns a random double z in range 0 <= z < 1.  ****/
double dr250()
{
/*---------------------------------------------------------------------------*/
    register int    j;
    register unsigned int new_rand;
/*---------------------------------------------------------------------------*/
    if (r250_index >= 147)
        j = r250_index - 147;     /* Wrap pointer around */
    else
        j = r250_index + 103;

    new_rand = r250_buffer[r250_index] ^= r250_buffer[j];

    if (r250_index >= 249)      /* Increment pointer for next time */
        r250_index = 0;
    else
        r250_index++;
    return new_rand / 65536.;   /* Return a number in [0.0 to 1.0) */
}


/***  linear congruent pseudorandom number generator for initialization ***/

static unsigned long seed=1;

	/*	Return a pseudorandom number in the interval 0 <= n < 32768.
		This produces the following sequence of pseudorandom
		numbers:
		346, 130, 10982, 1090...  (9996 numbers skipped) ...23369,
		2020, 5703, 12762, 10828, 16252, 28648, 27041, 23444, 6604...
	*/
static unsigned myrand()
{
	seed = seed*0x015a4e35L + 1;
	return (seed>>16)&0x7fff;
}

	/*	Initialize above linear congruent pseudorandom number generator */
static void mysrand(unsigned newseed)
{	seed = newseed;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲综合在线| 欧美大片一区二区三区| 在线免费观看一区| 日韩欧美视频一区| 国内精品伊人久久久久影院对白| 欧洲视频一区二区| 欧美亚洲国产bt| 99re热视频精品| 国产大陆精品国产| 欧美三级欧美一级| 国产精品全国免费观看高清 | 精品一区二区三区不卡| voyeur盗摄精品| 日韩三级在线观看| 日韩网站在线看片你懂的| 在线观看精品一区| 日韩一区二区三区视频| 18欧美乱大交hd1984| 亚洲国产日韩精品| 成人av免费观看| 精品不卡在线视频| 久久久久久久久久久久久久久99| 亚洲成a人v欧美综合天堂| 国产精品视频一区二区三区不卡| 亚洲成人你懂的| 99精品视频在线观看免费| 91麻豆国产精品久久| 色先锋久久av资源部| 色香蕉成人二区免费| 欧美日韩在线播放三区| 久久久蜜桃精品| 蜜桃av一区二区三区| 九色综合国产一区二区三区| 在线观看www91| 亚洲成a人v欧美综合天堂下载 | 成人免费精品视频| 国产精品亲子伦对白| 国产精品青草综合久久久久99| 亚洲丝袜精品丝袜在线| 国产精品中文字幕日韩精品 | 欧美无人高清视频在线观看| 亚洲人123区| jizz一区二区| 亚洲精品菠萝久久久久久久| 91同城在线观看| 亚洲日本在线视频观看| 亚洲狠狠爱一区二区三区| 国产精品一级二级三级| 久久综合久久久久88| 国内精品嫩模私拍在线| 精品国内片67194| 99精品视频在线播放观看| 91小视频在线| 这里只有精品免费| 美女网站色91| 中文字幕成人在线观看| 99热这里都是精品| 伊人色综合久久天天| 91一区二区三区在线播放| 91精品国产麻豆| 欧美国产精品劲爆| 91一区二区三区在线观看| 国产日韩欧美不卡| 91蜜桃免费观看视频| 一区二区三区精品久久久| 美日韩一区二区| 欧美日韩国产成人在线91| 精品区一区二区| 国产成人在线观看| 亚洲精品国久久99热| 日韩精品综合一本久道在线视频| 成人欧美一区二区三区白人| 蜜桃视频一区二区三区在线观看| 91在线云播放| 久久九九久精品国产免费直播| 亚洲第一主播视频| 99综合影院在线| 亚洲一二三四区不卡| 欧美视频在线播放| 国产91富婆露脸刺激对白| 欧美日韩亚洲综合| 麻豆91在线看| 国产原创一区二区| 一区二区三区国产| 欧美xxxxxxxxx| 91在线云播放| 亚洲第一福利视频在线| 欧美亚洲综合另类| 中文字幕视频一区二区三区久| 欧美亚洲综合久久| 亚洲精品久久嫩草网站秘色| 久久无码av三级| 欧美日本一区二区三区| 国产精品资源网站| 国产在线视频一区二区| 日韩一级成人av| 色老汉av一区二区三区| 日韩午夜在线观看视频| 日韩高清欧美激情| 亚洲视频小说图片| 精品少妇一区二区三区日产乱码| 欧美老女人第四色| 日本v片在线高清不卡在线观看| 国产精品久久毛片av大全日韩| 日韩一级免费一区| av不卡在线观看| 国产一区二区三区在线看麻豆| 亚洲gay无套男同| 亚洲免费在线观看| 91国内精品野花午夜精品 | 亚洲日本va午夜在线电影| 91在线国产福利| 国产一区二区三区综合| 中文字幕国产一区| 欧美变态tickling挠脚心| 日韩欧美三级在线| 久久婷婷成人综合色| 欧美区视频在线观看| 奇米影视一区二区三区小说| 亚洲动漫第一页| 日韩一区二区视频| 欧美精品一二三四| 欧美一区日本一区韩国一区| 色婷婷久久一区二区三区麻豆| 成人在线视频首页| 亚洲人一二三区| 欧美电影免费观看完整版| 欧美成人午夜电影| 色婷婷国产精品| 欧美日韩精品一区视频| 日韩欧美久久久| 国产婷婷精品av在线| 欧美人与性动xxxx| 精品国产凹凸成av人网站| 久久久久99精品国产片| 国产精品久久久久7777按摩 | 色综合 综合色| 欧美日韩成人在线| 91麻豆精品一区二区三区| 欧美性xxxxxxxx| 97se狠狠狠综合亚洲狠狠| 欧美日韩国产免费| 7777精品伊人久久久大香线蕉超级流畅 | 热久久免费视频| 亚洲精品网站在线观看| 亚洲成年人网站在线观看| 男女激情视频一区| 国产91精品免费| 337p亚洲精品色噜噜| 色婷婷av一区| 99re这里只有精品首页| 欧美老肥妇做.爰bbww| 欧美国产日韩在线观看| 亚洲第一久久影院| 成人午夜免费视频| 美女mm1313爽爽久久久蜜臀| 亚洲国产美女搞黄色| 久久机这里只有精品| 免费成人av资源网| 成a人片亚洲日本久久| 91精品在线免费观看| 91国产丝袜在线播放| 欧美精品一区二区三区四区| 亚洲精品免费在线| 国产精品1区2区| 欧美丰满高潮xxxx喷水动漫| 欧美日韩国产高清一区二区三区| 国产精品免费视频一区| 蜜桃精品视频在线| 欧美天堂一区二区三区| 国产精品久久久久久久久动漫| 美女脱光内衣内裤视频久久网站 | 亚洲一区二区三区四区的| 国产成人午夜电影网| 欧美日韩国产高清一区| 中文字幕一区二区视频| 国产精品一区二区91| 国产裸体歌舞团一区二区| 成人免费看片app下载| 97精品久久久午夜一区二区三区| 国产91综合网| 久久日韩精品一区二区五区| 3d动漫精品啪啪1区2区免费| 亚洲女人小视频在线观看| 日本一区二区不卡视频| 国产精品白丝av| 不卡一二三区首页| 欧美肥妇bbw| 午夜精品福利久久久| 欧美色国产精品| 欧美r级在线观看| 国产精品久久久久久久久久免费看| 国产精品一线二线三线| 成人高清在线视频| 3d动漫精品啪啪1区2区免费 | 亚洲精品网站在线观看| 色一情一伦一子一伦一区| 91精品麻豆日日躁夜夜躁| 亚洲aaa精品| 岛国av在线一区|