9.3.128 RANDU (I1, I2, X)

Description:  Computes a pseudorandom number as a single-precision value.  
Class:  Subroutine 
Arguments:  I1, I2 INTEGER(2) variables or array elements that contain the seed for computing the random number. These values are updated during the computation so that they contain the updated seed. 
  X A REAL(4) variable or array element where the computed random number is returned. 
Results:  The result is returned in X, which must be of type REAL(4). The result value is a pseudorandom number in the range 0.0 to 1.0. The algorithm for computing the random number value is based on the values for I1 and I2.

If I1=0 and I2=0, the generator base is set as follows:
   X(n + 1) = 2**16 + 3
Otherwise, it is set as follows:
   X(n + 1) = (2**16 + 3) * X(n) mod 2**32
The generator base X(n + 1) is stored in I1, I2. The result is X(n + 1) scaled to a real value Y(n + 1), for 0.0 <= Y(n + 1) < 1. 

Examples

Consider the following:

REAL X
INTEGER(2) I, J
...
CALL RANDU (I, J, X)

If I and J are values 4 and 6, X stores the value 5.4932479E-04.


Previous Page Next Page Table of Contents