RAND(3)

RAND(3) | Library Functions Manual | RAND(3)

# NAME

`rand`, `srand`, `rand_r` —
bad random number generator

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <stdlib.h>`

void
`srand`(unsigned int seed);

int
`rand`(void);

int
`rand_r`(unsigned int *seed);

# DESCRIPTION

These interfaces are obsoleted by random(3).

The `rand`() function computes a sequence of pseudo-random integers in the range of 0 to `RAND_MAX` (as defined by the header file `<stdlib.h>`).

The `srand`() function sets its argument as the seed for a new sequence of pseudo-random numbers 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 automatically seeded with a value of 1.

The `rand_r`() function is a reentrant interface to `rand`(); the seed has to be supplied and is maintained by the caller.

# SEE ALSO

random(3), rnd(4)

# STANDARDS

The `rand`() and `srand`() functions conform to ANSI X3.159-1989 (“ANSI C89”). The `rand_r`() function conforms to IEEE Std 1003.1c-1995 (“POSIX.1c”).

June 4, 1993 | NetBSD 9.0