|
|
1.1 ! root 1: PROGRAM FM710 00010710 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C 00020710 ! 6: C THIS ROUTINE TESTS SUBSCRIPT EXPRESSIONS AND ANS REF. 00030710 ! 7: C CHARACTER SUBSTRINGS. 5.4.2, 5.4.300040710 ! 8: C 5.7.1, 5.7.200050710 ! 9: C 00060710 ! 10: C THIS ROUTINE ASSUMES THE INTRINSIC FUNCTIONS 00070710 ! 11: C INT AND IABS ARE WORKING. 00080710 ! 12: C 00090710 ! 13: CBB** ********************** BBCCOMNT **********************************00100710 ! 14: C**** 00110710 ! 15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120710 ! 16: C**** VERSION 2.0 00130710 ! 17: C**** 00140710 ! 18: C**** 00150710 ! 19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160710 ! 20: C**** GENERAL SERVICES ADMINISTRATION 00170710 ! 21: C**** FEDERAL SOFTWARE TESTING CENTER 00180710 ! 22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190710 ! 23: C**** FALLS CHURCH, VA. 22041 00200710 ! 24: C**** 00210710 ! 25: C**** (703) 756-6153 00220710 ! 26: C**** 00230710 ! 27: CBE** ********************** BBCCOMNT **********************************00240710 ! 28: IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00250710 ! 29: IMPLICIT CHARACTER*27 (C) 00260710 ! 30: CBB** ********************** BBCINITA **********************************00270710 ! 31: C**** SPECIFICATION STATEMENTS 00280710 ! 32: C**** 00290710 ! 33: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00300710 ! 34: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00310710 ! 35: CBE** ********************** BBCINITA **********************************00320710 ! 36: C 00330710 ! 37: DIMENSION I2N001(2,3), I2N002(3,5), I1N003(-1:8), I2N004(10,4) 00340710 ! 38: CHARACTER*10 CVCOMP, CVCORR, CVN001, C2N001(2,4) 00350710 ! 39: DATA I2N001 /1,2,3,4,5,6/ 00360710 ! 40: DATA I2N002 /11,21,31,12,22,32,13,23,33,14,24,34,15,25,35/ 00370710 ! 41: DATA I1N003 /1,2,3,4,5,6,7,8,9,10/ 00380710 ! 42: DATA I2N004 / 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 00390710 ! 43: 1 4,-2, 6,-3, 8,-4,10,-5, 2,-1, 00400710 ! 44: 2 1, 3, 5, 7, 9, 2, 4, 6, 8, 10, 00410710 ! 45: 3 -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 / 00420710 ! 46: DATA C2N001 /'11FIRSTELE','21SECONDXX','12THIRDXYZ','22FOURTHWW', 00430710 ! 47: 1 '13FIFTHABC','23SIXTHIJK','14SEVENTHH','24EIGHTHUV'/ 00440710 ! 48: C 00450710 ! 49: C 00460710 ! 50: CBB** ********************** BBCINITB **********************************00470710 ! 51: C**** INITIALIZE SECTION 00480710 ! 52: DATA ZVERS, ZVERSD, ZDATE 00490710 ! 53: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00500710 ! 54: DATA ZCOMPL, ZNAME, ZTAPE 00510710 ! 55: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00520710 ! 56: DATA ZPROJ, ZTAPED, ZPROG 00530710 ! 57: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00540710 ! 58: DATA REMRKS /' '/ 00550710 ! 59: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00560710 ! 60: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00570710 ! 61: C**** 00580710 ! 62: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00590710 ! 63: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00600710 ! 64: CZ03 ZPROG = 'PROGRAM NAME' 00610710 ! 65: ZDATE = '07-Nov-85 ' *RP ! 66: ZCOMPL = 'CCI 5.2 ' *RP ! 67: ZPROJ = 'TC-85- -410' *RP ! 68: ZNAME = ' ' *RP ! 69: ZTAPE = ' ' *RP ! 70: ZTAPED = '850703 ' *RP ! 71: C 00680710 ! 72: IVPASS = 0 00690710 ! 73: IVFAIL = 0 00700710 ! 74: IVDELE = 0 00710710 ! 75: IVINSP = 0 00720710 ! 76: IVTOTL = 0 00730710 ! 77: IVTOTN = 0 00740710 ! 78: ICZERO = 0 00750710 ! 79: C 00760710 ! 80: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00770710 ! 81: I01 = 05 00780710 ! 82: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00790710 ! 83: I02 = 06 00800710 ! 84: C 00810710 ! 85: I01 = 5 00820710 ! 86: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00830710 ! 87: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00840710 ! 88: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00850710 ! 89: C 00860710 ! 90: I02 = 6 00870710 ! 91: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00880710 ! 92: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00890710 ! 93: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00900710 ! 94: C 00910710 ! 95: CBE** ********************** BBCINITB **********************************00920710 ! 96: ZPROG='FM710' 00930710 ! 97: IVTOTL = 19 00940710 ! 98: CBB** ********************** BBCHED0A **********************************00950710 ! 99: C**** 00960710 ! 100: C**** WRITE REPORT TITLE 00970710 ! 101: C**** 00980710 ! 102: WRITE (I02, 90002) 00990710 ! 103: WRITE (I02, 90006) 01000710 ! 104: WRITE (I02, 90007) 01010710 ! 105: WRITE (I02, 90008) ZVERS, ZVERSD 01020710 ! 106: WRITE (I02, 90009) ZPROG, ZPROG 01030710 ! 107: WRITE (I02, 90010) ZDATE, ZCOMPL 01040710 ! 108: CBE** ********************** BBCHED0A **********************************01050710 ! 109: CBB** ********************** BBCHED0B **********************************01060710 ! 110: C**** WRITE DETAIL REPORT HEADERS 01070710 ! 111: C**** 01080710 ! 112: WRITE (I02,90004) 01090710 ! 113: WRITE (I02,90004) 01100710 ! 114: WRITE (I02,90013) 01110710 ! 115: WRITE (I02,90014) 01120710 ! 116: WRITE (I02,90015) IVTOTL 01130710 ! 117: CBE** ********************** BBCHED0B **********************************01140710 ! 118: C 01150710 ! 119: C TESTS 1-2 - SUBSCRIPT EXPRESSION TO IDENTIFY VARIOUS 01160710 ! 120: C ARRAY ELEMENTS 01170710 ! 121: C 01180710 ! 122: C 01190710 ! 123: CT001* TEST 001 **** FCVS PROGRAM 710 **** 01200710 ! 124: C 01210710 ! 125: C TEST 001 ARRAY ELEMENT REFERENCE 01220710 ! 126: C 01230710 ! 127: IVTNUM = 1 01240710 ! 128: IVCOMP = 0 01250710 ! 129: IVCORR = 34 01260710 ! 130: IVCOMP = I2N002(I2N001(1,2),I2N001(2,3)/2 + 1) 01270710 ! 131: 40010 IF (IVCOMP - 34) 20010, 10010, 20010 01280710 ! 132: 10010 IVPASS = IVPASS + 1 01290710 ! 133: WRITE (I02,80002) IVTNUM 01300710 ! 134: GO TO 0011 01310710 ! 135: 20010 IVFAIL = IVFAIL + 1 01320710 ! 136: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01330710 ! 137: 0011 CONTINUE 01340710 ! 138: C 01350710 ! 139: CT002* TEST 002 **** FCVS PROGRAM 710 **** 01360710 ! 140: C 01370710 ! 141: C TEST 002 FUNCTION REFERENCE 01380710 ! 142: C 01390710 ! 143: IVTNUM = 2 01400710 ! 144: RVD001 = 2.64 01410710 ! 145: IVCOMP = 0 01420710 ! 146: IVCORR = 25 01430710 ! 147: IVCOMP = I2N002(INT(RVD001), 19 - IABS(-7)*2) 01440710 ! 148: 40020 IF (IVCOMP - 25) 20020, 10020, 20020 01450710 ! 149: 10020 IVPASS = IVPASS + 1 01460710 ! 150: WRITE (I02,80002) IVTNUM 01470710 ! 151: GO TO 0021 01480710 ! 152: 20020 IVFAIL = IVFAIL + 1 01490710 ! 153: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01500710 ! 154: 0021 CONTINUE 01510710 ! 155: C 01520710 ! 156: C TESTS 3-7 - TEST SUBSCRIPT VALUE IN IDENTIFYING 01530710 ! 157: C ARRAY ELEMENTS 01540710 ! 158: C 01550710 ! 159: CT003* TEST 003 **** FCVS PROGRAM 710 **** 01560710 ! 160: C 01570710 ! 161: C TEST 003 RANGE 01580710 ! 162: C 01590710 ! 163: IVTNUM = 3 01600710 ! 164: WRITE (I02, 80004) IVTNUM 01610710 ! 165: WRITE (I02, 80020) 01620710 ! 166: WRITE (I02, 70030) (I1N003(IVN001), IVN001=5,8) 01630710 ! 167: 70030 FORMAT (1H ,26X,4I4) 01640710 ! 168: IVINSP = IVINSP + 1 01650710 ! 169: WRITE (I02, 80022) 01660710 ! 170: WRITE (I02, 70031) 01670710 ! 171: 70031 FORMAT (1H ,26X,16H 7 8 9 10) 01680710 ! 172: C 01690710 ! 173: CT004* TEST 004 **** FCVS PROGRAM 710 **** 01700710 ! 174: C 01710710 ! 175: C TEST 004 SINGLE ELEMENT 01720710 ! 176: C 01730710 ! 177: IVTNUM = 4 01740710 ! 178: IVCOMP = 0 01750710 ! 179: IVCORR = 4 01760710 ! 180: IVCOMP = I1N003(2) 01770710 ! 181: 40040 IF (IVCOMP - 4) 20040, 10040, 20040 01780710 ! 182: 10040 IVPASS = IVPASS + 1 01790710 ! 183: WRITE (I02,80002) IVTNUM 01800710 ! 184: GO TO 0041 01810710 ! 185: 20040 IVFAIL = IVFAIL + 1 01820710 ! 186: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01830710 ! 187: 0041 CONTINUE 01840710 ! 188: C 01850710 ! 189: CT005* TEST 005 **** FCVS PROGRAM 710 **** 01860710 ! 190: C 01870710 ! 191: C TEST 005 EXPRESSION 01880710 ! 192: C 01890710 ! 193: IVTNUM = 5 01900710 ! 194: IVN001 = -3 01910710 ! 195: IVCOMP = 0 01920710 ! 196: IVCORR = 1 01930710 ! 197: IVCOMP = I1N003((IVN001+5)*3 - 7) 01940710 ! 198: 40050 IF (IVCOMP - 1) 20050, 10050, 20050 01950710 ! 199: 10050 IVPASS = IVPASS + 1 01960710 ! 200: WRITE (I02,80002) IVTNUM 01970710 ! 201: GO TO 0051 01980710 ! 202: 20050 IVFAIL = IVFAIL + 1 01990710 ! 203: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02000710 ! 204: 0051 CONTINUE 02010710 ! 205: C 02020710 ! 206: CT006* TEST 006 **** FCVS PROGRAM 710 **** 02030710 ! 207: C 02040710 ! 208: C TEST 006 31ST ELEMENT IN 2 DIMENSIONAL, 40 ELEMENT ARRAY 02050710 ! 209: C 02060710 ! 210: IVTNUM = 6 02070710 ! 211: IVCOMP = 0 02080710 ! 212: IVCORR = -10 02090710 ! 213: IVCOMP = I2N004(1,4) 02100710 ! 214: 40060 IF (IVCOMP + 10) 20060, 10060, 20060 02110710 ! 215: 10060 IVPASS = IVPASS + 1 02120710 ! 216: WRITE (I02,80002) IVTNUM 02130710 ! 217: GO TO 0061 02140710 ! 218: 20060 IVFAIL = IVFAIL + 1 02150710 ! 219: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160710 ! 220: 0061 CONTINUE 02170710 ! 221: C 02180710 ! 222: CT007* TEST 007 **** FCVS PROGRAM 710 **** 02190710 ! 223: C 02200710 ! 224: C TEST 007 4TH ELEMENT OF FIRST ARRAY EQUAL TO 02210710 ! 225: C 11TH ELEMENT OF SECOND ARRAY 02220710 ! 226: C 02230710 ! 227: IVTNUM = 7 02240710 ! 228: IVCOMP = 0 02250710 ! 229: IVCORR = 1 02260710 ! 230: IF (I1N003(2).EQ.I2N004(1,2)) IVCOMP = 1 02270710 ! 231: 40070 IF (IVCOMP - 1) 20070, 10070, 20070 02280710 ! 232: 10070 IVPASS = IVPASS + 1 02290710 ! 233: WRITE (I02,80002) IVTNUM 02300710 ! 234: GO TO 0071 02310710 ! 235: 20070 IVFAIL = IVFAIL + 1 02320710 ! 236: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02330710 ! 237: 0071 CONTINUE 02340710 ! 238: C 02350710 ! 239: C TESTS 8-15 - CHARACTER SUBSTRING NAME 02360710 ! 240: C 02370710 ! 241: C 02380710 ! 242: CT008* TEST 008 **** FCVS PROGRAM 710 **** 02390710 ! 243: C 02400710 ! 244: C TEST 008 USING LEFT AND RIGHT POSITION OF SUBSTRING 02410710 ! 245: C 02420710 ! 246: IVTNUM = 8 02430710 ! 247: CVCOMP = ' ' 02440710 ! 248: IVCOMP = 0 02450710 ! 249: CVN001 = 'THIS IS IT' 02460710 ! 250: CVCORR = 'HIS ' 02470710 ! 251: CVCOMP = CVN001(2:4) 02480710 ! 252: IF (CVCOMP .EQ. 'HIS ') IVCOMP = 1 02490710 ! 253: IF (IVCOMP - 1) 20080, 10080, 20080 02500710 ! 254: 10080 IVPASS = IVPASS + 1 02510710 ! 255: WRITE (I02,80002) IVTNUM 02520710 ! 256: GO TO 0081 02530710 ! 257: 20080 IVFAIL = IVFAIL + 1 02540710 ! 258: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02550710 ! 259: 0081 CONTINUE 02560710 ! 260: C 02570710 ! 261: CT009* TEST 009 **** FCVS PROGRAM 710 **** 02580710 ! 262: C 02590710 ! 263: C TEST 009 LEFT POSITION OMITTED, VALUE OF 1 ASSUMED 02600710 ! 264: C 02610710 ! 265: IVTNUM = 9 02620710 ! 266: CVCOMP = ' ' 02630710 ! 267: IVCOMP = 0 02640710 ! 268: CVCORR = 'THIS ' 02650710 ! 269: CVCOMP = CVN001(:4) 02660710 ! 270: IF (CVCOMP .EQ. 'THIS ') IVCOMP = 1 02670710 ! 271: IF (IVCOMP - 1) 20090, 10090, 20090 02680710 ! 272: 10090 IVPASS = IVPASS + 1 02690710 ! 273: WRITE (I02,80002) IVTNUM 02700710 ! 274: GO TO 0091 02710710 ! 275: 20090 IVFAIL = IVFAIL + 1 02720710 ! 276: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02730710 ! 277: 0091 CONTINUE 02740710 ! 278: C 02750710 ! 279: CT010* TEST 010 **** FCVS PROGRAM 710 **** 02760710 ! 280: C 02770710 ! 281: C TEST 010 RIGHT POSITION OMITTED, RIGHT-HAND END OF STRING ASSUMED 02780710 ! 282: C 02790710 ! 283: IVTNUM = 10 02800710 ! 284: CVCOMP = ' ' 02810710 ! 285: IVCOMP = 0 02820710 ! 286: CVCORR = 'S IS IT ' 02830710 ! 287: CVCOMP = CVN001(4:) 02840710 ! 288: IF (CVCOMP .EQ. 'S IS IT ') IVCOMP = 1 02850710 ! 289: IF (IVCOMP - 1) 20100, 10100, 20100 02860710 ! 290: 10100 IVPASS = IVPASS + 1 02870710 ! 291: WRITE (I02,80002) IVTNUM 02880710 ! 292: GO TO 0101 02890710 ! 293: 20100 IVFAIL = IVFAIL + 1 02900710 ! 294: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02910710 ! 295: 0101 CONTINUE 02920710 ! 296: C 02930710 ! 297: CT011* TEST 011 **** FCVS PROGRAM 710 **** 02940710 ! 298: C 02950710 ! 299: C TEST 011 EXTRACT SUBSTRING FROM ARRAY 02960710 ! 300: C 02970710 ! 301: IVTNUM = 11 02980710 ! 302: CVCOMP = ' ' 02990710 ! 303: IVCOMP = 0 03000710 ! 304: CVCORR = '12THIR ' 03010710 ! 305: CVCOMP = C2N001(1,2)(1:6) 03020710 ! 306: IF (CVCOMP .EQ. '12THIR ') IVCOMP = 1 03030710 ! 307: IF (IVCOMP - 1) 20110, 10110, 20110 03040710 ! 308: 10110 IVPASS = IVPASS + 1 03050710 ! 309: WRITE (I02,80002) IVTNUM 03060710 ! 310: GO TO 0111 03070710 ! 311: 20110 IVFAIL = IVFAIL + 1 03080710 ! 312: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03090710 ! 313: 0111 CONTINUE 03100710 ! 314: C 03110710 ! 315: CT012* TEST 012 **** FCVS PROGRAM 710 **** 03120710 ! 316: C 03130710 ! 317: C TEST 012 ENTIRE SUBSTRING 03140710 ! 318: C 03150710 ! 319: IVTNUM = 12 03160710 ! 320: CVCOMP = ' ' 03170710 ! 321: IVCOMP = 0 03180710 ! 322: CVCORR = 'THIS IS IT' 03190710 ! 323: CVCOMP = CVN001(:) 03200710 ! 324: IF (CVCOMP .EQ. 'THIS IS IT') IVCOMP = 1 03210710 ! 325: IF (IVCOMP - 1) 20120, 10120, 20120 03220710 ! 326: 10120 IVPASS = IVPASS + 1 03230710 ! 327: WRITE (I02,80002) IVTNUM 03240710 ! 328: GO TO 0121 03250710 ! 329: 20120 IVFAIL = IVFAIL + 1 03260710 ! 330: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03270710 ! 331: 0121 CONTINUE 03280710 ! 332: C 03290710 ! 333: CT013* TEST 013 **** FCVS PROGRAM 710 **** 03300710 ! 334: C 03310710 ! 335: C TEST 013 ENTIRE SUBSTRING FROM ARRAY 03320710 ! 336: C 03330710 ! 337: IVTNUM = 13 03340710 ! 338: CVCOMP = ' ' 03350710 ! 339: IVCOMP = 0 03360710 ! 340: CVCORR = '23SIXTHIJK' 03370710 ! 341: CVCOMP = C2N001(2,3)(:) 03380710 ! 342: IF (CVCOMP .EQ. '23SIXTHIJK') IVCOMP = 1 03390710 ! 343: IF (IVCOMP - 1) 20130, 10130, 20130 03400710 ! 344: 10130 IVPASS = IVPASS + 1 03410710 ! 345: WRITE (I02,80002) IVTNUM 03420710 ! 346: GO TO 0131 03430710 ! 347: 20130 IVFAIL = IVFAIL + 1 03440710 ! 348: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03450710 ! 349: 0131 CONTINUE 03460710 ! 350: C 03470710 ! 351: CT014* TEST 014 **** FCVS PROGRAM 710 **** 03480710 ! 352: C 03490710 ! 353: C RIGHT POSITION OMITTED USING ARRAY 03500710 ! 354: C 03510710 ! 355: IVTNUM = 14 03520710 ! 356: CVCOMP = ' ' 03530710 ! 357: IVCOMP = 0 03540710 ! 358: CVCORR = 'EVENTHH ' 03550710 ! 359: CVCOMP = C2N001(1,4)(4:) 03560710 ! 360: IF (CVCOMP .EQ. 'EVENTHH ') IVCOMP = 1 03570710 ! 361: IF (IVCOMP - 1) 20140, 10140, 20140 03580710 ! 362: 10140 IVPASS = IVPASS + 1 03590710 ! 363: WRITE (I02,80002) IVTNUM 03600710 ! 364: GO TO 0141 03610710 ! 365: 20140 IVFAIL = IVFAIL + 1 03620710 ! 366: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03630710 ! 367: 0141 CONTINUE 03640710 ! 368: C 03650710 ! 369: CT015* TEST 015 **** FCVS PROGRAM 710 **** 03660710 ! 370: C 03670710 ! 371: C LEFT POSITION OMITTED 03680710 ! 372: C 03690710 ! 373: IVTNUM = 15 03700710 ! 374: CVCOMP = ' ' 03710710 ! 375: IVCOMP = 0 03720710 ! 376: CVCORR = '24EI ' 03730710 ! 377: CVCOMP = C2N001(2,4)(:4) 03740710 ! 378: IF (CVCOMP .EQ. '24EI ') IVCOMP = 1 03750710 ! 379: IF (IVCOMP - 1) 20150, 10150, 20150 03760710 ! 380: 10150 IVPASS = IVPASS + 1 03770710 ! 381: WRITE (I02,80002) IVTNUM 03780710 ! 382: GO TO 0151 03790710 ! 383: 20150 IVFAIL = IVFAIL + 1 03800710 ! 384: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03810710 ! 385: 0151 CONTINUE 03820710 ! 386: C 03830710 ! 387: C TESTS 16-19 - SUBSTRING EXPRESSION 03840710 ! 388: C 03850710 ! 389: C 03860710 ! 390: CT016* TEST 016 **** FCVS PROGRAM 710 **** 03870710 ! 391: C 03880710 ! 392: C TEST 016 ARITHMETIC EXPRESSION 03890710 ! 393: C 03900710 ! 394: IVTNUM = 16 03910710 ! 395: CVCOMP = ' ' 03920710 ! 396: IVCOMP = 0 03930710 ! 397: CVCORR = 'HIS IS IT ' 03940710 ! 398: CVCOMP = CVN001(2:5*2) 03950710 ! 399: IF (CVCOMP .EQ. 'HIS IS IT ') IVCOMP = 1 03960710 ! 400: IF (IVCOMP - 1) 20160, 10160, 20160 03970710 ! 401: 10160 IVPASS = IVPASS + 1 03980710 ! 402: WRITE (I02,80002) IVTNUM 03990710 ! 403: GO TO 0161 04000710 ! 404: 20160 IVFAIL = IVFAIL + 1 04010710 ! 405: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04020710 ! 406: 0161 CONTINUE 04030710 ! 407: C 04040710 ! 408: CT017* TEST 017 **** FCVS PROGRAM 710 **** 04050710 ! 409: C 04060710 ! 410: C TEST 017 SUBSTRING EXPRESSION IN AN ASSIGNMENT STATEMENT 04070710 ! 411: C 04080710 ! 412: IVTNUM = 17 04090710 ! 413: IVN001 = 5 04100710 ! 414: IVN002 = 8 04110710 ! 415: CVCOMP = ' ' 04120710 ! 416: IVCOMP = 0 04130710 ! 417: CVCORR = 'THISLIKEIT' 04140710 ! 418: CVN001(IVN001:IVN002) = 'LIKE' 04150710 ! 419: CVCOMP = CVN001 04160710 ! 420: IF (CVCOMP .EQ. 'THISLIKEIT') IVCOMP = 1 04170710 ! 421: IF (IVCOMP - 1) 20170, 10170, 20170 04180710 ! 422: 10170 IVPASS = IVPASS + 1 04190710 ! 423: WRITE (I02,80002) IVTNUM 04200710 ! 424: GO TO 0171 04210710 ! 425: 20170 IVFAIL = IVFAIL + 1 04220710 ! 426: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04230710 ! 427: 0171 CONTINUE 04240710 ! 428: C 04250710 ! 429: CT018* TEST 018 **** FCVS PROGRAM 710 **** 04260710 ! 430: C 04270710 ! 431: C TEST 018 SUBSTRING EXPRESSION CONTAINING ARRAY ELEMENT REFERENCE 04280710 ! 432: C 04290710 ! 433: IVTNUM = 18 04300710 ! 434: CVCOMP = ' ' 04310710 ! 435: IVCOMP = 0 04320710 ! 436: CVCORR = 'HISLIKE ' 04330710 ! 437: CVCOMP = CVN001(I2N001(2,1):I2N002(3,5)-27) 04340710 ! 438: IF (CVCOMP .EQ. 'HISLIKE ') IVCOMP = 1 04350710 ! 439: IF (IVCOMP - 1) 20180, 10180, 20180 04360710 ! 440: 10180 IVPASS = IVPASS + 1 04370710 ! 441: WRITE (I02,80002) IVTNUM 04380710 ! 442: GO TO 0181 04390710 ! 443: 20180 IVFAIL = IVFAIL + 1 04400710 ! 444: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04410710 ! 445: 0181 CONTINUE 04420710 ! 446: C 04430710 ! 447: CT019* TEST 019 **** FCVS PROGRAM 710 **** 04440710 ! 448: C 04450710 ! 449: C TEST 019 SUBSTRING EXPRESSION CONTAINING FUNCTION REFERENCES 04460710 ! 450: C 04470710 ! 451: IVTNUM = 19 04480710 ! 452: RVD001 = 1.475 04490710 ! 453: IVN001 = 1 04500710 ! 454: CVCOMP = ' ' 04510710 ! 455: IVCOMP = 0 04520710 ! 456: CVCORR = 'IFTHABC ' 04530710 ! 457: CVCOMP = C2N001(1,3)(INT(RVD001)+3 : (IVN001*5 + 7)/IABS(-6) + 8) 04540710 ! 458: IF (CVCOMP .EQ. 'IFTHABC ') IVCOMP = 1 04550710 ! 459: IF (IVCOMP - 1) 20190, 10190, 20190 04560710 ! 460: 10190 IVPASS = IVPASS + 1 04570710 ! 461: WRITE (I02,80002) IVTNUM 04580710 ! 462: GO TO 0191 04590710 ! 463: 20190 IVFAIL = IVFAIL + 1 04600710 ! 464: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04610710 ! 465: 0191 CONTINUE 04620710 ! 466: C 04630710 ! 467: CBB** ********************** BBCSUM0 **********************************04640710 ! 468: C**** WRITE OUT TEST SUMMARY 04650710 ! 469: C**** 04660710 ! 470: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04670710 ! 471: WRITE (I02, 90004) 04680710 ! 472: WRITE (I02, 90014) 04690710 ! 473: WRITE (I02, 90004) 04700710 ! 474: WRITE (I02, 90020) IVPASS 04710710 ! 475: WRITE (I02, 90022) IVFAIL 04720710 ! 476: WRITE (I02, 90024) IVDELE 04730710 ! 477: WRITE (I02, 90026) IVINSP 04740710 ! 478: WRITE (I02, 90028) IVTOTN, IVTOTL 04750710 ! 479: CBE** ********************** BBCSUM0 **********************************04760710 ! 480: CBB** ********************** BBCFOOT0 **********************************04770710 ! 481: C**** WRITE OUT REPORT FOOTINGS 04780710 ! 482: C**** 04790710 ! 483: WRITE (I02,90016) ZPROG, ZPROG 04800710 ! 484: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04810710 ! 485: WRITE (I02,90019) 04820710 ! 486: CBE** ********************** BBCFOOT0 **********************************04830710 ! 487: 90001 FORMAT (1H ,56X,5HFM710) 04840710 ! 488: 90000 FORMAT (1H ,50X,20HEND OF PROGRAM FM710) 04850710 ! 489: CBB** ********************** BBCFMT0A **********************************04860710 ! 490: C**** FORMATS FOR TEST DETAIL LINES 04870710 ! 491: C**** 04880710 ! 492: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 04890710 ! 493: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 04900710 ! 494: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 04910710 ! 495: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 04920710 ! 496: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 04930710 ! 497: 1I6,/,1H ,15X,10HCORRECT= ,I6) 04940710 ! 498: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04950710 ! 499: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 04960710 ! 500: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04970710 ! 501: 1A21,/,1H ,16X,10HCORRECT= ,A21) 04980710 ! 502: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 04990710 ! 503: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 05000710 ! 504: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 05010710 ! 505: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 05020710 ! 506: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 05030710 ! 507: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 05040710 ! 508: 80050 FORMAT (1H ,48X,A31) 05050710 ! 509: CBE** ********************** BBCFMT0A **********************************05060710 ! 510: CBB** ********************** BBCFMAT1 **********************************05070710 ! 511: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05080710 ! 512: C**** 05090710 ! 513: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 05100710 ! 514: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 05110710 ! 515: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 05120710 ! 516: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 05130710 ! 517: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 05140710 ! 518: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 05150710 ! 519: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 05160710 ! 520: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 05170710 ! 521: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 05180710 ! 522: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 05190710 ! 523: 21H(,F12.5,2H, ,F12.5,1H)) 05200710 ! 524: CBE** ********************** BBCFMAT1 **********************************05210710 ! 525: CBB** ********************** BBCFMT0B **********************************05220710 ! 526: C**** FORMAT STATEMENTS FOR PAGE HEADERS 05230710 ! 527: C**** 05240710 ! 528: 90002 FORMAT (1H1) 05250710 ! 529: 90004 FORMAT (1H ) 05260710 ! 530: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 05270710 ! 531: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05280710 ! 532: 90008 FORMAT (1H ,21X,A13,A17) 05290710 ! 533: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 05300710 ! 534: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 05310710 ! 535: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 05320710 ! 536: 1 7X,7HREMARKS,24X) 05330710 ! 537: 90014 FORMAT (1H ,46H----------------------------------------------, 05340710 ! 538: 1 33H---------------------------------) 05350710 ! 539: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 05360710 ! 540: C**** 05370710 ! 541: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 05380710 ! 542: C**** 05390710 ! 543: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 05400710 ! 544: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 05410710 ! 545: 1 A13) 05420710 ! 546: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 05430710 ! 547: C**** 05440710 ! 548: C**** FORMAT STATEMENTS FOR RUN SUMMARY 05450710 ! 549: C**** 05460710 ! 550: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 05470710 ! 551: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 05480710 ! 552: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 05490710 ! 553: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 05500710 ! 554: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 05510710 ! 555: CBE** ********************** BBCFMT0B **********************************05520710 ! 556: END 05530710
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.