Guardian Native C Library Calls Reference Manual (G06.28+, H06.05+)

srand48(3) Guardian Native C Library Calls Reference Manual
NAME
srand48 - Sets rule to generate uniformly distributed pseudorandom number sequences
LIBRARY
G-series native Guardian processes: $SYSTEM.SYSnn.ZCRTLSRL
G-series native OSS processes: /G/system/sysnn/zcrtlsrl
H-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
H-series OSS processes: /G/system/zdllnnn/zcrtldll
SYNOPSIS
#include <stdlib.h>
void srand48(
long seed_val);
PARAMETERS
seed_val Species the initialization value to begin randomization. Changing this value
changes the randomization pattern.
DESCRIPTION
This function generates a sequence of pseudorandom numbers using the linear congruential algo-
rithm and 48-bit integer arithmetic.
The srand48() function initializes the random-number generator. Programs should invoke it
before calling the drand48( ), lrand48(),ormrand48() functions. (Although it is not recom-
mended practice, constant default initializer values are supplied automatically if the drand48( ),
lrand48(),ormrand48() functions are called without rst calling an initialization function.)
All the functions work by generating a sequence of 48-bit integer values, X
i
, according to the
linear congruential formula:
X
n+1
= (aX
n
+c)
mod m
n 0
The value of m equals 2 to the power 48; hence 48-bit integer arithmetic is performed. Unless
lcong48() has been invoked, the multiplier value a and the addend value c are given by
a = 5DEECE66D
16
= 273673163155
8
c = B
16
= 13
8
The initializer function srand48() sets the high-order 32 bits of X
i
to the LONG_BIT bits con-
tained in its parameter. The low-order 16 bits of X
i
are set to the arbitrary value 330E
16
.
NOTES
This function supports both IEEE Std 754-1985 oating-point and Tandem oating-point values
in the native environment. IEEE values can include NaN and innity, and the sign of 0.0 (zero)
can be either positive or negative. Refer to the fp_class(3) reference page for a description of
IEEE value classes.
Guardian functions are available to convert between oating-point formats. Refer to the Guar-
dian Programmers Guide for a discussion of oating-point conversions.
RETURN VALUES
The srand48() function does not return a value.
RELATED INFORMATION
Functions: drand48(3), erand48(3), fp_class(3), frand48(3), isnan(3), jrand48(3), lcong48(3),
lrand48(3), mrand48(3), nrand48(3), rand(3), seed48(3).
642 Hewlett-Packard Company 527192-007