MSfUnifRand
Routine
-
double MSfUnifRand (void)
-
void MSrandSeed (int seed)
Purpose
-
Generate a uniformly distributed pseudo-random value
-
Reseed the uniform pseudo-random value
Description
This routine generates uniformly distributed pseudo-random numbers. The
multiplicative congruential method is used to generate integer pseudo-random
numbers, is = (a*is) % m. The values a=16807 and m=2147483647 are used.
These values have been shown to give good results. Further, the values
generated are shuffled to give better serial correlation properties. The
pseudo-random number generation routine is self initializing, but if a
different sequence of pseudo-random values is desired, the routine MSrandSeed
can be used to supply a starting (seed) value.
-
Reference:
-
W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery,
"Numerical Recipes in C" (2nd ed.) (p. 280), Cambridge University Press,
1992.
Parameters
-
MSfUnifRand:
-
<- double MSfUnifRand
-
Uniform deviate with values between 0 and 1, exclusive of the end points.
-
MSrandSeed:
-
-> int seed
-
Seed value. A positive seed value sets the pseudo-random generation to a
new sequence. A zero value sets the actual seed to a value based on the
current time. The default sequence can be restarted by setting the seed
value to 12345.
Author / revision
P. Kabal
/ Revision 1.18 2003/05/09
See Also
MSfGaussRand
Main Index libtsp