rand_r Subroutine
Purpose
Generates pseudo-random numbers.
Libraries
Thread-Safe C Library (libc_r.a)
Berkeley Compatibility Library (libbsd.a)
Syntax
#include <stdlib.h>
int rand_r (Seed)
unsigned int * Seed;
unsigned int * Seed;
Description
The rand_r subroutine generates and returns a pseudo-random number using a multiplicative congruential algorithm. The random-number generator has a period of 2**32, and it returns successive pseudo-random numbers.
Note: The rand_r subroutine
is a simple random-number generator. Its spectral properties (the
mathematical measurement of the randomness of a number sequence) are
limited. See the drand48 subroutine or the random (random, srandom, initstate, or setstate Subroutine) subroutine for more elaborate random-number
generators that have greater spectral properties.
Programs using this subroutine must link to the libpthreads.a library.
Parameter
Item | Description |
---|---|
Seed | Specifies an initial seed value. |
Return Values
Item | Description |
---|---|
0 | Indicates that the subroutines was successful. |
-1 | Indicates that the subroutines was not successful. |
Error Codes
If the following condition occurs, the rand_r subroutine sets the errno global variable to the corresponding value.
Item | Description |
---|---|
EINVAL | The Seed parameter specifies a null value. |
File
Item | Description |
---|---|
/usr/include/sys/types.h | Defines system macros, data types, and subroutines. |