rand#
Synopsis#
#include <stdlib.h>
int rand(void);
int rand_r(unsigned *seed);
void srand(unsigned seed);
Status#
Partially implemented
Conformance#
IEEE Std 1003.1-2017
Description#
The rand()
function shall compute a sequence of pseudo-random integers in the range [0, RAND_MA]
with a period of
at least 232
.
The rand()
function need not be thread-safe. The rand_r()
function shall compute a sequence of pseudo-random
integers in the range [0, RAND_MA]
. (The value of the RAND_MA
macro shall be at least 32767
.) If rand_r()
is called with the same initial value for the object pointed to by seed and that object is not modified between
successive returns and calls to rand_r()
, the same sequence shall be generated. The srand()
function uses the
argument as a seed for a new sequence of pseudo-random numbers to be returned by subsequent calls to rand()
. If
srand()
is then called with the same seed value, the sequence of pseudo-random numbers shall be repeated. If rand()
is called before any calls to srand()
are made, the same sequence shall be generated as when srand()
is first
called with a seed value of 1
. The implementation shall behave as if no function defined in this volume of
POSIX.1-2017 calls rand()
or srand()
.
Return value#
The
rand()
function shall return the next pseudo-random number in the sequence.The
rand_r()
function shall return a pseudo-random integer.The
srand()
function shall not return a value.
Errors#
No errors are defined.
Tests#
Untested
Known bugs#
None