Trailing-Edge
-
PDP-10 Archives
-
red405a2
-
uetp/lib/mtabkr.for
There are 18 other files named mtabkr.for in the archive. Click here to see a list.
CTHIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
C OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
C
CCOPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
DIMENSION IARRAY(10,10),JARRAY(10,10)
IMAX=10
JMAX=10
DEV='MAG'
WRITE(5,12345)
12345 FORMAT(' ENTER NUMBER OF FILES TO USE IN TEST (XXXXX):')
READ (5,12346) IFLMAX
12346 FORMAT(I5)
CMAGTAPE TESTING. WRITES OUT IFILE NUMBER OF FILES ON MAGTAPE
C "DEV". THE FILES ARE INTIGER ASCII OF THE SIZE IMAX*JMAX
C WHERE IMAX AND JMAX ARE READ IN AT RUNTIME FROM FILE PARAMS.DAT
C ON UNIT 1. DEV IS ALSO READ FROM PARAMS
DO 100 I=1,IMAX
DO 100 J=1,JMAX
IARRAY(I,J)=I*JMAX+J-JMAX
100 CONTINUE
OPEN(UNIT=1,DEVICE=DEV)
REWIND 1
DO 300 IFILE=1,IFLMAX
OPEN(UNIT=1,DEVICE=DEV)
DO 200 I=1,IMAX
WRITE(1,910)IFILE,(IARRAY(I,J),J=1,JMAX)
200 CONTINUE
ENDFILE 1
NOW=300
TYPE 960,NOW
300 CONTINUE
C GET TO END OF FILE WITH NORMAL READS IN CASE SKIPRECORD FAILS
C DO REWIND FIRST SO TEST WORKS ON MTA AND DSK.
REWIND 1
DO 400 I=1,IMAX
READ(1,910,END=840,ERR=850)JFILE,(JARRAY(I,J),J=1,JMAX)
400 CONTINUE
C BACKSPACE STRAIGHT THROUGH FILE
DO 510 I=IMAX,1,-1
TYPE 950,I
BACKSPACE 1
TYPE 951
READ(1,910,END=841,ERR=851)JFILE,(JARRAY(I,J),J=1,JMAX)
TYPE 950,I
BACKSPACE 1
DO 500 J=1,JMAX
IF(IARRAY(I,J).NE.JARRAY(I,J))WRITE(5, 1020) DEV,JFILE,I,
1 J,IARRAY(I,J),JARRAY(I,J),IMAX,JMAX
NOW=500
TYPE 960,NOW
500 CONTINUE
NOW=510
TYPE 960,NOW
TYPE 961,IMAX,I,J
510 CONTINUE
C NOW GET TO END AND DO MULTIPLE BACKSPACES
REWIND 1
DO 600 I=1,IMAX
READ(1,910,END=840,ERR=850)JFILE,(JARRAY(I,J),J=1,JMAX)
600 CONTINUE
DO 700 I=1,IMAX
BACKSPACE 1
700 CONTINUE
I=1
READ(1,910,END=842,ERR=852)JFILE,(JARRAY(I,J),J=1,JMAX)
C NOTE J=JMAX+1 AT EXIT FROM READ
J=JMAX
IF(IARRAY(I,J).NE.JARRAY(I,J))WRITE(5,1030)DEV,JFILE,I,J,
1 IARRAY(I,J),JARRAY(I,J),IMAX,JMAX
GO TO 9999
C END= COMES HERE
840 WRITE(5,1070)
WRITE(5, 990)DEV
WRITE(5, 1040)IMAX,JMAX
WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
841 WRITE(5,1070)
WRITE(5, 990)DEV
WRITE(5,1050)IMAX,JMAX
WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
842 WRITE(5,1070)
WRITE(5, 990)DEV
WRITE(5,1060)IMAX,JMAX
WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
C ERR= COMES HERE
850 WRITE(5,1070)
WRITE(5, 1000)DEV
WRITE(5, 1040)IMAX,JMAX
WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
851 WRITE(5,1070)
WRITE(5, 1000)DEV
WRITE(5,1050)IMAX,JMAX
WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
852 WRITE(5,1070)
WRITE(5, 1000)DEV
WRITE(5,1060)IMAX,JMAX
WRITE(5,1010)JFILE,I,J,JARRAY(I,J)
GO TO 9999
910 FORMAT(I5,(10I5))
920 FORMAT(' ***** ***** BACKSPACE FILES ON',A5,'FAILED'/
1 13X,'FILE',I5,'FOUND, FILE',I5,'EXPECTED.')
930 FORMAT(' ***** ***** REWIND DIDNOT END UP AT FIRST
1 FILE ON ',A5)
940 FORMAT(' ***** ***** SKIP RECORD PROBLEM ON ',A5)
950 FORMAT(' I=',I5,' BACKSPACE')
951 FORMAT(' OK, READ')
952 FORMAT(' IFL=',I5,'I=',I5,'JFILE=',I5,'ARRAY=',I5)
960 FORMAT(' NOW=',I5)
961 FORMAT(' 500 LOOP DONE, IMAX=',I5,' I=',I5,' J=',I5)
962 FORMAT(' 820 DONE, K= ',I5)
970 FORMAT(' ***** ***** SKIP FILE ERROR ON',A5,/
1 T13,'EXPECTED FILE NUMBER',I5,/
2 T13,'FOUND FILE NUMBER ',I5)
980 FORMAT(' ***** ***** FORTRAN SKIP FILE MTA ERROR ON ',A5/
1 T13,'WHILE READING FILE NUMBER ',I5/
2 T13,' DURING ARRAY READ, COMPARING INPUT WITH ARRAY WRITTEN'/
3 T13,'RECORD ',I5,'ITEM ',I5/
4 T13,'EXPECTED VALUE ',I5,'FOUND 'I5/
5 T13,'ARRAY IS',I5,' BY',I5/' ***** *****')
990 FORMAT(' "END=" ON ',A5)
1000 FORMAT(' "ERR=" ON ',A5)
1010 FORMAT(' FILE NUMBER',I5/
1 ' RECORD',I5,' ITEM',I5,' VALUE',I5)
1020 FORMAT(' +++++TEST MTABKR.FOR MAGTAPE BACKSPACE RECORD
1 TEST+++++'/
2 ' ***** ***** BACKSPACE SINGLE RECORD FAILED ON DEVICE,',
1 A5/T13,'FILE',I5,' RECORD',I5,' ITEM',I5/
2 T13,' RECORD COMPARE EXPECTED',I5,' FOUND',I5/
3 T13,' FILE IS ARRAY',I5,' BY',I5/' ***** *****')
1030 FORMAT(' +++++TEST MTABKR.FOR MAGTAPE BACKSPACE RECORD+++++'/
1 ' ***** ***** BACKSPACE MULTIPLE RECORDS FAILED ON',A5/
1 T13,' FILE',I5,' RECORD',I5,' ITEM',I5/
2 T13,' RECORD COMPARE EXPECTED',I5,' FOUND',I5/
3 T13,' FILE IS',I5,' BY',I5,' ARRAY'/' ***** *****')
1040 FORMAT(' DURING SEQUENTIAL READS,RECORD MAX=,',I5,'ITEM MAX=',I5)
1050 FORMAT(' DURING BACKSPACE, READ, BACKSPACE'/' RECORD MAX=',I5,
1 ' ITEM MAX=',I5)
1060 FORMAT(' DURING BACKSPACE',I5,' TIMES FOLLOWED BY'/' READ OF
1 ONE RECORD CONTAINING',I5,' ITEMS')
1070 FORMAT(' +++++TEST MTABKR.FOR MAGTAPE BACKSPACE RECORD
1 TEST+++++')
9999 END