[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    rand(3B) manual page Table of Contents

Name

rand, srand - simple random number generator

Synopsis

/usr/ucb/cc [ flag ... ] file ...

int rand()

int srand( seed)
unsigned seed;

Description

rand() uses a multiplicative congruential random number generator with period 2**32 to return successive pseudo-random numbers in the range from 0 to "(2**31) -1."

srand() 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.

See Also

drand48(3C) , rand(3C) , random(3C)

Notes

Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-thread applications is unsupported.

The spectral properties of rand() leave a great deal to be desired. drand48(3C) and random(3C) provide much better, though more elaborate, random-number generators.

The low bits of the numbers generated are not very random; use the middle bits. In particular the lowest bit alternates between 0 and 1.


Table of Contents