9 INTEGER ians,iblock,igen,iseed1,iseed2,itmp,ix,ixgen,nbad
12 INTEGER answer(10000),genlst(5)
22 DATA genlst/1,5,10,20,32/
28 9000
FORMAT (
' For five virual generators of the 32'/
29 +
' This test generates 10000 numbers then resets the block'/
30 +
' and does it again'/
31 +
' Any disagreements are reported -- there should be none'/)
42 WRITE (*,*)
' Testing generator ',igen
47 CALL
getsd(iseed1,iseed2)
53 ix = ians + (iblock-1)*1000
62 CALL
getsd(iseed1,iseed2)
71 ix = ians + (iblock-1)*1000
74 IF (.NOT. (itmp.NE.answer(ix))) go to 30
75 WRITE (*,9010) iblock,ians,ix,answer(ix),itmp
77 9010
FORMAT (
' Disagreement on regeneration of numbers'/
78 +
' Block ',i2,
' N within Block ',i2,
79 +
' Index in answer ',i5/
80 +
' Originally Generated ',i10,
' Regenerated ',
84 IF (nbad.GT.10) stop
' More than 10 mismatches'
89 WRITE (*,*)
' Finished testing generator ',igen
90 WRITE (*,*)
' Test completed successfully'
subroutine setall(iseed1, iseed2)
subroutine getsd(iseed1, iseed2)
subroutine initgn(isdtyp)