blob: 0ef030f61b9cade16f3df42bf2cf8daf3ff7c0de [file] [log] [blame]
PROGRAM FM701 00010701
C 00020701
C THIS ROUTINE TESTS ARRAY DECLARATORS WHERE DIMENSION ANS REF.00030701
C BOUND EXPRESSIONS MAY CONTAIN CONSTANTS, 5.1.1.2 00040701
C SYMBOLIC NAMES OF CONSTANTS, OR VARIABLES 5.1.1 00050701
C OF TYPE INTEGER. 00060701
C 00070701
C THIS ROUTINE USES ROUTINES 602 THROUGH 609 AS SUBROUTINES. 00080701
C 00090701
C 00100701
CBB** ********************** BBCCOMNT **********************************00110701
C**** 00120701
C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130701
C**** VERSION 2.1 00140701
C**** 00150701
C**** 00160701
C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170701
C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00180701
C**** SOFTWARE STANDARDS VALIDATION GROUP 00190701
C**** BUILDING 225 RM A266 00200701
C**** GAITHERSBURG, MD 20899 00210701
C**** 00220701
C**** 00230701
C**** 00240701
CBE** ********************** BBCCOMNT **********************************00250701
IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00260701
IMPLICIT CHARACTER*27 (C) 00270701
CBB** ********************** BBCINITA **********************************00280701
C**** SPECIFICATION STATEMENTS 00290701
C**** 00300701
CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00310701
1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00320701
CBE** ********************** BBCINITA **********************************00330701
C 00340701
INTEGER I2D001(3,5), I2D002(2,4), I2D003(5,2) 00350701
PARAMETER (IPN001=1, IPN002=-1, IPN003=4) 00360701
DIMENSION I2N004(IPN001:2,3), I2N005(2,-1:IPN001), 00370701
1 I2N006(IPN002:IPN001,1:IPN003) 00380701
DIMENSION I2N007(+5:7,+1:2), I2N008(0:2,2), I2N009(1:3,-1:1), 00390701
1 I2N010(4,2), I2N011(2*2+1:7,1:2) 00400701
DIMENSION I2N012(1:+2,2:+4), I2N013(-2:0,2), I2D014(1:3,-3:-1), 00410701
1 I2N015(1:2*2+1,1:2), I2N016(2,6/3-1:2*5-7) 00420701
CHARACTER*4 CVCOMP, CVCORR 00430701
CHARACTER*4 C2N001(0:5,1:6), C2D002(2,1:3), C2N003(-2:1,3:10), 00440701
1 C2D004(1:2,5:7), C1N005(+1:6),C3D006(1:2,2,5:7) 00450701
DATA I2D001 / 12*0, -47, 2*0 / 00460701
DATA I2D002 / 6*0, 5, 0 / 00470701
DATA I2D003 / 6, 8*0, -11 / 00480701
DATA I2N004 / -4, 5*4 / 00490701
DATA I2N005 / -5, 5*5 / 00500701
DATA I2N006 / 6*6, -6, 5*6 / 00510701
DATA I2N007 / 3*7, -7, 2*7 / 00520701
DATA I2N008 / -8, 5*8 / 00530701
DATA I2N009 / 2*9, -9, 6*9 / 00540701
DATA I2N010 / -10, 7*10 / 00550701
DATA I2N011 / 3*11, -11, 2*11 / 00560701
DATA I2N012 / 7, 5*-7 / 00570701
DATA I2N013 / 8, 5*-8 / 00580701
DATA I2D014 / 9, 8*-9 / 00590701
DATA I2N015 / 9*-10, 10 / 00600701
DATA I2N016 / 11, 4*-11, -10 / 00610701
DATA C2N001 / 'C001', 35*' ' / 00620701
DATA C2D002 / 5*' ', 'C002' / 00630701
DATA C2N003 / 'C003', 31*' ' / 00640701
DATA C2D004 / 'C004', 5*' ' / 00650701
DATA C1N005 / 'C005', 5*' ' / 00660701
DATA C3D006 / 'C006', 11*' ' / 00670701
C 00680701
C 00690701
CBB** ********************** BBCINITB **********************************00700701
C**** INITIALIZE SECTION 00710701
DATA ZVERS, ZVERSD, ZDATE 00720701
1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00730701
DATA ZCOMPL, ZNAME, ZTAPE 00740701
1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00750701
DATA ZPROJ, ZTAPED, ZPROG 00760701
1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00770701
DATA REMRKS /' '/ 00780701
C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00790701
C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00800701
C**** 00810701
CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00820701
CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00830701
CZ03 ZPROG = 'PROGRAM NAME' 00840701
CZ04 ZDATE = 'DATE OF TEST' 00850701
CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00860701
CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00870701
CZ07 ZNAME = 'NAME OF USER' 00880701
CZ08 ZTAPE = 'TAPE OWNER/ID' 00890701
CZ09 ZTAPED = 'DATE TAPE COPIED' 00900701
C 00910701
IVPASS = 0 00920701
IVFAIL = 0 00930701
IVDELE = 0 00940701
IVINSP = 0 00950701
IVTOTL = 0 00960701
IVTOTN = 0 00970701
ICZERO = 0 00980701
C 00990701
C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 01000701
I01 = 05 01010701
C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 01020701
I02 = 06 01030701
C 01040701
CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 01050701
C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 01060701
CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 01070701
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 01080701
C 01090701
CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 01100701
C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 01110701
CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 01120701
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 01130701
C 01140701
CBE** ********************** BBCINITB **********************************01150701
ZPROG='FM701' 01160701
IVTOTL = 35 01170701
CBB** ********************** BBCHED0A **********************************01180701
C**** 01190701
C**** WRITE REPORT TITLE 01200701
C**** 01210701
WRITE (I02, 90002) 01220701
WRITE (I02, 90006) 01230701
WRITE (I02, 90007) 01240701
WRITE (I02, 90008) ZVERS, ZVERSD 01250701
WRITE (I02, 90009) ZPROG, ZPROG 01260701
WRITE (I02, 90010) ZDATE, ZCOMPL 01270701
CBE** ********************** BBCHED0A **********************************01280701
CBB** ********************** BBCHED0B **********************************01290701
C**** WRITE DETAIL REPORT HEADERS 01300701
C**** 01310701
WRITE (I02,90004) 01320701
WRITE (I02,90004) 01330701
WRITE (I02,90013) 01340701
WRITE (I02,90014) 01350701
WRITE (I02,90015) IVTOTL 01360701
CBE** ********************** BBCHED0B **********************************01370701
C 01380701
C TESTS 1-3 - LOWER AND/OR UPPER BOUNDS ARE ARITHMETIC EXPRESSIONS 01390701
C OF TYPE INTEGER, USING VARIABLES 01400701
C 01410701
C 01420701
CT001* TEST 001 **** FCVS PROGRAM 701 **** 01430701
C 01440701
C TEST 001 LOWER BOUND 01450701
C 01460701
IVTNUM = 1 01470701
IVCORR = -47 01480701
CALL SN702(1,1,2,6,I2D001,I2D002,I2D003,IVCOMP) 01490701
40010 IF (IVCOMP + 47) 20010, 10010, 20010 01500701
10010 IVPASS = IVPASS + 1 01510701
WRITE (I02,80002) IVTNUM 01520701
GO TO 0011 01530701
20010 IVFAIL = IVFAIL + 1 01540701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01550701
0011 CONTINUE 01560701
C 01570701
CT002* TEST 002 **** FCVS PROGRAM 701 **** 01580701
C 01590701
C TEST 002 UPPER BOUND 01600701
C 01610701
IVTNUM = 2 01620701
IVCORR = 5 01630701
CALL SN702(2,1,2,6,I2D001,I2D002,I2D003,IVCOMP) 01640701
40020 IF (IVCOMP - 5) 20020, 10020, 20020 01650701
10020 IVPASS = IVPASS + 1 01660701
WRITE (I02,80002) IVTNUM 01670701
GO TO 0021 01680701
20020 IVFAIL = IVFAIL + 1 01690701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01700701
0021 CONTINUE 01710701
C 01720701
CT003* TEST 003 **** FCVS PROGRAM 701 **** 01730701
C 01740701
C TEST 003 BOTH LOWER AND UPPER BOUNDS 01750701
C 01760701
IVTNUM = 3 01770701
IVCORR = 17 01780701
CALL SN702(3,1,2,6,I2D001,I2D002,I2D003,IVCOMP) 01790701
40030 IF (IVCOMP - 17) 20030, 10030, 20030 01800701
10030 IVPASS = IVPASS + 1 01810701
WRITE (I02,80002) IVTNUM 01820701
GO TO 0031 01830701
20030 IVFAIL = IVFAIL + 1 01840701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01850701
0031 CONTINUE 01860701
C 01870701
C TESTS 4-6 - LOWER AND/OR UPPER BOUNDS ARE SYMBOLIC NAMES 01880701
C OF INTEGER CONSTANTS 01890701
C 01900701
C 01910701
CT004* TEST 004 **** FCVS PROGRAM 701 **** 01920701
C 01930701
C TEST 004 LOWER BOUND 01940701
C 01950701
IVTNUM = 4 01960701
IVCOMP = 0 01970701
IVCORR = -4 01980701
IVCOMP = I2N004(1,1) 01990701
40040 IF (IVCOMP + 4) 20040, 10040, 20040 02000701
10040 IVPASS = IVPASS + 1 02010701
WRITE (I02,80002) IVTNUM 02020701
GO TO 0041 02030701
20040 IVFAIL = IVFAIL + 1 02040701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02050701
0041 CONTINUE 02060701
C 02070701
CT005* TEST 005 **** FCVS PROGRAM 701 **** 02080701
C 02090701
C TEST 005 UPPER BOUND 02100701
C 02110701
IVTNUM = 5 02120701
IVCOMP = 0 02130701
IVCORR = -5 02140701
IVCOMP = I2N005(1,-1) 02150701
40050 IF (IVCOMP + 5) 20050, 10050, 20050 02160701
10050 IVPASS = IVPASS + 1 02170701
WRITE (I02,80002) IVTNUM 02180701
GO TO 0051 02190701
20050 IVFAIL = IVFAIL + 1 02200701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02210701
0051 CONTINUE 02220701
C 02230701
CT006* TEST 006 **** FCVS PROGRAM 701 **** 02240701
C 02250701
C TEST 006 BOTH UPPER AND LOWER BOUNDS 02260701
C 02270701
IVTNUM = 6 02280701
IVCOMP = 0 02290701
IVCORR = -6 02300701
IVCOMP = I2N006(-1,3) 02310701
40060 IF (IVCOMP + 6) 20060, 10060, 20060 02320701
10060 IVPASS = IVPASS + 1 02330701
WRITE (I02,80002) IVTNUM 02340701
GO TO 0061 02350701
20060 IVFAIL = IVFAIL + 1 02360701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02370701
0061 CONTINUE 02380701
C 02390701
CT007* TEST 007 **** FCVS PROGRAM 701 **** 02400701
C 02410701
C TEST 007 LOWER BOUND POSITIVE 02420701
C 02430701
IVTNUM = 7 02440701
IVCOMP = 0 02450701
IVCORR = -7 02460701
IVCOMP = I2N007(5,2) 02470701
40070 IF (IVCOMP + 7) 20070, 10070, 20070 02480701
10070 IVPASS = IVPASS + 1 02490701
WRITE (I02,80002) IVTNUM 02500701
GO TO 0071 02510701
20070 IVFAIL = IVFAIL + 1 02520701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02530701
0071 CONTINUE 02540701
C 02550701
CT008* TEST 008 **** FCVS PROGRAM 701 **** 02560701
C 02570701
C TEST 008 LOWER BOUND ZERO 02580701
C 02590701
IVTNUM = 8 02600701
IVCOMP = 0 02610701
IVCORR = -8 02620701
IVCOMP = I2N008(0,1) 02630701
40080 IF (IVCOMP + 8) 20080, 10080, 20080 02640701
10080 IVPASS = IVPASS + 1 02650701
WRITE (I02,80002) IVTNUM 02660701
GO TO 0081 02670701
20080 IVFAIL = IVFAIL + 1 02680701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02690701
0081 CONTINUE 02700701
C 02710701
CT009* TEST 009 **** FCVS PROGRAM 701 **** 02720701
C 02730701
C TEST 009 LOWER BOUND NEGATIVE 02740701
C 02750701
IVTNUM = 9 02760701
IVCOMP = 0 02770701
IVCORR = -9 02780701
IVCOMP = I2N009(3,-1) 02790701
40090 IF (IVCOMP + 9) 20090, 10090, 20090 02800701
10090 IVPASS = IVPASS + 1 02810701
WRITE (I02,80002) IVTNUM 02820701
GO TO 0091 02830701
20090 IVFAIL = IVFAIL + 1 02840701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02850701
0091 CONTINUE 02860701
C 02870701
CT010* TEST 010 **** FCVS PROGRAM 701 **** 02880701
C 02890701
C TEST 010 LOWER BOUND OMITTED 02900701
C 02910701
IVTNUM = 10 02920701
IVCOMP = 0 02930701
IVCORR = -10 02940701
IVCOMP = I2N010(1,1) 02950701
40100 IF (IVCOMP + 10) 20100, 10100, 20100 02960701
10100 IVPASS = IVPASS + 1 02970701
WRITE (I02,80002) IVTNUM 02980701
GO TO 0101 02990701
20100 IVFAIL = IVFAIL + 1 03000701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03010701
0101 CONTINUE 03020701
C 03030701
CT011* TEST 011 **** FCVS PROGRAM 701 **** 03040701
C 03050701
C TEST 011 LOWER BOUND IS AN INTEGER EXPRESSION 03060701
C 03070701
IVTNUM = 11 03080701
IVCOMP = 0 03090701
IVCORR = -11 03100701
IVCOMP = I2N011(5,2) 03110701
40110 IF (IVCOMP + 11) 20110, 10110, 20110 03120701
10110 IVPASS = IVPASS + 1 03130701
WRITE (I02,80002) IVTNUM 03140701
GO TO 0111 03150701
20110 IVFAIL = IVFAIL + 1 03160701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03170701
0111 CONTINUE 03180701
C 03190701
CT012* TEST 012 **** FCVS PROGRAM 701 **** 03200701
C 03210701
C TEST 012 UPPER BOUND POSITIVE 03220701
C 03230701
IVTNUM = 12 03240701
IVCOMP = 0 03250701
IVCORR = 7 03260701
IVCOMP = I2N012(1,2) 03270701
40120 IF (IVCOMP - 7) 20120, 10120, 20120 03280701
10120 IVPASS = IVPASS + 1 03290701
WRITE (I02,80002) IVTNUM 03300701
GO TO 0121 03310701
20120 IVFAIL = IVFAIL + 1 03320701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03330701
0121 CONTINUE 03340701
C 03350701
CT013* TEST 013 **** FCVS PROGRAM 701 **** 03360701
C 03370701
C TEST 013 UPPER BOUND ZERO 03380701
C 03390701
IVTNUM = 13 03400701
IVCOMP = 0 03410701
IVCORR = 8 03420701
IVCOMP = I2N013(-2,1) 03430701
40130 IF (IVCOMP - 8) 20130, 10130, 20130 03440701
10130 IVPASS = IVPASS + 1 03450701
WRITE (I02,80002) IVTNUM 03460701
GO TO 0131 03470701
20130 IVFAIL = IVFAIL + 1 03480701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03490701
0131 CONTINUE 03500701
C 03510701
CT014* TEST 014 **** FCVS PROGRAM 701 **** 03520701
C 03530701
C TEST 014 UPPER BOUND NEGATIVE 03540701
C 03550701
IVTNUM = 14 03560701
IVCOMP = 0 03570701
IVCORR = 9 03580701
IVCOMP = I2D014(1,-3) 03590701
40140 IF (IVCOMP - 9) 20140, 10140, 20140 03600701
10140 IVPASS = IVPASS + 1 03610701
WRITE (I02,80002) IVTNUM 03620701
GO TO 0141 03630701
20140 IVFAIL = IVFAIL + 1 03640701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03650701
0141 CONTINUE 03660701
C 03670701
CT015* TEST 015 **** FCVS PROGRAM 701 **** 03680701
C 03690701
C TEST 015 UPPER BOUND IS INTEGER EXPRESSION 03700701
C 03710701
IVTNUM = 15 03720701
IVCOMP = 0 03730701
IVCORR = 10 03740701
IVCOMP = I2N015(5,2) 03750701
40150 IF (IVCOMP - 10) 20150, 10150, 20150 03760701
10150 IVPASS = IVPASS + 1 03770701
WRITE (I02,80002) IVTNUM 03780701
GO TO 0151 03790701
20150 IVFAIL = IVFAIL + 1 03800701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03810701
0151 CONTINUE 03820701
C 03830701
CT016* TEST 016 **** FCVS PROGRAM 701 **** 03840701
C 03850701
C TEST 016 UPPER BOUNDS ARE INTEGER EXPRESSIONS 03860701
C 03870701
IVTNUM = 16 03880701
IVCOMP = 0 03890701
IVCORR = -110 03900701
IVCOMP = I2N016(1,1)*I2N016(2,3) 03910701
40160 IF (IVCOMP + 110) 20160, 10160, 20160 03920701
10160 IVPASS = IVPASS + 1 03930701
WRITE (I02,80002) IVTNUM 03940701
GO TO 0161 03950701
20160 IVFAIL = IVFAIL + 1 03960701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03970701
0161 CONTINUE 03980701
C 03990701
CT017* TEST 017 **** FCVS PROGRAM 701 **** 04000701
C 04010701
C TEST 017 ZERO AS A DIMENSION 04020701
C 04030701
IVTNUM = 17 04040701
CVCOMP = ' ' 04050701
IVCOMP = 0 04060701
CVCORR = 'C001' 04070701
CVCOMP = C2N001(0,1) 04080701
IF (CVCOMP .EQ. 'C001') IVCOMP = 1 04090701
IF (IVCOMP - 1) 20170, 10170, 20170 04100701
10170 IVPASS = IVPASS + 1 04110701
WRITE (I02,80002) IVTNUM 04120701
GO TO 0171 04130701
20170 IVFAIL = IVFAIL + 1 04140701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04150701
0171 CONTINUE 04160701
C 04170701
CT018* TEST 018 **** FCVS PROGRAM 701 **** 04180701
C 04190701
C TEST 018 UPPER DIMENSION UNDEFINED IN THE SUBROUTINE 04200701
C 04210701
IVTNUM = 18 04220701
CVCOMP = ' ' 04230701
IVCOMP = 0 04240701
CVCORR = 'C002' 04250701
CALL SN703(1,1,2,C2D002,C2D004,CVCOMP) 04260701
IF (CVCOMP .EQ. 'C002') IVCOMP = 1 04270701
IF (IVCOMP - 1) 20180, 10180, 20180 04280701
10180 IVPASS = IVPASS + 1 04290701
WRITE (I02,80002) IVTNUM 04300701
GO TO 0181 04310701
20180 IVFAIL = IVFAIL + 1 04320701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04330701
0181 CONTINUE 04340701
C 04350701
CT019* TEST 019 **** FCVS PROGRAM 701 **** 04360701
C 04370701
C TEST 019 NEGATIVE DIMENSION 04380701
C 04390701
IVTNUM = 19 04400701
CVCOMP = ' ' 04410701
IVCOMP = 0 04420701
CVCORR = 'C003' 04430701
CVCOMP = C2N003(-2,3) 04440701
IF (CVCOMP .EQ. 'C003') IVCOMP = 1 04450701
IF (IVCOMP - 1) 20190, 10190, 20190 04460701
10190 IVPASS = IVPASS + 1 04470701
WRITE (I02,80002) IVTNUM 04480701
GO TO 0191 04490701
20190 IVFAIL = IVFAIL + 1 04500701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04510701
0191 CONTINUE 04520701
C 04530701
CT020* TEST 020 **** FCVS PROGRAM 701 **** 04540701
C 04550701
C TEST 020 VARIABLE DIMENSION 04560701
C 04570701
IVTNUM = 20 04580701
CVCOMP = ' ' 04590701
IVCOMP = 0 04600701
CVCORR = 'C004' 04610701
CALL SN703(2,1,2,C2D002,C2D004,CVCOMP) 04620701
IF (CVCOMP .EQ. 'C004') IVCOMP = 1 04630701
IF (IVCOMP - 1) 20200, 10200, 20200 04640701
10200 IVPASS = IVPASS + 1 04650701
WRITE (I02,80002) IVTNUM 04660701
GO TO 0201 04670701
20200 IVFAIL = IVFAIL + 1 04680701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04690701
0201 CONTINUE 04700701
C 04710701
CT021* TEST 021 **** FCVS PROGRAM 701 **** 04720701
C 04730701
C TEST 021 POSITIVE DIMENSION 04740701
C 04750701
IVTNUM = 21 04760701
CVCOMP = ' ' 04770701
IVCOMP = 0 04780701
CVCORR = 'C005' 04790701
CVCOMP = C1N005(1) 04800701
IF (CVCOMP .EQ. 'C005') IVCOMP = 1 04810701
IF (IVCOMP - 1) 20210, 10210, 20210 04820701
10210 IVPASS = IVPASS + 1 04830701
WRITE (I02,80002) IVTNUM 04840701
GO TO 0211 04850701
20210 IVFAIL = IVFAIL + 1 04860701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04870701
0211 CONTINUE 04880701
C 04890701
C TESTS 22-25 - MIXED DIMENSION BOUNDS WITH VARIABLE NUMBER OF 04900701
C ELEMENTS IN EACH DIMENSION 04910701
C 04920701
C 04930701
CT022* TEST 022 **** FCVS PROGRAM 701 **** 04940701
C 04950701
C 04960701
IVTNUM = 22 04970701
CVCOMP = ' ' 04980701
IVCOMP = 0 04990701
CVCORR = 'C006' 05000701
CALL SN704(1,1,2,5,C3D006,CVCOMP) 05010701
IF (CVCOMP .EQ. 'C006') IVCOMP = 1 05020701
IF (IVCOMP - 1) 20220, 10220, 20220 05030701
10220 IVPASS = IVPASS + 1 05040701
WRITE (I02,80002) IVTNUM 05050701
GO TO 0221 05060701
20220 IVFAIL = IVFAIL + 1 05070701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05080701
0221 CONTINUE 05090701
C 05100701
CT023* TEST 023 **** FCVS PROGRAM 701 **** 05110701
C 05120701
C 05130701
IVTNUM = 23 05140701
CVCOMP = ' ' 05150701
IVCOMP = 0 05160701
CVCORR = 'IJKL' 05170701
CALL SN704(2,1,2,6,C3D006,CVCOMP) 05180701
IF (CVCOMP .EQ. 'IJKL') IVCOMP = 1 05190701
IF (IVCOMP - 1) 20230, 10230, 20230 05200701
10230 IVPASS = IVPASS + 1 05210701
WRITE (I02,80002) IVTNUM 05220701
GO TO 0231 05230701
20230 IVFAIL = IVFAIL + 1 05240701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05250701
0231 CONTINUE 05260701
C 05270701
CT024* TEST 024 **** FCVS PROGRAM 701 **** 05280701
C 05290701
C 05300701
IVTNUM = 24 05310701
CVCOMP = ' ' 05320701
IVCOMP = 0 05330701
CVCORR = 'EFGH' 05340701
CALL SN704(3,1,1,5,C3D006,CVCOMP) 05350701
IF (CVCOMP .EQ. 'EFGH') IVCOMP = 1 05360701
IF (IVCOMP - 1) 20240, 10240, 20240 05370701
10240 IVPASS = IVPASS + 1 05380701
WRITE (I02,80002) IVTNUM 05390701
GO TO 0241 05400701
20240 IVFAIL = IVFAIL + 1 05410701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05420701
0241 CONTINUE 05430701
C 05440701
CT025* TEST 025 **** FCVS PROGRAM 701 **** 05450701
C 05460701
C 05470701
IVTNUM = 25 05480701
CVCOMP = ' ' 05490701
IVCOMP = 0 05500701
CVCORR = 'ABCD' 05510701
CALL SN704(4,2,2,6,C3D006,CVCOMP) 05520701
IF (CVCOMP .EQ. 'ABCD') IVCOMP = 1 05530701
IF (IVCOMP - 1) 20250, 10250, 20250 05540701
10250 IVPASS = IVPASS + 1 05550701
WRITE (I02,80002) IVTNUM 05560701
GO TO 0251 05570701
20250 IVFAIL = IVFAIL + 1 05580701
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05590701
0251 CONTINUE 05600701
C 05610701
C TESTS 26-28 - LOWER BOUND IS AN EXPRESSION INVOLVING 05620701
C ARITHMETIC OPERATORS 05630701
C 05640701
C 05650701
CT026* TEST 026 **** FCVS PROGRAM 701 **** 05660701
C 05670701
C 05680701
IVTNUM = 26 05690701
IVCORR = -47 05700701
CALL SN705(1,2,-1,1,I2D001,I2D002,I2D003,IVCOMP) 05710701
40260 IF (IVCOMP + 47) 20260, 10260, 20260 05720701
10260 IVPASS = IVPASS + 1 05730701
WRITE (I02,80002) IVTNUM 05740701
GO TO 0261 05750701
20260 IVFAIL = IVFAIL + 1 05760701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05770701
0261 CONTINUE 05780701
C 05790701
CT027* TEST 027 **** FCVS PROGRAM 701 **** 05800701
C 05810701
C 05820701
IVTNUM = 27 05830701
IVCORR = 5 05840701
CALL SN705(2,2,-1,1,I2D001,I2D002,I2D003,IVCOMP) 05850701
40270 IF (IVCOMP - 5) 20270, 10270, 20270 05860701
10270 IVPASS = IVPASS + 1 05870701
WRITE (I02,80002) IVTNUM 05880701
GO TO 0271 05890701
20270 IVFAIL = IVFAIL + 1 05900701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05910701
0271 CONTINUE 05920701
C 05930701
CT028* TEST 028 **** FCVS PROGRAM 701 **** 05940701
C 05950701
C 05960701
IVTNUM = 28 05970701
IVCORR = 17 05980701
CALL SN705(3,2,-1,1,I2D001,I2D002,I2D003,IVCOMP) 05990701
40280 IF (IVCOMP - 17) 20280, 10280, 20280 06000701
10280 IVPASS = IVPASS + 1 06010701
WRITE (I02,80002) IVTNUM 06020701
GO TO 0281 06030701
20280 IVFAIL = IVFAIL + 1 06040701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06050701
0281 CONTINUE 06060701
C 06070701
C TESTS 29-31 - UPPER BOUND IS AN EXPRESSION INVOLVING 06080701
C ARITHMETIC OPERATORS 06090701
C 06100701
C 06110701
CT029* TEST 029 **** FCVS PROGRAM 701 **** 06120701
C 06130701
C 06140701
IVTNUM = 29 06150701
IVCORR = -47 06160701
CALL SN706(1,4,0,3,I2D001,I2D002,I2D003,IVCOMP) 06170701
40290 IF (IVCOMP + 47) 20290, 10290, 20290 06180701
10290 IVPASS = IVPASS + 1 06190701
WRITE (I02,80002) IVTNUM 06200701
GO TO 0291 06210701
20290 IVFAIL = IVFAIL + 1 06220701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06230701
0291 CONTINUE 06240701
C 06250701
CT030* TEST 030 **** FCVS PROGRAM 701 **** 06260701
C 06270701
C 06280701
IVTNUM = 30 06290701
IVCORR = 5 06300701
CALL SN706(2,4,0,3,I2D001,I2D002,I2D003,IVCOMP) 06310701
40300 IF (IVCOMP - 5) 20300, 10300, 20300 06320701
10300 IVPASS = IVPASS + 1 06330701
WRITE (I02,80002) IVTNUM 06340701
GO TO 0301 06350701
20300 IVFAIL = IVFAIL + 1 06360701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06370701
0301 CONTINUE 06380701
C 06390701
CT031* TEST 031 **** FCVS PROGRAM 701 **** 06400701
C 06410701
C 06420701
IVTNUM = 31 06430701
IVCORR = 17 06440701
CALL SN706(3,4,0,3,I2D001,I2D002,I2D003,IVCOMP) 06450701
40310 IF (IVCOMP - 17) 20310, 10310, 20310 06460701
10310 IVPASS = IVPASS + 1 06470701
WRITE (I02,80002) IVTNUM 06480701
GO TO 0311 06490701
20310 IVFAIL = IVFAIL + 1 06500701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06510701
0311 CONTINUE 06520701
C 06530701
CT032* TEST 032 **** FCVS PROGRAM 701 **** 06540701
C 06550701
C TEST 032 "/" IN LOWER BOUND 06560701
C 06570701
IVTNUM = 32 06580701
IVCORR = -47 06590701
CALL SN707(1,3,2,I2D001,I2D002,IVCOMP) 06600701
40320 IF (IVCOMP + 47) 20320, 10320, 20320 06610701
10320 IVPASS = IVPASS + 1 06620701
WRITE (I02,80002) IVTNUM 06630701
GO TO 0321 06640701
20320 IVFAIL = IVFAIL + 1 06650701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06660701
0321 CONTINUE 06670701
C 06680701
CT033* TEST 033 **** FCVS PROGRAM 701 **** 06690701
C 06700701
C TEST 033 "**" IN UPPER BOUND 06710701
C 06720701
IVTNUM = 33 06730701
IVCORR = 5 06740701
CALL SN707(2,3,2,I2D001,I2D002,IVCOMP) 06750701
40330 IF (IVCOMP - 5) 20330, 10330, 20330 06760701
10330 IVPASS = IVPASS + 1 06770701
WRITE (I02,80002) IVTNUM 06780701
GO TO 0331 06790701
20330 IVFAIL = IVFAIL + 1 06800701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06810701
0331 CONTINUE 06820701
C 06830701
C TESTS 34-35 - UPPER AND LOWER BOUNDS WITH ARITHMETIC OPERATORS 06840701
C IN EXPRESSION 06850701
C 06860701
C 06870701
CT034* TEST 034 **** FCVS PROGRAM 701 **** 06880701
C 06890701
C 06900701
IVTNUM = 34 06910701
IVCORR = -47 06920701
CALL SN708(3,-2,2,I2D001,IVCOMP) 06930701
40340 IF (IVCOMP + 47) 20340, 10340, 20340 06940701
10340 IVPASS = IVPASS + 1 06950701
WRITE (I02,80002) IVTNUM 06960701
GO TO 0341 06970701
20340 IVFAIL = IVFAIL + 1 06980701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06990701
0341 CONTINUE 07000701
C 07010701
CT035* TEST 035 **** FCVS PROGRAM 701 **** 07020701
C 07030701
C 07040701
IVTNUM = 35 07050701
IVCORR = 9 07060701
CALL SN709(-1,-2,1,I2D014,IVCOMP) 07070701
40350 IF (IVCOMP - 9) 20350, 10350, 20350 07080701
10350 IVPASS = IVPASS + 1 07090701
WRITE (I02,80002) IVTNUM 07100701
GO TO 0351 07110701
20350 IVFAIL = IVFAIL + 1 07120701
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07130701
0351 CONTINUE 07140701
C 07150701
CBB** ********************** BBCSUM0 **********************************07160701
C**** WRITE OUT TEST SUMMARY 07170701
C**** 07180701
IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 07190701
WRITE (I02, 90004) 07200701
WRITE (I02, 90014) 07210701
WRITE (I02, 90004) 07220701
WRITE (I02, 90020) IVPASS 07230701
WRITE (I02, 90022) IVFAIL 07240701
WRITE (I02, 90024) IVDELE 07250701
WRITE (I02, 90026) IVINSP 07260701
WRITE (I02, 90028) IVTOTN, IVTOTL 07270701
CBE** ********************** BBCSUM0 **********************************07280701
CBB** ********************** BBCFOOT0 **********************************07290701
C**** WRITE OUT REPORT FOOTINGS 07300701
C**** 07310701
WRITE (I02,90016) ZPROG, ZPROG 07320701
WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 07330701
WRITE (I02,90019) 07340701
CBE** ********************** BBCFOOT0 **********************************07350701
90001 FORMAT (" ",56X,"FM701") 07360701
90000 FORMAT (" ",50X,"END OF PROGRAM FM701" ) 07370701
CBB** ********************** BBCFMT0A **********************************07380701
C**** FORMATS FOR TEST DETAIL LINES 07390701
C**** 07400701
80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 07410701
80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 07420701
80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 07430701
80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 07440701
80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 07450701
1I6,/," ",15X,"CORRECT= " ,I6) 07460701
80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07470701
1E12.5,/," ",16X,"CORRECT= " ,E12.5) 07480701
80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07490701
1A21,/," ",16X,"CORRECT= " ,A21) 07500701
80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 07510701
80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 07520701
80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 07530701
80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 07540701
80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 07550701
80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 07560701
80050 FORMAT (" ",48X,A31) 07570701
CBE** ********************** BBCFMT0A **********************************07580701
CBB** ********************** BBCFMAT1 **********************************07590701
C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 07600701
C**** 07610701
80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07620701
1D17.10,/," ",16X,"CORRECT= " ,D17.10) 07630701
80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 07640701
80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 07650701
80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 07660701
80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 07670701
80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 07680701
80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 07690701
80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07700701
1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 07710701
2"(",F12.5,", ",F12.5,")") 07720701
CBE** ********************** BBCFMAT1 **********************************07730701
CBB** ********************** BBCFMT0B **********************************07740701
C**** FORMAT STATEMENTS FOR PAGE HEADERS 07750701
C**** 07760701
90002 FORMAT ("1") 07770701
90004 FORMAT (" ") 07780701
90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )07790701
90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 07800701
90008 FORMAT (" ",21X,A13,A17) 07810701
90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 07820701
90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 07830701
90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 07840701
1 7X,"REMARKS",24X) 07850701
90014 FORMAT (" ","----------------------------------------------" , 07860701
1 "---------------------------------" ) 07870701
90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 07880701
C**** 07890701
C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 07900701
C**** 07910701
90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 07920701
90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 07930701
1 A13) 07940701
90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 07950701
C**** 07960701
C**** FORMAT STATEMENTS FOR RUN SUMMARY 07970701
C**** 07980701
90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 07990701
90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 08000701
90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 08010701
90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 08020701
90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 08030701
CBE** ********************** BBCFMT0B **********************************08040701
END 08050701
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010702
C 00020702
C THIS SUBROUTINE TESTS DIMENSION BOUND EXPRESSIONS 00030702
C CONTAINING VARIABLES OF TYPE INTEGER. 00040702
C 00050702
SUBROUTINE SN702(IVD001,IVD002,IVD003,IVD004,I2D001,I2D002,I2D003,00060702
1 IVD005) 00070702
C 00080702
DIMENSION I2D001(IVD002:3,1:5), I2D002(2,1:2*IVD003), 00090702
1 I2D003(IVD004/3 - 1 : IVD002 + 4, 1:2) 00100702
C 00110702
IF (IVD001 - 2) 70010, 70020, 70030 00120702
70010 IVD005 = I2D001(1,5) 00130702
RETURN 00140702
70020 IVD005 = I2D002(1,4) 00150702
RETURN 00160702
70030 IVD005 = I2D003(1,1) - I2D003(5,2) 00170702
RETURN 00180702
END 00190702
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010703
C 00020703
C THIS SUBROUTINE TESTS ASSUMED-SIZE ARRAY DECLARATORS 00030703
C AND ADJUSTABLE ARRAY DECLARATORS. 00040703
C 00050703
SUBROUTINE SN703(IVD001,IVD002,IVD003,C2D001,C2D002,CVD001) 00060703
C 00070703
CHARACTER*4 CVD001, C2D001(2,1:*), C2D002(IVD002:IVD003,5:7) 00080703
C 00090703
IF (IVD001 - 1) 70010, 70010, 70020 00100703
70010 CVD001 = C2D001(2,3) 00110703
RETURN 00120703
70020 CVD001 = C2D002(1,5) 00130703
RETURN 00140703
END 00150703
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010704
C 00020704
C THIS SUBROUTINE TESTS ADJUSTABLE ARRAY DECLARATORS. 00030704
C 00040704
SUBROUTINE SN704(IVD001,IVD002,IVD003,IVD004,C3D001,CVD001) 00050704
C 00060704
CHARACTER*4 CVD001, C3D001(IVD002:IVD003,2,IVD004:7) 00070704
C 00080704
IF (IVD001 - 2) 70010, 70020, 70030 00090704
70010 CVD001 = C3D001(1,1,5) 00100704
RETURN 00110704
70020 C3D001(1,2,6) = 'IJKL' 00120704
CVD001 = C3D001(1,2,6) 00130704
RETURN 00140704
70030 IF (IVD001 - 3) 70040, 70040, 70050 00150704
70040 C3D001(1,1,5) = 'EFGH' 00160704
CVD001 = C3D001(1,1,5) 00170704
RETURN 00180704
70050 C3D001(2,2,6) = 'ABCD' 00190704
CVD001 = C3D001(2,2,6) 00200704
RETURN 00210704
END 00220704
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010705
C 00020705
C THIS SUBROUTINE TESTS ARRAY DECLARATORS WHERE THE LOWER BOUNDS 00030705
C CONTAIN ARITHMETIC EXPRESSIONS OF TYPE 00040705
C INTEGER. 00050705
C 00060705
SUBROUTINE SN705(IVD001,IVD002,IVD003,IVD004,I2D001,I2D002,I2D003,00070705
1 IVD005) 00080705
C 00090705
DIMENSION I2D001(IVD002-1:3,1:5),I2D002(IVD003+2:2,1:4), 00100705
1 I2D003(2*IVD004-1:5,2) 00110705
C 00120705
IF (IVD001 - 2) 70010, 70020, 70030 00130705
70010 IVD005 = I2D001(1,5) 00140705
RETURN 00150705
70020 IVD005 = I2D002(1,4) 00160705
RETURN 00170705
70030 IVD005 = I2D003(1,1) - I2D003(5,2) 00180705
RETURN 00190705
END 00200705
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010706
C 00020706
C THIS SUBROUTINE TESTS ARRAY DECLARATORS WHERE THE UPPER BOUNDS 00030706
C CONTAIN ARITHMETIC EXPRESSIONS OF TYPE 00040706
C INTEGER. 00050706
C 00060706
SUBROUTINE SN706(IVD001,IVD002,IVD003,IVD004,I2D001,I2D002,I2D003,00070706
1 IVD005) 00080706
C 00090706
DIMENSION I2D001(1:IVD002-1,1:5),I2D002(1:IVD003+2,1:4), 00100706
1 I2D003(1:2*IVD004-1,2) 00110706
C 00120706
IF (IVD001 - 2) 70010, 70020, 70030 00130706
70010 IVD005 = I2D001(1,5) 00140706
RETURN 00150706
70020 IVD005 = I2D002(1,4) 00160706
RETURN 00170706
70030 IVD005 = I2D003(1,1) - I2D003(5,2) 00180706
RETURN 00190706
END 00200706
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010707
C 00020707
C THIS SUBROUTINE TESTS ARRAY DECLARATORS WHERE BOUND EXPRESSIONS 00030707
C MAY CONTAIN DIVISION OPERATORS OR 00040707
C EXPONENTIATION OPERATORS. 00050707
C 00060707
SUBROUTINE SN707(IVD001,IVD002,IVD003,I2D001,I2D002,IVD004) 00070707
C 00080707
DIMENSION I2D001(IVD002/3:3,1:5),I2D002(1:2,1:IVD003**2) 00090707
C 00100707
IF (IVD001 - 1) 70010, 70010, 70020 00110707
70010 IVD004 = I2D001(1,5) 00120707
RETURN 00130707
70020 IVD004 = I2D002(1,4) 00140707
RETURN 00150707
END 00160707
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010708
C 00020708
C THIS SUBROUTINE TESTS ARRAY DECLARATORS WHERE BOTH THE LOWER 00030708
C AND UPPER BOUNDS CONTAIN ARITHMETIC 00040708
C EXPRESSIONS OF TYPE INTEGER. 00050708
C 00060708
SUBROUTINE SN708(IVD001,IVD002,IVD003,I2D001,IVD004) 00070708
C 00080708
DIMENSION I2D001(IVD001/3:IVD001,IVD002+3 : 4*(2*IVD003-1)/3 + 1) 00090708
C 00100708
IVD004 = I2D001(1,5) 00110708
RETURN 00120708
END 00130708
C THIS SUBROUTINE IS TO BE RUN WITH ROUTINE 701. 00010709
C 00020709
C THIS SUBROUTINE TESTS ARRAY DECLARATORS WHERE THE BOUND 00030709
C EXPRESSIONS CONTAIN SYMBOLIC NAMES 00040709
C OF CONSTANTS OR VARIABLES OF TYPE 00050709
C INTEGER. 00060709
C 00070709
SUBROUTINE SN709(IVD001,IVD002,IVD003,I2D001,IVD005) 00080709
C 00090709
PARAMETER (IPN001=-3) 00100709
DIMENSION I2D001(IPN001+4:(2*IVD003 + 1),IPN001:(1-IVD001)/IVD002)00110709
C 00120709
IVD005 = I2D001(1,-3) 00130709
RETURN 00140709
END 00150709