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

📄 ranlib.c.chs

📁 一个很好用的常用数学分布实现代码集合
💻 CHS
字号:
                                    RANLIB.C            Library of C Routines for Random Number Generation                     Summary Documentation of Each Routine                            Compiled and Written by:                                 Barry W. Brown                                  James Lovato                                                        Department of Biomathematics, Box 237                     The University of Texas, M.D. Anderson Cancer Center                     1515 Holcombe Boulevard                     Houston, TX      77030 This work was supported by grant CA-16672 from the National Cancer Institute.                    SUMMARY OF ROUTINES IN RANLIB0. Base Level Routines to Set and Obtain Values of Seeds(These should be the only base level routines used by  those who don'tneed multiple generators with blocks of numbers.)**********************************************************************     extern void setall(long iseed1,long iseed2);               SET ALL random number generators********************************************************************************************************************************************     extern void getsd(long *iseed1,long *iseed2)               GET SeeD     Returns the value of two integer seeds of the current generator     in ISEED1, ISEED2**********************************************************************I. Higher Level Routines**********************************************************************     extern float genbet(float aa,float bb);               GeNerate BETa random deviate     Returns a single random deviate from the beta distribution with     parameters A and B.  The density of the beta is               x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x < 1********************************************************************************************************************************************     extern float genchi(float df);                Generate random value of CHIsquare variable     Generates random deviate from the distribution of a chisquare     with DF degrees of freedom random variable.********************************************************************************************************************************************     extern float genexp(float av);                    GENerate EXPonential random deviate     Generates a single random deviate from an exponential     distribution with mean AV.********************************************************************************************************************************************     extern float genf(float dfn, float dfd);                GENerate random deviate from the F distribution     Generates a random deviate from the F (variance ratio)     distribution with DFN degrees of freedom in the numerator     and DFD degrees of freedom in the denominator.********************************************************************************************************************************************     extern float gengam(float a,float r);           GENerates random deviates from GAMma distribution     Generates random deviates from the gamma distribution whose     density is          (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X)********************************************************************************************************************************************          extern void genmn(float *parm,float *x,float *work);         GENerate Multivariate Normal deviate     Generates a multivariate   normal deviate   (parameters  of  which     were  previously  set in   parm    by setgmn).   Returns    random     deviate of length p in x; work is a work array of length p.     ********************************************************************************************************************************************     extern float gennch(float df,float xnonc);           Generate random value of Noncentral CHIsquare variable     Generates random deviate  from the  distribution  of a  noncentral     chisquare with DF degrees  of freedom and noncentrality  parameter     XNONC.********************************************************************************************************************************************     extern void genmul(long n,float *p,long ncat,long *ix);              GENerate MULtinomial random deviate     Generates deviates from a Multinomial distribution with NCAT     categories.  P specifies the probability of an event in each     category. The generated deviates are placed in IX.********************************************************************************************************************************************     extern float gennf(float dfn, float dfd, float xnonc);           GENerate random deviate from the Noncentral F distribution     Generates a random deviate from the  noncentral F (variance ratio)     distribution with DFN degrees of freedom in the numerator, and DFD     degrees of freedom in the denominator, and noncentrality parameter     XNONC.********************************************************************************************************************************************     extern float gennor(float av,float sd);         GENerate random deviate from a NORmal distribution     Generates a single random deviate from a normal distribution     with mean, AV, and standard deviation, SD.********************************************************************************************************************************************    extern void genprm(long *iarray,int larray);               GENerate random PeRMutation of iarray********************************************************************************************************************************************     extern float genunf(float low,float high);               GeNerate Uniform Real between LOW and HIGH********************************************************************************************************************************************     extern long ignbin(long n,float pp);                    GENerate BINomial random deviate     Returns a single random deviate from a binomial     distribution whose number of trials is N and whose     probability of an event in each trial is P.********************************************************************************************************************************************     extern long ignnbn(long n,float p);               GENerate Negative BiNomial random deviate     Returns a single random deviate from a negative binomial     distribution with number of events N and whose     probability of an event in each trial is P.********************************************************************************************************************************************     extern long ignpoi(float mu);                    GENerate POIsson random deviate     Generates a single random deviate from a Poisson     distribution with mean AV.********************************************************************************************************************************************     extern long ignuin(long low,long high);               GeNerate Uniform INteger     Generates an integer uniformly distributed between LOW and HIGH.********************************************************************************************************************************************     extern void phrtsd(char* phrase,long* seed1,long* seed2);               PHRase To SeeDs     CHARACTER*(*) PHRASE     Uses a phrase (character string) to generate two seeds for the RGN     random number generator.********************************************************************************************************************************************     extern float ranf(void);                RANDom number generator as a Function     Returns a random floating point number from a uniform distribution     over 0 - 1 (endpoints of this interval are not returned) using the     current generator********************************************************************************************************************************************    extern void setgmn(float *meanv,float *covm,long p,float *parm);            SET Generate Multivariate Normal random deviate     P is the length of normal vectors to be generated, MEANV     is the vector of their means and COVM is their variance     covariance matrix.  Places information necessary to generate     the deviates in PARM.     (Parm must have length p*(p+3)/2 + 1)**********************************************************************II. Uniform Generator and Associated Routines      A. SETTING THE SEED OF ALL GENERATORS**********************************************************************      extern void setall(long iseed1,long iseed2);               SET ALL random number generators**********************************************************************      B. OBTAINING RANDOM NUMBERS**********************************************************************     extern long ignlgi(void);               GeNerate LarGe Integer     Returns a random integer following a uniform distribution over     (1, 2147483562) using the current generator.********************************************************************************************************************************************          extern float ranf(void);                RANDom number generator as a Function     Returns a random floating point number from a uniform distribution     over 0 - 1 (endpoints of this interval are not returned) using the     current generator**********************************************************************      C. SETTING AND OBTAINING THE NUMBER OF THE CURRENT GENERATOR**********************************************************************     void gscgn(long getset,long *g)                         Get/Set GeNerator     Gets or returns in G the number of the current generator                              Arguments     getset --> 0 Get                1 Set     g <--> Number of the current random number generator (1..32)********************************************************************************************************************************************      D. OBTAINING OR CHANGING SEEDS IN CURRENT GENERATOR**********************************************************************    extern void advnst(long k);               ADV-a-N-ce ST-ate     Advances the state  of  the current  generator  by 2^K values  and     resets the initial seed to that value.********************************************************************************************************************************************     extern void getsd(long *iseed1,long *iseed2);               GET SeeD     Returns the value of two integer seeds of the current generator     in ISEED1, ISEED2********************************************************************************************************************************************     extern void initgn(long isdtyp);          INIT-ialize current G-e-N-erator          ISDTYP = -1  => sets the seeds to their initial value          ISDTYP =  0  => sets the seeds to the first value of                          the current block          ISDTYP =  1  => sets the seeds to the first value of                          the next block********************************************************************************************************************************************     extern void setsd(long iseed1,long iseed2);               SET S-ee-D of current generator     Resets the initial  seed of  the current  generator to  ISEED1 and     ISEED2. The seeds of the other generators remain unchanged.**********************************************************************      E. MISCELLANY**********************************************************************     extern long mltmod(long a,long s,long m);                    Returns (A*S) MOD M********************************************************************************************************************************************      extern void setant(long qvalue);               SET ANTithetic      LOGICAL QVALUE     Sets whether the current generator produces antithetic values.  If     X   is  the value  normally returned  from  a uniform [0,1] random     number generator then 1  - X is the antithetic  value. If X is the     value  normally  returned  from a   uniform  [0,N]  random  number     generator then N - 1 - X is the antithetic value.     All generators are initialized to NOT generate antithetic values.**********************************************************************

⌨️ 快捷键说明

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