info-vax@ucbvax.ARPA (11/02/84)
From: callas%meteor.DEC@decwrl.ARPA (Hardware is just a mathematical abstraction)
Mth$random is documented in the Run-Time Library Reference Manual, which
is volume 6A of a full VMS V3 documentation set. Documentation can also be
found by typing "HELP RTL MTH$ RANDOM" under V3.x or "HELP RTL MTH$
MTH$RANDOM" under V4. The calling sequence has not changed from V3 to V4.
Here is a copy of the help library text from V3.7:
RTL
MTH$
RANDOM
Random Number Generator, Uniformly Distributed
Format
result.wf.v = MTH$RANDOM (seed.mlu.r)
Arguments
seed
An unsigned longword containing the integer seed.
result
The F_floating random number.
A call to MTH$RANDOM will return a number in the interval [0.0,1.0). My
favorite way to initialize the seed is to call SYS$GETTIM to get the
quadword system time and use the middle longword (16 bits filler, 32 bits
seed number, 16 bits filler) as the seed. If you are calling mth$random
many times, resetting the seed from the clock every so often (say every 100
to 10,000 calls) can make mth$random a truly random variable.