seed48()

Updated: April 19, 2023

Initialize the seed for a sequence of pseudo-random numbers

Synopsis:

#include <stdlib.h>

unsigned short int *seed48( 
    unsigned short int seed16v[3] );

Arguments:

seed16v
An array that comprises the 48 bits of the seed.

Library:

libc

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

Description:

The seed48() initializes the internal buffer r(n) of drand48(), lrand48(), and mrand48(). All 48 bits of the seed can be specified in an array of 3 short integers, where the entry with index 0 specifies the lowest bits. The constant multiplicand and addend of the algorithm are reset to the defaults: the multiplicand a = 0xFDEECE66D = 25214903917 and the addend c = 0xB = 11.

Returns:

A pointer to an array of 3 shorts which contains the old seed. This array is statically allocated, thus its contents are lost after each new call to seed48().

Classification:

POSIX 1003.1 XSI

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