erand48()

Updated: April 19, 2023

Generate a pseudo-random double in a thread-safe manner

Synopsis:

#include <stdlib.h>

double erand48( unsigned short int xsubi[3] );

Arguments:

xsubi
An array that comprises the 48 bits of the initial value that you want to use.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The erand48() function uses a linear congruential algorithm and 48-bit integer arithmetic to generate a nonnegative double uniformly distributed over the interval [0.0, 1.0). It's a thread-safe version of drand48().

The xsubi array should contain the desired initial value; this makes erand48() thread-safe, and lets you start a sequence of random numbers at any known value.

Returns:

A pseudo-random double.

Classification:

POSIX 1003.1 XSI

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes