]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | |
2 | C********************************************************************* | |
3 | ||
4 | SUBROUTINE RLUSET(LFN,MOVE) | |
5 | ||
6 | C...Purpose: to read a state of the random number generator from a file | |
7 | C...for subsequent generation from this state onwards. | |
8 | COMMON/LUDATR/MRLU(6),RRLU(100) | |
9 | SAVE /LUDATR/ | |
10 | CHARACTER CHERR*8 | |
11 | ||
12 | C...Backspace required number of records (or as many as there are). | |
13 | IF(MOVE.LT.0) THEN | |
14 | NBCK=MIN(MRLU(6),-MOVE) | |
15 | DO 100 IBCK=1,NBCK | |
16 | BACKSPACE(LFN,ERR=120,IOSTAT=IERR) | |
17 | 100 CONTINUE | |
18 | MRLU(6)=MRLU(6)-NBCK | |
19 | ENDIF | |
20 | ||
21 | C...Unformatted read from unit LFN. | |
22 | NFOR=1+MAX(0,MOVE) | |
23 | DO 110 IFOR=1,NFOR | |
24 | READ(LFN,ERR=120,IOSTAT=IERR) (MRLU(I1),I1=1,5), | |
25 | &(RRLU(I2),I2=1,100) | |
26 | 110 CONTINUE | |
27 | MRLU(6)=MRLU(6)+NFOR | |
28 | RETURN | |
29 | ||
30 | C...Write error. | |
31 | 120 WRITE(CHERR,'(I8)') IERR | |
32 | CALL LUERRM(18,'(RLUSET:) error when accessing file, IOSTAT ='// | |
33 | &CHERR) | |
34 | ||
35 | RETURN | |
36 | END |