home *** CD-ROM | disk | FTP | other *** search
- (*-------------------------------------------------------------------------*)
- (* *)
- (* Amiga Oberon Library Module: Random Date: 02-Nov-92 *)
- (* *)
- (* © 1991 by Fridtjof Siebert *)
- (* *)
- (*-------------------------------------------------------------------------*)
-
- MODULE Random;
-
- IMPORT sys := SYSTEM, I := Intuition;
-
- VAR i: LONGINT;
- j: LONGINT;
-
- PROCEDURE RND*(n: INTEGER): INTEGER;
- BEGIN
- (* $OvflChk- $RangeChk- *)
- INC(j,9699689);
- i := sys.ROT(i,13) * 223092871 + j;
- RETURN sys.VAL(INTEGER,sys.VAL(SET,SHORT(i))-{15}) MOD n;
- (* $OvflChk= $RangeChk= *)
- END RND;
-
- PROCEDURE PutSeed*(seed: LONGINT);
- BEGIN
- i := seed;
- j := seed;
- END PutSeed;
-
- BEGIN
- I.CurrentTime(i,j);
- END Random.
-
-