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

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

?? randomgenerator.cc

?? 一種聚類算法,名字是cocluster
?? CC
字號:
/*  RandomGenerator.cc    Implementation of the RandomGenerator class    Copyright (c) 2005, 2006              by Hyuk Cho    Copyright (c) 2003, 2004    	      by Hyuk Cho, Yuqiang Guan, and Suvrit Sra                {hyukcho, yguan, suvrit}@cs.utexas.edu*/#include <cmath>#include "RandomGenerator.h"#define PI 3.14159265358979323846264338328// Construction/DestructionRandomGenerator::RandomGenerator(){}RandomGenerator::~RandomGenerator(){}// Implementation of base classdouble RandomGenerator::GetUniformPos(){  double x ;  do {    x = GetUniform();  } while (x == 0) ;  return x ;}unsigned long int RandomGenerator::GetUniformInt(unsigned long int n){  unsigned long int offset = min;  unsigned long int range = max - offset;  unsigned long int scale = range / n;  unsigned long int k;  if (n > range)     n = range;  do {    k = (Get() - offset) / scale;  } while (k >= n);  return k;}double RandomGenerator::GetGaussian(const double sigma){#if 1 /* Polar (Box-Mueller) method; See Knuth v2, 3rd ed, p122 */  double x, y, r2;  do {      /* choose x,y in uniform square (-1,-1) to (+1,+1) */    x = -1 + 2 * GetUniform();    y = -1 + 2 * GetUniform();      /* see if it is in the unit circle */    r2 = x * x + y * y;  } while (r2 > 1.0 || r2 == 0);  /* Box-Muller transform */  return sigma * y * sqrt (-2.0 * log (r2) / r2);   /* only one random deviate is produced, theother is discarded. Because saving      the other in a static variable would screw up re-entrant or theaded code. */#endif#if 0 /* Ratio method (Kinderman-Monahan); see Knuth v2, 3rd ed, p130 */      /* K+M, ACM Trans Math Software 3 (1977) 257-260. */  double u, v, x, xx;  do {    v = GetUniform(r);    do {      u = GetUniform(r);    } while (u == 0);      /* Const 1.715... = sqrt(8/e) */    x = 1.71552776992141359295*(v-0.5)/u;  } while (x * x > -4.0 * log(u));  return sigma * x;#endif}double RandomGenerator::GetGaussianPDF(const double x, const double sigma){  double u = x / fabs(sigma) ;  double p = (1 / (sqrt (2 * PI) * fabs(sigma)) ) * exp (-u * u / 2);  return p;}// Implementation of MT_19937 generatorRandomGeneratorMT19937::RandomGeneratorMT19937() : UPPER_MASK(0x80000000UL), LOWER_MASK(0x7fffffffUL){  name = "mt19937";			//??  max = 0xffffffffUL;			/* RAND_MAX  */  min = 0;				/* RAND_MIN  */  size = sizeof(mti) + sizeof(mt);	// ??}RandomGeneratorMT19937::~RandomGeneratorMT19937(){}unsigned long RandomGeneratorMT19937::Get(){  unsigned long k ;#define MAGIC(y) (((y)&0x1) ? 0x9908b0dfUL : 0)  if (mti >= MT_N){	/* generate N words at one time */    int kk;    for (kk = 0; kk < MT_N - MT_M; kk++){      unsigned long y = (mt[kk] & UPPER_MASK) | (mt[kk + 1] & LOWER_MASK);      mt[kk] = mt[kk + MT_M] ^ (y >> 1) ^ MAGIC(y);    }    for (; kk < MT_N - 1; kk++){      unsigned long y = (mt[kk] & UPPER_MASK) | (mt[kk + 1] & LOWER_MASK);      mt[kk] = mt[kk + (MT_M - MT_N)] ^ (y >> 1) ^ MAGIC(y);    }    {      unsigned long y = (mt[MT_N - 1] & UPPER_MASK) | (mt[0] & LOWER_MASK);      mt[MT_N - 1] = mt[MT_M - 1] ^ (y >> 1) ^ MAGIC(y);    }    mti = 0;  }  /* Tempering */  k = mt[mti];  k ^= (k >> 11);  k ^= (k << 7) & 0x9d2c5680UL;  k ^= (k << 15) & 0xefc60000UL;  k ^= (k >> 18);  mti++;  return k;}double RandomGeneratorMT19937::GetUniform(){  return Get() / 4294967296.0 ;}void RandomGeneratorMT19937::Set(unsigned long int seed){  int i;  if (seed == 0)    seed = 4357;	/* the default seed is 4357 */  mt[0] = seed & 0xffffffffUL;  /* We use the congruence s_{n+1} = (69069*s_n) mod 2^32 to     initialize the state. This works because ANSI-C unsigned long     integer arithmetic is automatically modulo 2^32 (or a higher     power of two), so we can safely ignore overflow. */#define LCG(n) ((69069 * n) & 0xffffffffUL)  for (i = 1; i < MT_N; i++)    mt[i] = LCG (mt[i - 1]);  mti = i;}// Implementation of Taus generatorRandomGeneratorTaus::RandomGeneratorTaus(){  name = "taus";			/* name */  max = 0xffffffffUL;			/* RAND_MAX */  min = 0;			        /* RAND_MIN */  size = sizeof(unsigned long int) * 3;}RandomGeneratorTaus::~RandomGeneratorTaus(){}unsigned long int RandomGeneratorTaus::Get(){#define MASK 0xffffffffUL#define TAUSWORTHE(s,a,b,c,d) (((s &c) <<d) &MASK) ^ ((((s <<a) &MASK)^s) >>b)  s1 = TAUSWORTHE (s1, 13, 19, 4294967294UL, 12);  s2 = TAUSWORTHE (s2, 2, 25, 4294967288UL, 4);  s3 = TAUSWORTHE (s3, 3, 11, 4294967280UL, 17);  return (s1 ^ s2 ^ s3);}double RandomGeneratorTaus::GetUniform(){  return Get() / 4294967296.0 ;}void RandomGeneratorTaus::Set(unsigned long seed){  if (seed == 0)    seed = 1;	/* default seed is 1 */#define LCG(n) ((69069 * n) & 0xffffffffUL)  s1 = LCG (seed);  s2 = LCG (s1);  s3 = LCG (s2);  /* "warm it up" */  Get();  Get();  Get();  Get();  Get();  Get();  return;}// Implementation of TT800 generatorRandomGeneratorTT800::RandomGeneratorTT800(){  name = "tt800";			/* name */  max = 0xffffffffUL;			/* RAND_MAX */  min = 0;			        /* RAND_MIN */  size = sizeof(n) + sizeof(x);}RandomGeneratorTT800::~RandomGeneratorTT800(){}unsigned long int RandomGeneratorTT800::Get(){  /* this is the magic vector, a */  const unsigned long mag01[2] = {0x00000000, 0x8ebfd028UL};  unsigned long int y;  if (n >= TT_N){    int i;    for (i = 0; i < TT_N - TT_M; i++)      x[i] = x[i + TT_M] ^ (x[i] >> 1) ^ mag01[x[i] % 2];    for (; i < TT_N; i++)      x[i] = x[i + (TT_M - TT_N)] ^ (x[i] >> 1) ^ mag01[x[i] % 2];    n = 0;  }  y = x[n];  y ^= (y << 7) & 0x2b5b2500UL;		/* s and b, magic vectors */  y ^= (y << 15) & 0xdb8b0000UL;	/* t and c, magic vectors */  y &= 0xffffffffUL;			/* you may delete this line if word size = 32 */  /* The following line was added by Makoto Matsumoto in the 1996     version to improve lower bit's correlation.  Delete this line     to use the code published in 1994.  */  y ^= (y >> 16);	/* added to the 1994 version */  n = n + 1;  return y;}double RandomGeneratorTT800::GetUniform(){  return Get() / 4294967296.0 ;}void RandomGeneratorTT800::Set(unsigned long int seed){  const int init_n = 0;  const unsigned long int init_x[TT_N] =		{0x95f24dabUL, 0x0b685215UL, 0xe76ccae7UL,		 0xaf3ec239UL, 0x715fad23UL, 0x24a590adUL,		 0x69e4b5efUL, 0xbf456141UL, 0x96bc1b7bUL,		 0xa7bdf825UL, 0xc1de75b7UL, 0x8858a9c9UL,		 0x2da87693UL, 0xb657f9ddUL, 0xffdc8a9fUL,		 0x8121da71UL, 0x8b823ecbUL, 0x885d05f5UL,		 0x4e20cd47UL, 0x5a9ad5d9UL, 0x512c0c03UL,		 0xea857ccdUL, 0x4cc1d30fUL, 0x8891a8a1UL,		 0xa6b7aadbUL};  if (seed == 0){	/* default seed is given explicitly in the original code */    n = init_n;    for (int i=0; i<TT_N; i++)       x[i] = init_x[i];  } else {    n = 0;    x[0] = seed & 0xffffffffUL;    for (int i = 1; i < TT_N; i++)      x[i] = (69069 * x[i - 1]) & 0xffffffffUL;  }  return;}// Implementation of R250 generatorRandomGeneratorR250::RandomGeneratorR250(){  name = "r250";			/* name */  max = 0xffffffffUL;			/* RAND_MAX */  min = 0;			        /* RAND_MIN */  size = sizeof(i) + sizeof(x);}RandomGeneratorR250::~RandomGeneratorR250(){}unsigned long int RandomGeneratorR250::Get(){  unsigned long int k;  int j;  if (i >= 147)    j = i - 147;  else    j = i + 103;  k = x[i] ^ x[j];  x[i] = k;  if (i >= 249)    i = 0;  else    i = i + 1;  return k;}double RandomGeneratorR250::GetUniform(){  return Get() /  4294967296.0 ;}void RandomGeneratorR250::Set(unsigned long int seed){  int j;  if (seed == 0)    seed = 1;	/* default seed is 1 */  i = 0;#define LCG(n) ((69069 * n) & 0xffffffffUL)  for (j = 0; j < 250; j++){	/* Fill the buffer  */    seed = LCG (seed);    x[j] = seed;  }  {    /* Masks for turning on the diagonal bit and turning off the leftmost bits */    unsigned long int msb = 0x80000000UL;    unsigned long int mask = 0xffffffffUL;    for (j = 0; j < 32; j++){      int k = 7 * j + 3;	/* Select a word to operate on        */      x[k] &= mask;	/* Turn off bits left of the diagonal */      x[k] |= msb;	/* Turn on the diagonal bit           */      mask >>= 1;      msb >>= 1;    }  }  return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲精品狼色在线| 国产婷婷色一区二区三区在线| 欧美电影在线免费观看| 精品美女一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 国产综合久久久久久久久久久久| 欧美系列一区二区| 国产精品久久看| 国产一区二区在线电影| 91精品国产综合久久香蕉的特点| 综合亚洲深深色噜噜狠狠网站| 精品午夜久久福利影院| 欧美亚洲国产bt| 亚洲欧美日韩一区| 成人一区二区三区在线观看| 精品伦理精品一区| 日韩成人免费电影| 欧美三级中文字幕在线观看| 亚洲免费视频中文字幕| av电影在线观看一区| 久久久久久久久久久久久夜| 美女被吸乳得到大胸91| 91精品国产免费| 日韩精品国产精品| 欧美日韩你懂得| 亚洲一区二区三区小说| 99在线精品观看| 亚洲天堂网中文字| 99久久精品国产观看| 国产精品欧美久久久久无广告 | 欧美久久久一区| 亚洲国产日韩a在线播放| 91一区一区三区| 一区二区三区四区不卡视频| 在线视频一区二区免费| 亚洲美女在线国产| 欧亚一区二区三区| 亚洲成a人片综合在线| 欧美午夜在线观看| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩激情在线| 免费看日韩精品| 久久久久久久久伊人| 成人午夜视频免费看| 亚洲麻豆国产自偷在线| 在线免费av一区| 美国毛片一区二区三区| 久久午夜电影网| 不卡的av电影在线观看| 一区二区三区高清不卡| 欧美日韩成人综合天天影院| 久久99久久精品| 中文字幕一区二区三| 色先锋久久av资源部| 日韩av在线播放中文字幕| 日韩欧美在线一区二区三区| 国产成人免费视频一区| 亚洲色图一区二区| 欧美一级片免费看| 国产成人免费视频 | 中文字幕免费不卡| 91老师国产黑色丝袜在线| 亚洲午夜一区二区| 精品久久久久久久久久久久久久久久久 | 高清日韩电视剧大全免费| 亚洲天堂久久久久久久| 欧美一区二区美女| 成人av在线网| 日本欧美韩国一区三区| 欧美韩国一区二区| 69久久99精品久久久久婷婷 | 国产欧美日韩精品在线| 欧美吻胸吃奶大尺度电影| 国产综合成人久久大片91| 亚洲欧美韩国综合色| 日韩精品在线网站| 一本色道久久综合亚洲aⅴ蜜桃| 久久国产精品色婷婷| 一区二区三区欧美| 日本一区二区高清| 欧美一级高清片在线观看| 91女厕偷拍女厕偷拍高清| 裸体一区二区三区| 亚洲丰满少妇videoshd| 国产精品视频一区二区三区不卡 | 91小视频免费观看| 黄一区二区三区| 三级久久三级久久久| 成人免费在线观看入口| 久久久久高清精品| 日韩欧美高清一区| 欧美放荡的少妇| 在线亚洲高清视频| 91丝袜美腿高跟国产极品老师| 国产综合色在线视频区| 日本怡春院一区二区| 亚洲一区二区在线免费观看视频| 国产欧美精品一区二区三区四区 | 在线观看免费视频综合| av在线综合网| 成人福利电影精品一区二区在线观看| 日韩福利视频导航| 亚洲乱码中文字幕| 亚洲色图色小说| 中文字幕在线不卡视频| 国产精品乱码人人做人人爱| 欧美国产1区2区| 国产日本欧美一区二区| 国产午夜亚洲精品午夜鲁丝片| 日韩精品一区二区三区蜜臀 | 欧美另类变人与禽xxxxx| 91蜜桃传媒精品久久久一区二区| jlzzjlzz国产精品久久| av欧美精品.com| 色婷婷综合久久久久中文一区二区 | 91久久精品网| 欧洲生活片亚洲生活在线观看| 色婷婷久久久亚洲一区二区三区| 成人av电影观看| 91蜜桃在线观看| 欧美丝袜第三区| 欧美一区二区视频在线观看2020 | 国产一区二区伦理| 国产成人在线色| 91亚洲精品一区二区乱码| 在线视频你懂得一区| 在线播放91灌醉迷j高跟美女 | 国产999精品久久久久久| 国产成人免费视频精品含羞草妖精| 国产成人av福利| 97久久精品人人澡人人爽| 91成人网在线| 制服丝袜中文字幕一区| 精品少妇一区二区三区免费观看| 精品对白一区国产伦| 国产精品久久午夜夜伦鲁鲁| 一区二区三区av电影| 理论电影国产精品| av电影在线观看一区| 欧美精品三级在线观看| 精品国产免费一区二区三区香蕉| 国产精品美女久久久久久久网站| 夜夜嗨av一区二区三区网页 | 精品国产乱码久久久久久图片| 久久综合色鬼综合色| 亚洲另类在线制服丝袜| 奇米888四色在线精品| 成人免费看的视频| 欧美日韩一二区| 久久久精品蜜桃| 夜夜嗨av一区二区三区网页| 国产在线精品一区二区三区不卡| 99久久精品免费看国产免费软件| 8x8x8国产精品| 国产精品久久久久aaaa樱花| 香蕉影视欧美成人| 成人国产亚洲欧美成人综合网| 欧美日韩在线免费视频| 欧美激情在线一区二区三区| 午夜精品福利一区二区三区av| 国产成人在线看| 91麻豆精品91久久久久久清纯| 国产精品网站导航| 免费在线欧美视频| 色素色在线综合| 久久人人97超碰com| 亚洲成人午夜影院| 成人性生交大片免费看中文网站 | 91蝌蚪porny| 国产偷国产偷亚洲高清人白洁| 舔着乳尖日韩一区| 99久久精品国产一区二区三区| 久久久久久久综合日本| 欧美a一区二区| 欧美视频在线播放| 综合婷婷亚洲小说| 懂色av中文字幕一区二区三区| 欧美一区二区三区喷汁尤物| 一区二区三区视频在线观看| 成人在线一区二区三区| 日韩精品中文字幕在线一区| 亚洲午夜视频在线| 91免费国产在线观看| 成人欧美一区二区三区1314| 国产成人久久精品77777最新版本| 欧美一级二级在线观看| 性欧美大战久久久久久久久| 在线视频你懂得一区二区三区| 亚洲欧洲日韩av| 成人av影院在线| 1024国产精品| 91老师国产黑色丝袜在线| 综合久久久久久| 色综合天天综合网天天狠天天 | 久久男人中文字幕资源站| 久久精品国产99久久6| 日韩丝袜美女视频| 久久成人免费网| 久久久久国产精品麻豆ai换脸| 国产自产高清不卡|