Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0026/randu.doc
There are 2 other files named randu.doc in the archive. Click here to see a list.
SUBROUTINE RANDU

PURPOSE
   COMPUTES UNIFORMLY DISTRIBUTED RANDOM REAL NUMBERS BETWEEN
   0 AND 1.0 AND RANDOM INTEGERS BETWEEN ZERO AND
   2**31. EACH ENTRY USES AS INPUT AN INTEGER RANDOM NUMBER
   AND PRODUCES A NEW INTEGER AND REAL RANDOM NUMBER.

USAGE
   CALL RANDU(IX,IY,YFL)

DESCRIPTION OF PARAMETERS
   IX - FOR THE FIRST ENTRY THIS MUST CONTAIN ANY ODD INTEGER
	NUMBER WITH NINE OR LESS DIGITS. AFTER THE FIRST ENTRY,
	IX SHOULD BE THE PREVIOUS VALUE OF IY COMPUTED BY THIS
	SUBROUTINE.
   IY - A RESULTANT INTEGER RANDOM NUMBER REQUIRED FOR THE NEXT
	ENTRY TO THIS SUBROUTINE. THE RANGE OF THIS NUMBER IS
	BETWEEN ZERO AND 2**31
   YFL- THE RESULTANT UNIFORMLY DISTRIBUTED, FLOATING POINT,
	RANDOM NUMBER IN THE RANGE 0 TO 1.0

REMARKS
   THIS SUBROUTINE IS SPECIFIC TO SYSTEM/360 AND WILL PRODUCE
   2**29 TERMS BEFORE REPEATING.  THE REFERENCE BELOW DISCUSSES
   SEEDS (65539 HERE), RUN PROBLEMS, AND PROBLEMS CONCERNING
   RANDOM DIGITS USING THIS GENERATION SCHEME.	MACLAREN AND
   MARSAGLIA, JACM 12, P. 83-89, DISCUSS CONGRUENTIAL
   GENERATION METHODS AND TESTS.  THE USE OF TWO GENERATORS OF
   THE RANDU TYPE, ONE FILLING A TABLE AND ONE PICKING FROM THE
   TABLE, IS OF BENEFIT IN SOME CASES.	65549 HAS BEEN
   SUGGESTED AS A SEED WHICH HAS BETTER STATISTICAL PROPERTIES
   FOR HIGH ORDER BITS OF THE GENERATED DEVIATE.
   SEEDS SHOULD BE CHOSEN IN ACCORDANCE WITH THE DISCUSSION
   GIVEN IN THE REFERENCE BELOW.  ALSO, IT SHOULD BE NOTED THAT
   IF FLOATING POINT RANDOM NUMBERS ARE DESIRED,AS ARE
   AVAILABLE FROM RANDU, THE RANDOM CHARACTERISTICS OF THE
   FLOATING POINT DEVIATES ARE MODIFIED AND IN FACT THESE
   DEVIATES HAVE HIGH PROBABILITY OF HAVING A TRAILING LOW
   ORDER ZERO BIT IN THEIR FRACTIONAL PART.

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
   NONE

METHOD
   POWER RESIDUE METHOD DISCUSSED IN IBM MANUAL C20-8011,
   RANDOM NUMBER GENERATION AND TESTING