Returns a random integer from a range specified by its argument.
The format for the $RANDOM function is:
$R[ANDOM](intexpr)
The integer expression specifies the upper exclusive limit of a range of integers from which $RANDOM() may pick a result; $RANDOM() never returns a number less than zero (0).
If $RANDOM() has an argument less than one (1), it generates a run-time error.
$RANDOM can generate numbers up to 2147483646 (that is 2GB - 2).
$RANDOM() provides a tool for generating pseudo-random patterns useful in testing or statistical calculations. $RANDOM() results fall between zero (0) and one less than the argument.
Random number generators use factors from the environment to create sequences of numbers. True random number generation requires a source of what is known as "noise". Pseudo-random numbers appear to have no pattern, but are developed using interactions between factors that vary in ways not guaranteed to be entirely random. In accordance with the M standard, the GT.M implementation of $RANDOM() produces pseudo-random numbers.
Example:
GTM>for i=1:1:10 write $random(1) 0000000000 GTM>
This shows that when $RANDOM() has an argument of one (1), the result is too confined to be random.
Example:
set x=$random(100)+1*.01
This $RANDOM() example produces a number between 0 and 99. The example then shifts with addition, and scales with multiplication to create a value between .01 and 1.