C C COMPILE WITH /CHECK=NOOVER ON VAX C FUNCTION RNDMF(X) COMMON/RAN/IX,IY,ITAB(128) INTEGER IX,IY,ITAB DOUBLE PRECISION RNDMF C C COMPUTE A RANDOM NUMBER [0,1] USING THE LINEAR CONFLUENT METHOD C IY=IY*65539 IF(IY) 5,6,6 5 IY=IY+2147483647+1 6 IT=IY*.591389E-07+1. C IBM GIVES THIS CONSTANT AS .4656613E-9 BUT I HAVE DROPPED THE 3 TO C AVOID EVER GETTING A NUMBER EQUAL TO 1 RNDMF=ITAB(IT)*.465661E-9 IX=IX*65549 IF(IX)15,16,16 15 IX=IX+2147483647+1 16 ITAB(IT)=IX RETURN END C SUBROUTINE RSEED(IA,IB) COMMON/RAN/IX,IY,ITAB(128) INTEGER IX,IY,ITAB C C SET UP A FEW THINGS C IX=2*(IA/2)+1 IY=2*(IB/2)+1 DO 30 I=1,128 IX=IX*65549 IF(IX) 5,6,6 5 IX=IX+2147483647+1 6 ITAB(I)=IX 30 CONTINUE RETURN END