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

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

?? rand.c

?? 數據挖掘算法BIRCH源碼 c語言版本。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************     Copyright (c) 1993 1994 1995     By Miron Livny, Madison, Wisconsin     All Rights Reserved.     UNDER NO CIRCUMSTANCES IS THIS PROGRAM TO BE COPIED OR DISTRIBUTED     WITHOUT PERMISSION OF MIRON LIVNY     obtained and modified on 3/15/96 by Tian Zhang****************************************************************************/#include <stdio.h>#include <math.h>#include <stdlib.h>#include <malloc.h>#include "rand.h"#define  DRAW	s1 = s1* 1103515245 + 12345#define	 ABS(x)	(x & 0x7fffffff)#define	 MASK(x) ABS(x)#define  MAX_INT 2147483648int	start = 1;void	init();int	binary_search(int, int, float*, float);enum SeedType  { InitialSeed, LastSeed, NewSeed } ;typedef int *IntArrayPtr;typedef char *BooleanArrayPtr;#define M1   2147483563#define M2   2147483399#define A1   40014#define A2   40692#define w    30 #define A1W   1033780774#define A2W   1494757890     #define MAXG  1073741824    #define UnSurM1   4.656613057e-10IntArrayPtr Ig1, Ig2, Lg1, Lg2, Cg1, Cg2 ;IntArrayPtr Antithetic ; int   A1VW, A2VW,  NumberOfGenerators;float   ln10;#define   H  32768/*=================================================================*/int MultMod( int a, int s, int m ) {int   a0;int   a1, q, qh, rh, k, p ;   if ( a < H ) {      a0 = a;  p = 0;    }   else {      a1 = a / H;   a0 = a - H * a1;      qh = m / H;   rh = m - H * qh;      if ( a1 >= H ) {          a1 = a1 - H;  k = s / qh;         p = H * (s - k * qh) - k * rh;         while ( p < 0 ) {  p = p + m;  }         }	else {         p = 0;      };      if ( a1 != 0 ) {         q = m / a1;  k = s / q;         p = p - k * (m - a1 * q);         if ( p > 0 ) {  p = p - m ; };         p = p + a1 * (s - k * q);         while ( p < 0 ) {  p = p + m;  };      };                k = p / qh;      p = H * (p - k * qh) - k * rh;      while ( p < 0 ) {  p = p + m;  };   };               if ( a0 != 0 ) {      q = m / a0;  k = s / q;      p = p - k * (m - a0 * q);      if ( p > 0 ) {  p = p - m;  };      p = p + a0 * (s - k * q);      while ( p < 0 ) {  p = p + m;  };   };   return p;};/*=================================================================*/void GetState( int g , int  *S1, int *S2 ) {   *S1 = Cg1[g];  *S2 = Cg2[g];};/*=================================================================*/void AdvanceState( int g , int k ){    int B1, B2, N ;    int i ;    B1 = A1;  B2 = A2;    for ( i = 1; i <= k-1 ; i++) {        B1 = MultMod( B1, A1, M1 );        B2 = MultMod( B2, A2, M2 );    };   /* B1 = A1 ** k   and   B2 = A2 ** k.    */   Cg1[g] = MultMod( B1, Cg1[g], M1 ) ;   Cg2[g] = MultMod( B2, Cg2[g], M2 ) ;   N = MultMod( A1W, Lg1[g], M1 ) ;   while ( Cg1[g] >= N ) {	  Lg1[g] = N ;	  N = MultMod( A1W, Lg1[g], M1 ) ;   };   N = MultMod( A2W, Lg2[g], M2 ) ;   while ( Cg2[g] >= N ) {	  Lg2[g] = N ;	  N = MultMod( A2W, Lg2[g], M2 );       } ;    };/*=================================================================*/void InitGenerator( int g , SeedType Where ){    switch (Where) {       case InitialSeed  :            Lg1[g] = Ig1[g];          Lg2[g] = Ig2[g];	  break;       case NewSeed :           Lg1[g] = MultMod( A1W, Lg1[g], M1 );           Lg2[g] = MultMod( A2W, Lg2[g], M2 );           break;       case LastSeed :           break;       };   Cg1[g] = Lg1[g];     Cg2[g] = Lg2[g];   };/*=================================================================*/void SetSeed( int g , int S1, int S2 ) {   Ig1[g] = S1;  Ig2[g] = S2;   InitGenerator( g, InitialSeed );};/*=================================================================*/void ResetGenerators( SeedType Where ){    for (int g = 1;g <= NumberOfGenerators; g++) InitGenerator(g,Where);};/*=================================================================*/void SetInitialSeed( int S1, int S2 ){   Ig1[1] = S1;  Ig2[1] = S2;   InitGenerator( 1, InitialSeed );    for ( int g = 2 ; g <= NumberOfGenerators; g++ ) {      Ig1[g] = MultMod( A1VW, Ig1[g-1], M1 );      Ig2[g] = MultMod( A2VW, Ig2[g-1], M2 );      InitGenerator( g, InitialSeed );   }}; /*=================================================================*/void SetAntithetic ( int g, int B ) {   Antithetic[g] = B;};/*=================================================================*/int Random( int g ){    int Z, k, s1, s2 ;    s1 = Cg1[g];  s2 = Cg2[g];    k  = s1 / 53668;    s1 = 40014 * (s1 - k * 53668) - k * 12211;    if ( s1 < 0 )  s1 = s1 + 2147483563 ;    k  = s2 / 52774;    s2 = 40692 * (s2 - k * 52774) - k * 3791;    if ( s2 < 0 )  s2 = s2 + 2147483399 ;    Cg1[g] = s1;  Cg2[g] = s2;    Z = s1 - s2;    if ( Z < 1 )  Z = Z + 2147483562 ;    if ( Antithetic[g] )  Z = 2147483561 - Z;    return Z ;};/*=================================================================*/double Uniform( int g ) {    double ReturnValue;    ReturnValue = float (Random(g)) * UnSurM1 ;    return ReturnValue ;};/*=================================================================*/void CreateGenerators( int gnum){     int v, i;     double longW;     float realV;    delete(Ig1) ; delete(Ig2) ;    delete(Lg1) ; delete(Lg2) ;    delete(Cg1) ; delete(Cg2) ;    delete(Antithetic);     /*  Memory Allocation   */     NumberOfGenerators = gnum ; v = NumberOfGenerators * sizeof(int);     Ig1        = new int[gnum+1] ;    Ig2        = new int[gnum+1] ;     Lg1        = new int[gnum+1] ;     Lg2        = new int[gnum+1] ;    Cg1        = new int[gnum+1] ;     Cg2        = new int[gnum+1] ;    Antithetic = new int[gnum+1] ;    /*  v : Number of sub-sequences in each generator  */    longW = w;    realV = (longW -log10(NumberOfGenerators) ) / log10( 2.0 ) ;    v = int (realV);    /*  Calculate A1VW, A2VW  */    A1VW = A1W ; A2VW = A2W ;    for ( i = 1 ; i <=  v ; i++ ) {         A1VW = MultMod( A1VW, A1VW, M1 ) ;         A2VW = MultMod( A2VW, A2VW, M2 ) ;        } ;    for ( i = 1 ; i <= NumberOfGenerators ; i++) Antithetic[i] = 0;   /*  Initialize the generators.	   You can change the initial seeds afterwards by explicitly 	   using the SetInitialSeed routine in your code  */   SetInitialSeed( 1234567890, 123456789 );};/*=================================================================*/int BddRandom( int g , int LB, int UB) {int ReturnValue ;float realUni;   realUni = Uniform( g );   ReturnValue = int(float( UB - LB ) * realUni )  + LB ;   return ReturnValue;};/*=================================================================*/void NewSeeds( int consume ) {IntArrayPtr  shuffle;int   i, temp, g, ndx ;   shuffle = new int[NumberOfGenerators+1];   g = consume % NumberOfGenerators ;   AdvanceState( g, consume ) ;    for ( i = 1 ; i <= NumberOfGenerators - 1; i++ ) {	  shuffle[i] = BddRandom( g, i + 1, NumberOfGenerators + 1 ) ;   } ;    for ( i = 1 ; i <=  NumberOfGenerators - 1 ; i++ ) {	  ndx = shuffle[i] ;	  temp = Ig1[ndx] ;	  Ig1[ndx] = Ig1[i] ;	  Ig1[i] = temp ;	  temp = Ig2[ndx] ;	  Ig2[ndx] = Ig2[i] ;	  Ig2[i] = temp ;      InitGenerator( i, InitialSeed );    } ;   InitGenerator( NumberOfGenerators, InitialSeed ) ;   delete(shuffle);};/*=================================================================*/void init(){int i;     ln10 = log(10.0);/************     By default set the number of generators to 1024. 	 If the user needs more or less, he can use the routine 	                      CreateGenerators( gnum ), 	 where gnum is the number of the desired generators.************/   NumberOfGenerators = 1024 ;   Ig1        = new int[NumberOfGenerators+1];   Ig2        = new int[NumberOfGenerators+1];   Lg1        = new int[NumberOfGenerators+1];   Lg2        = new int[NumberOfGenerators+1];   Cg1        = new int[NumberOfGenerators+1];   Cg2        = new int[NumberOfGenerators+1];   Antithetic = new int[NumberOfGenerators+1];   A1VW = 2082007225 ;  A2VW = 784306273 ;   /*  Initialize the Antithetic values  */    for ( i = 1 ; i <=  NumberOfGenerators ; i++) {      Antithetic[i] = 0;   };   /* Initialize the generators */   SetInitialSeed(1234567890, 123456789);};// ====================================================================================RandomStream::RandomStream(){    count     = 0;    statFlag  = 2;    sum       = 0;    sumOfSqu  = 0;    if (start) { init(); start = 0;};    };IntRandomStream::IntRandomStream(){    sampleMax = -MAX_INT;    sampleMin = 1000000;    };FloatRandomStream::FloatRandomStream(){    sampleMax = -1.0e29;    sampleMin = 1.0e29;    };void IntRandomStream::Report() {	float mean;	float fCount = count ;	mean = sum/count;	printf(" %f (avg) ", mean);	printf("%f (std) ", 	    sqrt((fCount*sumOfSqu - sum*sum)/(fCount*(fCount - 1))));	printf("%d (count)\n ", count);    };void FloatRandomStream::Report() {	float mean;	float fCount = count ;	mean = sum/count;	printf(" %f (avg) ", mean);	printf("%f (std) ", 	    sqrt((fCount*sumOfSqu - sum*sum)/(fCount*(fCount - 1))));	printf("%d (count)\n ", count);    };void IntRandomStream::CollectStat(int value) {    count++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美撒尿777hd撒尿| 国产高清精品久久久久| 亚洲国产精品高清| 精品盗摄一区二区三区| 日韩欧美一区在线| 91精品国产欧美一区二区成人| 欧美日韩一区二区在线观看| 色婷婷久久一区二区三区麻豆| av一区二区三区黑人| 国产69精品一区二区亚洲孕妇 | 91一区二区三区在线播放| 国产传媒久久文化传媒| 国产不卡一区视频| www.亚洲色图.com| 色欧美日韩亚洲| 欧美日韩国产小视频| 777久久久精品| 精品剧情v国产在线观看在线| 欧美变态tickling挠脚心| 欧美精品一区二区高清在线观看| 久久午夜色播影院免费高清| 日本一区二区三区国色天香 | 91日韩精品一区| 91国偷自产一区二区三区成为亚洲经典 | 91精品国产综合久久久久久| 这里只有精品视频在线观看| 日韩三级高清在线| 日本一区二区三区在线观看| 一区二区久久久| 美女视频黄a大片欧美| 高清在线观看日韩| 欧美性一二三区| 精品国产一区二区亚洲人成毛片| 中文字幕乱码亚洲精品一区| 亚洲国产成人91porn| 国产一区二区影院| 色综合视频在线观看| 日韩免费电影一区| 综合分类小说区另类春色亚洲小说欧美| 一区二区三区四区av| 久久99日本精品| 91丨九色丨蝌蚪丨老版| 日韩免费高清电影| 亚洲黄色小视频| 国产麻豆精品一区二区| 欧美性一区二区| 中文av字幕一区| 日本视频一区二区| 99精品国产99久久久久久白柏| 这里只有精品视频在线观看| 亚洲天堂精品在线观看| 久久99热狠狠色一区二区| 91黄视频在线| 国产精品久久99| 国产一区福利在线| 制服丝袜成人动漫| 亚洲午夜电影网| 成人av电影在线播放| 日韩欧美视频一区| 亚洲国产毛片aaaaa无费看| 成人免费看视频| 久久蜜桃香蕉精品一区二区三区| 一区二区日韩av| bt7086福利一区国产| 久久久久久久久免费| 日韩黄色小视频| 欧美另类变人与禽xxxxx| 亚洲精品中文字幕在线观看| 国产大陆亚洲精品国产| 26uuu亚洲| 日本不卡一区二区三区| 欧美日韩黄色影视| 亚洲影院免费观看| 日本韩国欧美三级| 亚洲三级电影全部在线观看高清| 国产成人精品aa毛片| 久久久国产午夜精品| 精品伊人久久久久7777人| 日韩视频永久免费| 蜜桃传媒麻豆第一区在线观看| 欧美欧美欧美欧美首页| 亚洲丰满少妇videoshd| 欧美三级日韩三级国产三级| 亚洲欧美日韩国产一区二区三区| 成人永久免费视频| 中文字幕日韩欧美一区二区三区| 成年人午夜久久久| 亚洲欧美日韩国产另类专区| 欧美综合视频在线观看| 亚洲第四色夜色| 日韩亚洲欧美综合| 国产成人精品aa毛片| 亚洲视频在线一区观看| 欧美综合一区二区三区| 强制捆绑调教一区二区| 欧美α欧美αv大片| 国产成人在线影院| 亚洲精品欧美在线| 91精品在线观看入口| 国产一区三区三区| 亚洲图片激情小说| 宅男在线国产精品| 国产露脸91国语对白| 日韩美女精品在线| 日韩三级中文字幕| av电影一区二区| 天堂久久久久va久久久久| 26uuu精品一区二区三区四区在线| 成人小视频在线| 日韩电影网1区2区| 国产清纯美女被跳蛋高潮一区二区久久w| 成人深夜福利app| 午夜激情综合网| 国产精品无人区| 日韩一区二区三区在线观看| 国产精品一区二区三区四区| 一区二区三区四区高清精品免费观看 | 欧美三级欧美一级| 国内精品久久久久影院色| 中文字幕一区二区三区蜜月| 7777精品伊人久久久大香线蕉超级流畅 | 美国十次了思思久久精品导航| 国产午夜亚洲精品羞羞网站| 在线免费观看一区| 精品午夜久久福利影院| 一区二区三区在线免费观看 | 播五月开心婷婷综合| 午夜精品一区二区三区免费视频| 国产偷国产偷精品高清尤物 | 国产午夜精品久久久久久免费视| 欧美午夜精品理论片a级按摩| 国产乱码一区二区三区| 日日嗨av一区二区三区四区| 国产精品天美传媒| 欧美电视剧免费全集观看| 欧美视频三区在线播放| 成人精品视频一区二区三区| 免费观看久久久4p| 亚洲国产日韩a在线播放性色| 国产精品女主播av| 久久精品一二三| 欧美成人官网二区| 欧美一区二区三区婷婷月色| 欧美日韩一区二区不卡| 色偷偷久久人人79超碰人人澡| 国产福利精品一区二区| 激情图片小说一区| 老司机精品视频在线| 日韩精品乱码免费| 午夜精品福利一区二区蜜股av| 亚洲乱码国产乱码精品精的特点| 日本一区二区视频在线| 久久久综合视频| 2023国产精品自拍| 精品理论电影在线观看| 日韩欧美国产麻豆| 日韩欧美黄色影院| 欧美不卡激情三级在线观看| 欧美mv日韩mv| 欧美精品一区二区三区四区| 欧美精品一区二区在线播放 | 国产日产欧美精品一区二区三区| 欧美岛国在线观看| 久久一日本道色综合| 久久精品一区二区| 国产精品剧情在线亚洲| 亚洲欧洲色图综合| 亚洲综合在线第一页| 午夜视频在线观看一区二区| 日韩高清在线观看| 久久国产剧场电影| 国产一区二区三区在线观看精品| 国产mv日韩mv欧美| 97久久精品人人做人人爽| 欧美性一级生活| 精品剧情在线观看| 国产精品传媒在线| 亚洲国产视频一区二区| 日韩福利电影在线| 激情文学综合网| 99久久精品费精品国产一区二区| 一本大道久久a久久精二百| 欧美日韩精品三区| 欧美成人精品3d动漫h| 中文在线一区二区 | 欧美日韩精品一区视频| 欧美成人激情免费网| 最新中文字幕一区二区三区| 亚洲一区二区偷拍精品| 久久av中文字幕片| 91免费观看在线| 亚洲精品一区二区三区四区高清 | 香蕉乱码成人久久天堂爱免费| 奇米影视7777精品一区二区| 丁香婷婷综合色啪| 91精品国产综合久久国产大片| 国产精品久久久久国产精品日日| 亚洲国产成人91porn| 国产高清精品网站| 欧美精品v国产精品v日韩精品|