jrand48()

Updated: April 19, 2023

Generate a pseudo-random signed long integer in a thread-safe manner

Synopsis:

#include <stdlib.h>

long jrand48( unsigned short 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 jrand48() function uses a linear congruential algorithm and 48-bit integer arithmetic to generate a signed long integer uniformly distributed over the interval [-231, 231). It's a thread-safe version of mrand48().

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

Returns:

A pseudo-random long integer.

Classification:

POSIX 1003.1 XSI

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