Visit Our UNIX and Linux User Community

rand(3C)																  rand(3C)

rand(), rand_r(), srand() - simple random-number generator SYNOPSIS
uses a multiplicative, congruential, random-number generator with period 2^32 that returns successive pseudo-random numbers in the range from 0 to 2^15-1. can be called at any time to reset the random-number generator to a random starting point. The generator is initially seeded with a value of 1. returns a random number at the address pointed to by the randval parameter. The seed parameter can be set at any time to start the random- number generator at an arbitrary point. Note The spectral properties of leave a great deal to be desired. provides a much better, though more elaborate, random-number generator (see drand48(3C)). RETURN VALUE
If seed or randval is NULL, returns 0. Otherwise, returns a psuedo-random integer. EXAMPLES
The following: int x, y; srand(10); x = rand(); y = rand(); would produce the same results as: int x, y, s = 10; x=rand_r(&s); y=rand_r(&s); WARNINGS
Users of should note that rand_r() now conforms with POSIX.1c. The old prototype of is supported for compatibility with existing DCE applications only. SEE ALSO
drand48(3C), random(3M), thread_safety(5), random(7). STANDARDS CONFORMANCE

Featured Tech Videos