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;

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.