home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
ADV350.ZIP
/
ran.for
< prev
next >
Wrap
Text File
|
1990-11-11
|
607b
|
22 lines
INTEGER FUNCTION RAN(RANGE)
C SINCE THE RAN FUNCTION IN LIB40 SEEMS TO BE A REAL LOSER, WE'LL USE ONE OF
C OUR OWN. IT'S BEEN RUN THROUGH MANY OF THE TESTS IN KNUTH, VOL. 2 AND
C SEEMS TO BE QUITE RELIABLE. RAN RETURNS A VALUE UNIFORMLY SELECTED
C BETWEEN 0 AND RANGE-1. NOTE RESEMBLANCE TO ALG USED IN WIZARD.
IMPLICIT INTEGER*4 (A-Z)
DATA R/0/
D=1
IF(R.NE.0) GOTO 1
CALL DATIME(D,T)
R=18*T+5
D=1000+MOD(D,1000)
1 DO 2 T=1,D
2 R=MOD(R*1021,1048576)
RAN=(RANGE*R)/1048576
RETURN
END