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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rand.c

?? ldpc的11個(gè)程序 encode decode extract make-gen make-ldpc make-pchk print-gen print-pchk rand-src transm
?? C
字號(hào):
/* RAND.C - Random number generation module. *//* Copyright (c) 1995, 1996, 2000, 2001 by Radford M. Neal  * * Permission is granted for anyone to copy, use, or modify this program  * for purposes of research or education, provided this copyright notice  * is retained, and note is made of any changes that have been made.  * * This program is distributed without any warranty, express or implied. * As this program was written for research purposes only, it has not been * tested to the degree that would be advisable in any important application. * All use of this program is entirely at the user's own risk. *//* NOTE:  See rand.html for documentation on these procedures. */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include "rand.h"
#define RAND_FILE  "c:\\randfile"/* This module uses the 'drand48' pseudo-random number generator found   on most Unix systems, the output of which is combined with a file   of real random numbers.   Many of the methods used in this module may be found in the following   reference:      Devroye, L. (1986) Non-Uniform Random Variate Generation,         New York: Springer-Verlag.   The methods used here are not necessarily the fastest available.  They're   selected to be reasonably fast while also being easy to write.*//* CONSTANT PI.  Defined here if not in <math.h>. */#ifndef M_PI#define M_PI 3.14159265358979323846#endif/* TABLES OF REAL RANDOM NUMBERS.  A file of 100000 real random numbers   (NOT pseudo-random) is used in conjunction with pseudo-random numbers   for extra insurance.  These are employed in the form of five tables   of 5000 32-bit integers.     The file must be located at the path given by RAND_FILE, which should   be defined on the "cc" command line. */#define Table_size 5000			/* Number of words in each table */static int rn[N_tables][Table_size];	/* Random number tables *//* STATE OF RANDOM NUMBER GENERATOR. */static int initialized = 0;		/* Has module been initialized? */static rand_state state0;		/* Default state structure */static rand_state *state;		/* Pointer to current state *//* INITIALIZE MODULE.  Sets things up using the default state structure,   set as if rand_seed had been called with a seed of one. */static void initialize (void){  int i, j, k, w;  char b;  FILE *f;  if (!initialized)  {    f = fopen(RAND_FILE,"rb");        if (f==NULL)    { fprintf(stderr,"Can't open file of random numbers (%s)\n",RAND_FILE);      exit(1);    }    for (i = 0; i<N_tables; i++)    { for (j = 0; j<Table_size; j++)      { w = 0;        for (k = 0; k<4; k++)        { if (fread(&b,1,1,f)!=1)          { fprintf(stderr,"Error reading file of random numbers (%s)\n",                            RAND_FILE);            exit(1);          }          w = (w<<8) | (b&0xff);        }        rn[i][j] = w;      }    }    state = &state0;    initialized = 1;    rand_seed(1);  }}/* SET CURRENT STATE ACCORDING TO SEED. */void rand_seed( int seed){   int j;  if (!initialized) initialize();  state->seed = seed;  state->state48[0] = seed>>16;  state->state48[1] = seed&0xffff;  state->state48[2] = rn[0][(seed&0x7fffffff)%Table_size];  for (j = 0; j<N_tables; j++)   { state->ptr[j] = seed%Table_size;    seed /= Table_size;  }}/* SET STATE STRUCTURE TO USE. */void rand_use_state( rand_state *st){   if (!initialized) initialize();  state = st;}/* RETURN POINTER TO CURRENT STATE. */rand_state *rand_get_state (void){   if (!initialized) initialize();  return state;}/* GENERATE RANDOM 31-BIT INTEGER.  Not really meant for use outside this   module. */int rand_word(void){  int v;  int j;  if (!initialized) initialize();  //v = nrand48(state->state48);
  v=1000;  for (j = 0; j<N_tables; j++)  { v ^= rn[j][state->ptr[j]];  }  for (j = 0; j<N_tables && state->ptr[j]==Table_size-1; j++)   { state->ptr[j] = 0;  }  if (j<N_tables)   { state->ptr[j] += 1;  }  return v & 0x7fffffff;}/* GENERATE UNIFORMLY FROM [0,1). */double rand_uniform (void){  return (double)rand_word() / (1.0+(double)0x7fffffff);}/* GENERATE UNIFORMLY FORM (0,1). */double rand_uniopen (void){  return (0.5+(double)rand_word()) / (1.0+(double)0x7fffffff);}/* GENERATE RANDOM INTEGER FROM 0, 1, ..., (n-1). */int rand_int( int n){   return (int) (n * rand_uniform());}/* GENERATE INTEGER FROM 0, 1, ..., (n-1), WITH GIVEN DISTRIBUTION. */int rand_pickd( double *p,  int n){   double t, r;  int i;  t = 0;  for (i = 0; i<n; i++)  { if (p[i]<0) abort();    t += p[i];  }  if (t<=0) abort();  r = t * rand_uniform();  for (i = 0; i<n; i++)  { r -= p[i];    if (r<0) return i;  }  /* Return value with non-zero probability if we get here due to roundoff. */  for (i = 0; i<n; i++)   { if (p[i]>0) return i;  }  abort(); }/* SAME PROCEDURE AS ABOVE, BUT WITH FLOAT ARGUMENT. */int rand_pickf( float *p,  int n){   double t, r;  int i;  t = 0;  for (i = 0; i<n; i++)  { if (p[i]<=0) abort();    t += p[i];  }  if (t<=0) abort();  r = t * rand_uniform();  for (i = 0; i<n; i++)  { r -= p[i];    if (r<0) return i;  }  /* Return value with non-zero probability if we get here due to roundoff. */  for (i = 0; i<n; i++)   { if (p[i]>0) return i;  }  abort(); }/* GAUSSIAN GENERATOR.  Done by using the Box-Muller method, but only one   of the variates is retained (using both would require saving more state).   See Devroye, p. 235.    As written, should never deliver exactly zero, which may sometimes be   helpful. */double rand_gaussian (void){  double a, b;  a = rand_uniform();  b = rand_uniopen();  return cos(2.0*M_PI*a) * sqrt(-2.0*log(b));}/* EXPONENTIAL GENERATOR.  See Devroye, p. 29.  Written so as to never   return exactly zero. */double rand_exp (void){  return -log(rand_uniopen());}/* LOGISTIC GENERATOR.  Just inverts the CDF. */double rand_logistic (void){ double u;  u = rand_uniopen();  return log(u/(1-u));}/* CAUCHY GENERATOR.  See Devroye, p. 29. */double rand_cauchy (void){  return tan (M_PI * (rand_uniopen()-0.5));}/* GAMMA GENERATOR.  Generates a positive real number, r, with density   proportional to r^(a-1) * exp(-r).  See Devroye, p. 410 and p. 420.    Things are fiddled to avoid ever returning a value that is very near    zero. */double rand_gamma( double a){  double b, c, X, Y, Z, U, V, W;  if (a<0.00001)  { X = a;  }  else if (a<=1)   {     U = rand_uniopen();    X = rand_gamma(1+a) * pow(U,1/a);  }  else if (a<1.00001)  { X = rand_exp();  }  else  {    b = a-1;    c = 3*a - 0.75;      for (;;)    {      U = rand_uniopen();      V = rand_uniopen();          W = U*(1-U);      Y = sqrt(c/W) * (U-0.5);      X = b+Y;        if (X>=0)      {         Z = 64*W*W*W*V*V;          if (Z <= 1 - 2*Y*Y/X || log(Z) <= 2 * (b*log(X/b) - Y)) break;      }    }  }  return X<1e-30 && X<a ? (a<1e-30 ? a : 1e-30) : X;}/* BETA GENERATOR. Generates a real number, r, in (0,1), with density   proportional to r^(a-1) * (1-r)^(b-1).  Things are fiddled to avoid   the end-points, and to make the procedure symmetric between a and b. */double rand_beta ( double a,   double b){  double x, y, r;  do  { x = rand_gamma(a);    y = rand_gamma(b);    r = 1.0 + x/(x+y);    r = r - 1.0;  } while (r<=0.0 || r>=1.0);  return r;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线电影| 免费精品99久久国产综合精品| 亚洲色图清纯唯美| 一区二区成人在线视频| 精品制服美女久久| 欧美综合亚洲图片综合区| 久久精品免费在线观看| 一区二区三区中文字幕电影 | 欧美人妖巨大在线| 国产精品午夜在线观看| 日韩av网站免费在线| 在线亚洲一区观看| 国产亚洲人成网站| 免费黄网站欧美| 69堂成人精品免费视频| 亚洲老司机在线| 成人美女视频在线观看| 欧美日韩一区三区四区| 亚洲精品伦理在线| 99re66热这里只有精品3直播 | 欧美日韩日日骚| 亚洲精品高清在线| zzijzzij亚洲日本少妇熟睡| 欧美精品一区二区在线观看| 亚洲第一会所有码转帖| 成人av资源站| 中文字幕一区在线观看视频| 国产黑丝在线一区二区三区| 欧美mv日韩mv亚洲| 免费成人在线播放| 欧美久久久久中文字幕| 亚洲一二三四在线观看| 欧美三区在线观看| 亚洲成人动漫在线观看| 欧美人妇做爰xxxⅹ性高电影| 一个色妞综合视频在线观看| 在线观看精品一区| 亚洲综合一二三区| 欧美性色黄大片| 亚洲成人免费视| 欧美精品久久99久久在免费线| 亚洲v中文字幕| 3d成人h动漫网站入口| 日韩福利电影在线| 精品国产一区二区三区四区四 | 午夜亚洲福利老司机| 8x8x8国产精品| 蓝色福利精品导航| 国产日韩欧美激情| 99热这里都是精品| 亚洲精品网站在线观看| 欧美日韩大陆一区二区| 婷婷夜色潮精品综合在线| 欧美一区二区视频观看视频| 久久99精品国产麻豆不卡| 欧美xxxxxxxxx| 国产精品中文有码| 亚洲另类在线视频| 欧美欧美欧美欧美| 国产一级精品在线| 国产精品成人免费| 91精品免费观看| 国产精品123区| 中文字幕一区av| 欧美日韩亚洲不卡| 国产麻豆一精品一av一免费 | 久久激情综合网| 国产精品久久久久久久岛一牛影视 | 狠狠色丁香九九婷婷综合五月| 国产日韩欧美高清| 在线视频欧美精品| 韩国欧美国产1区| 亚洲欧美色一区| 日韩一区二区在线看| 成人av午夜电影| 丝瓜av网站精品一区二区 | 亚洲人成小说网站色在线| 欧美精品乱码久久久久久按摩| 国产中文一区二区三区| 一区二区三区四区国产精品| 精品免费一区二区三区| 色呦呦日韩精品| 国产精品一二二区| 日本特黄久久久高潮| 亚洲欧洲国产专区| 精品国产一区二区三区久久久蜜月| av中文字幕在线不卡| 久久精品国产精品亚洲红杏| 一区二区免费在线播放| 2023国产一二三区日本精品2022| 欧美日韩一区二区三区四区五区| 成人美女视频在线观看| 韩国v欧美v日本v亚洲v| 天堂久久一区二区三区| 国产精品福利一区二区| 日韩欧美亚洲一区二区| 精品视频999| 91色.com| 成人av电影在线网| 国产露脸91国语对白| 日韩av在线播放中文字幕| 亚洲三级电影网站| 中文字幕欧美三区| 欧美va在线播放| 欧美体内she精视频| 91亚洲精华国产精华精华液| 国产成a人亚洲精| 国产在线观看一区二区| 美日韩黄色大片| 石原莉奈在线亚洲三区| 亚洲三级免费电影| 国产精品亲子伦对白| 精品1区2区在线观看| 91精品国产入口| 欧美一级日韩不卡播放免费| 69堂成人精品免费视频| 欧美精品色综合| 91精品国模一区二区三区| 51精品秘密在线观看| 91免费在线播放| 在线观看亚洲精品视频| 欧美综合一区二区| 欧美日韩一级黄| 欧美一区二区久久| 精品国产一区二区三区久久久蜜月 | 午夜精品福利视频网站| 一区二区三区日本| 亚洲v精品v日韩v欧美v专区 | 亚洲精品高清视频在线观看| 亚洲综合激情另类小说区| 亚洲欧洲国产专区| 亚洲国产视频一区二区| 日日摸夜夜添夜夜添国产精品| 蜜臀va亚洲va欧美va天堂| 久久精品国产久精国产爱| 国产一区二区精品久久91| 91在线视频网址| 欧美日韩国产美| 精品捆绑美女sm三区| 日本一二三四高清不卡| 一二三四区精品视频| 秋霞国产午夜精品免费视频| 久久成人麻豆午夜电影| 成人激情视频网站| 欧美日韩一区二区在线观看| 日韩三级精品电影久久久| 国产片一区二区三区| 亚洲综合一区在线| 精品一区二区日韩| 色呦呦日韩精品| 日韩欧美黄色影院| 日本一区二区动态图| 亚洲va欧美va国产va天堂影院| 国产综合久久久久久鬼色| 色琪琪一区二区三区亚洲区| 欧美精品视频www在线观看| 欧美国产日韩亚洲一区| 亚洲成人黄色小说| 不卡区在线中文字幕| 日韩亚洲电影在线| 亚洲精品中文字幕在线观看| 玖玖九九国产精品| 91福利在线看| 欧美国产日韩在线观看| 亚洲高清中文字幕| 成人一级黄色片| 日韩午夜三级在线| 亚洲制服欧美中文字幕中文字幕| 国产精品一区二区91| 欧美日韩一区不卡| 亚洲欧美另类小说| 国产成人av电影在线观看| 欧美精品乱人伦久久久久久| 亚洲同性同志一二三专区| 国产真实乱对白精彩久久| 欧美日韩久久一区| 亚洲欧美日韩中文播放| 国产一区美女在线| 日韩一区二区在线免费观看| 亚洲一卡二卡三卡四卡五卡| 99久久er热在这里只有精品15| 久久综合狠狠综合| 天堂精品中文字幕在线| 91搞黄在线观看| 一区二区三区欧美视频| 91最新地址在线播放| 国产精品国产a级| 国产不卡视频一区二区三区| 日韩欧美在线综合网| 日本伊人色综合网| 欧美精品v国产精品v日韩精品| 亚洲欧美日韩成人高清在线一区| www.日本不卡| 国产精品每日更新| caoporen国产精品视频| 中文字幕精品一区| 国产一区二区免费在线| 久久精品人人做| 国产成a人无v码亚洲福利| 国产精品美女久久久久av爽李琼|