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