OS/2 Procedures Language 2/REXX


Inf-HTML [About][Toc][Index] 0.9b (c) 1995 Peter Childs


RANDOM




 >>--RANDOM(-+--------------------------+-)----><
             +-max----------------------+
             +-min,-+-+-----+-+-------+-+
             +-,----+ +-max-+ +-,seed-+

RANDOM returns a quasi-random, nonnegative whole number in the range min 
to max inclusive. If only one argument is specified, the range will be 
from 0 to that number. Otherwise, the default values for min and max are 0 
and 999, respectively. A specific seed (which must be a whole number) for 
the random number can be specified as the third argument if repeatable 
results are desired. 
The magnitude of the range (that is, max minus min) must not exceed 
100000. 
Here are some examples: 

RANDOM()          ->    305
RANDOM(5,8)       ->      7
RANDOM(,,1983)    ->    123  /* reproducible */
RANDOM(2)         ->      0

Notes: 
   1. To obtain a predictable sequence of quasi-random numbers, use RANDOM 
      a number of times, but specify a seed only the first time. For 
      example, to simulate 40 throws of a six-sided, unbiased die, use: 

      sequence = RANDOM(1,6,12345)  /* any number would */
                                    /* do for a seed    */
      do 39
         sequence = sequence RANDOM(1,6)
         end
      say sequence
      
      
      The numbers are generated mathematically, using the initial seed, so 
      that as far as possible they appear to be random. Running the 
      program again will produce the same sequence; using a different 
      initial seed almost certainly produces a different sequence. 
   2. The random number generator is global for an entire program; the 
      current seed is not saved across internal routine calls. 
   3. The actual random number generator used may differ from 
      implementation to implementation. 
   

Inf-HTML End Run - Successful