You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1.1 KiB

/* Last revised 28-1-1999 */
/* This is the header file FastNorm3.h to be included in code files
using FastNorm3.c */
/* I M P O R T A N T ! ! ! ! !
The definition below should be altered to ensure that integer
arithmetic is done on 32-bit words. It may need to be changed from int to
long on some platforms. The 32-bit requirement arises from the use of
a Uniform pseudo-random generator in part of the code, which assumes 32-bit
twos-complement arithmetic. In dire need, replace this generator with
another more suitable for the platform. The rest of the code assumes only
that signed integers up to a bit less than 2^31 can be handled.
*/
#define Sw int /* MUST define Sw as a 32-bit integer or longer */
#define Sf double
extern int gaussfaze;
extern int gaussmask;
extern double *gausssave;
extern double GScale;
#define FastNorm ((--gaussfaze)?GScale*gausssave[gaussfaze]:fastnorm())
void initnorm(Sw seed, Sw quoll);
Sf fastnorm (void);
Sf c7rand(Sw*);
Sw irandm(Sw*);
unsigned Sw urandm(Sw*);
double adchi (double a, int *is);
double rgamma (double g, int *is);
Sf renormalize(void);