diff options
Diffstat (limited to 'reference/C/MAN/rand.htm')
-rw-r--r-- | reference/C/MAN/rand.htm | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/reference/C/MAN/rand.htm b/reference/C/MAN/rand.htm new file mode 100644 index 0000000..d1de27c --- /dev/null +++ b/reference/C/MAN/rand.htm @@ -0,0 +1,166 @@ +<TITLE>rand</TITLE> +<body bgcolor="#ffffcc"> +<hr> +<pre> + + + +<h3>RAND(3) Linux Programmer's Manual RAND(3) +</h3> + +<h3>NAME +</h3> rand, srand - random number generator. + +<h3>SYNOPSIS +</h3> #include <stdlib.h> + + int rand(void); + + void srand(unsigned int seed); + +<h3>DESCRIPTION +</h3> The rand() function returns a pseudo-random integer + between 0 and RAND_MAX. + + The srand() function sets its argument as the seed for a + new sequence of pseudo-random integers to be returned by + rand(). These sequences are repeatable by calling srand() + with the same seed value. + + If no seed value is provided, the rand() function is auto- + matically seeded with a value of 1. + +<h3>RETURN VALUE +</h3> The rand() function returns a value between 0 and + RAND_MAX. The srand() returns no value. + +<h3>NOTES +</h3> The versions of rand() and srand() in the Linux C Library + use the same random number generator as random() and sran- + dom(), so the lower-order bits should be as random as the + higher-order bits. However, on older rand() implementa- + tions, the lower-order bits are much less random than the + higher-order bits. + + In Numerical Recipes in C: The Art of Scientific Computing + (William H. Press, Brian P. Flannery, Saul A. Teukolsky, + William T. Vetterling; New York: Cambridge University + Press, 1990 (1st ed, p. 207)), the following comments are + made: + "If you want to generate a random integer between 1 + and 10, you should always do it by + + j=1+(int) (10.0*rand()/(RAND_MAX+1.0)); + + and never by anything resembling + + j=1+((int) (1000000.0*rand()) % 10); + + (which uses lower-order bits)." + + Random-number generation is a complex topic. The Numeri- + cal Recipes in C book (see reference above) provides an + excellent discussion of practical random-number generation + issues in Chapter 7 (Random Numbers). + + + +<h3>GNU 18 May 1995 1 +</h3> + + + + +<h3>RAND(3) Linux Programmer's Manual RAND(3) +</h3> + + For a more theoretical discussion which also covers many + practical issues in depth, please see Chapter 3 (Random + Numbers) in Donald E. Knuth's The Art of Computer Program- + ming, volume 2 (Seminumerical Algorithms), 2nd ed.; Read- + ing, Massachusetts: Addison-Wesley Publishing Company, + 1981. + +<h3>CONFORMING TO +</h3> SVID 3, BSD 4.3, ISO 9899 + +</pre> +<hr> +<h3>SEE ALSO +</h3><p> +<a href=random.htm>random</a>, +<a href=srandom.htm>srandom</a>, +<a href=initstate.htm>initstate</a>, +<a href=setstate.htm>setstate</a>, +<pre> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>GNU 18 May 1995 2 +</h3> + +
</pre> +<P> +<hr> +<p> +<center> +<table border=2 width=80%> +<tr align=center> +<td width=25%> +<a href=../cref.html>Top</a> +</td><td width=25%> +<a href=../master_index.html>Master Index</a> +</td><td width=25%> +<a href=../SYNTAX/keywords.html>Keywords</a> +</td><td width=25%> +<a href=../FUNCTIONS/funcref.htm>Functions</a> +</td> +</tr> +</table> +</center> +<p> +<hr> + +This manual page was brought to you by <i>mjl_man V-2.0</i> |