|
|
1.1 ! root 1: SUBROUTINE SAVLOD(LUNIT,ID,M,N,IMG,JOB,XREAL,XIMAG) ! 2: INTEGER LUNIT,ID(4),M,N,IMG,JOB ! 3: DOUBLE PRECISION XREAL(1),XIMAG(1) ! 4: C ! 5: C IMPLEMENT SAVE AND LOAD ! 6: C LUNIT = LOGICAL UNIT NUMBER ! 7: C ID = NAME, FORMAT 4A1 ! 8: C M, N = DIMENSIONS ! 9: C IMG = NONZERO IF XIMAG IS NONZERO ! 10: C JOB = 0 FOR SAVE ! 11: C = SPACE AVAILABLE FOR LOAD ! 12: C XREAL, XIMAG = REAL AND OPTIONAL IMAGINARY PARTS ! 13: C ! 14: C THIS VERSION USES UNFORMATTED READ AND WRITE ! 15: C ! 16: IF (JOB .GT. 0) GO TO 20 ! 17: C ! 18: C SAVE ! 19: 10 WRITE(LUNIT) ID,M,N,IMG ! 20: DO 15 J = 1, N ! 21: K = (J-1)*M+1 ! 22: L = J*M ! 23: WRITE(LUNIT) (XREAL(I),I=K,L) ! 24: IF (IMG .NE. 0) WRITE(LUNIT) (XIMAG(I),I=K,L) ! 25: 15 CONTINUE ! 26: RETURN ! 27: C ! 28: C LOAD ! 29: 20 READ(LUNIT,END=30) ID,M,N,IMG ! 30: IF (M*N .GT. JOB) GO TO 30 ! 31: DO 25 J = 1, N ! 32: K = (J-1)*M+1 ! 33: L = J*M ! 34: READ(LUNIT,END=30) (XREAL(I),I=K,L) ! 35: IF (IMG .NE. 0) READ(LUNIT,END=30) (XIMAG(I),I=K,L) ! 36: 25 CONTINUE ! 37: RETURN ! 38: C ! 39: C END OF FILE ! 40: 30 M = 0 ! 41: N = 0 ! 42: RETURN ! 43: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.