|
|
1.1 ! root 1: C***********************************************************************00010357 ! 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***** FORTRAN 77 00020357 ! 6: C***** FM357 XAMOD - (159) 00030357 ! 7: C***** 00040357 ! 8: C***********************************************************************00050357 ! 9: C***** GENERAL PURPOSE ANS REF 00060357 ! 10: C***** TEST INTRINSIC FUNCTIONS AMOD AND MOD - REMAINDERING, 15.3 00070357 ! 11: C***** WHICH IS DEFINED AS A1-(A1/A2)A2 WHERE (X) IS AN (TABLE 5)00080357 ! 12: C***** INTEGER WHOSE MAGNITUDE IS LE ABS(X) AND WHOSE SIGN 00090357 ! 13: C***** IS THE SAME AS X. 00100357 ! 14: C***** 00110357 ! 15: CBB** ********************** BBCCOMNT **********************************00120357 ! 16: C**** 00130357 ! 17: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00140357 ! 18: C**** VERSION 2.0 00150357 ! 19: C**** 00160357 ! 20: C**** 00170357 ! 21: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00180357 ! 22: C**** GENERAL SERVICES ADMINISTRATION 00190357 ! 23: C**** FEDERAL SOFTWARE TESTING CENTER 00200357 ! 24: C**** 5203 LEESBURG PIKE, SUITE 1100 00210357 ! 25: C**** FALLS CHURCH, VA. 22041 00220357 ! 26: C**** 00230357 ! 27: C**** (703) 756-6153 00240357 ! 28: C**** 00250357 ! 29: CBE** ********************** BBCCOMNT **********************************00260357 ! 30: CBB** ********************** BBCINITA **********************************00270357 ! 31: C**** SPECIFICATION STATEMENTS 00280357 ! 32: C**** 00290357 ! 33: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00300357 ! 34: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00310357 ! 35: CBE** ********************** BBCINITA **********************************00320357 ! 36: CBB** ********************** BBCINITB **********************************00330357 ! 37: C**** INITIALIZE SECTION 00340357 ! 38: DATA ZVERS, ZVERSD, ZDATE 00350357 ! 39: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00360357 ! 40: DATA ZCOMPL, ZNAME, ZTAPE 00370357 ! 41: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00380357 ! 42: DATA ZPROJ, ZTAPED, ZPROG 00390357 ! 43: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00400357 ! 44: DATA REMRKS /' '/ 00410357 ! 45: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00420357 ! 46: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00430357 ! 47: C**** 00440357 ! 48: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00450357 ! 49: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00460357 ! 50: CZ03 ZPROG = 'PROGRAM NAME' 00470357 ! 51: ZDATE = '07-Nov-85 ' *RP ! 52: ZCOMPL = 'CCI 5.2 ' *RP ! 53: ZPROJ = 'TC-85- -410' *RP ! 54: ZNAME = ' ' *RP ! 55: ZTAPE = ' ' *RP ! 56: ZTAPED = '850703 ' *RP ! 57: C 00540357 ! 58: IVPASS = 0 00550357 ! 59: IVFAIL = 0 00560357 ! 60: IVDELE = 0 00570357 ! 61: IVINSP = 0 00580357 ! 62: IVTOTL = 0 00590357 ! 63: IVTOTN = 0 00600357 ! 64: ICZERO = 0 00610357 ! 65: C 00620357 ! 66: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00630357 ! 67: I01 = 05 00640357 ! 68: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00650357 ! 69: I02 = 06 00660357 ! 70: C 00670357 ! 71: I01 = 5 00680357 ! 72: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00690357 ! 73: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00700357 ! 74: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00710357 ! 75: C 00720357 ! 76: I02 = 6 00730357 ! 77: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00740357 ! 78: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00750357 ! 79: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00760357 ! 80: C 00770357 ! 81: CBE** ********************** BBCINITB **********************************00780357 ! 82: NUVI = I02 00790357 ! 83: IVTOTL = 22 00800357 ! 84: ZPROG = 'FM357' 00810357 ! 85: CBB** ********************** BBCHED0A **********************************00820357 ! 86: C**** 00830357 ! 87: C**** WRITE REPORT TITLE 00840357 ! 88: C**** 00850357 ! 89: WRITE (I02, 90002) 00860357 ! 90: WRITE (I02, 90006) 00870357 ! 91: WRITE (I02, 90007) 00880357 ! 92: WRITE (I02, 90008) ZVERS, ZVERSD 00890357 ! 93: WRITE (I02, 90009) ZPROG, ZPROG 00900357 ! 94: WRITE (I02, 90010) ZDATE, ZCOMPL 00910357 ! 95: CBE** ********************** BBCHED0A **********************************00920357 ! 96: C***** 00930357 ! 97: C***** HEADER FOR SEGMENT 159 WRITTEN 00940357 ! 98: WRITE (NUVI,15901) 00950357 ! 99: 15901 FORMAT (1H , //, 2X,35HXAMOD - (159) INTRINSIC FUNCTION-- //16X,00960357 ! 100: 1 24HAMOD, MOD (REMAINDERING)//19H SUBSET REF. - 15.3) 00970357 ! 101: CBB** ********************** BBCHED0B **********************************00980357 ! 102: C**** WRITE DETAIL REPORT HEADERS 00990357 ! 103: C**** 01000357 ! 104: WRITE (I02,90004) 01010357 ! 105: WRITE (I02,90004) 01020357 ! 106: WRITE (I02,90013) 01030357 ! 107: WRITE (I02,90014) 01040357 ! 108: WRITE (I02,90015) IVTOTL 01050357 ! 109: CBE** ********************** BBCHED0B **********************************01060357 ! 110: C***** 01070357 ! 111: C***** TEST OF AMOD 01080357 ! 112: C***** 01090357 ! 113: WRITE(NUVI, 15902) 01100357 ! 114: 15902 FORMAT (/ 8X, 12HTEST OF AMOD) 01110357 ! 115: C***** 01120357 ! 116: CT001* TEST 1 FIRST VALUE ZERO, SECOND NON-ZERO 01130357 ! 117: IVTNUM = 1 01140357 ! 118: REBVS = 0.0 01150357 ! 119: REDVS = 4.5 01160357 ! 120: REAVS = AMOD(REBVS, REDVS) 01170357 ! 121: IF (REAVS + 0.00005) 20010, 10010, 40010 01180357 ! 122: 40010 IF (REAVS - 0.00005) 10010, 10010, 20010 01190357 ! 123: 10010 IVPASS = IVPASS + 1 01200357 ! 124: WRITE (NUVI, 80002) IVTNUM 01210357 ! 125: GO TO 0011 01220357 ! 126: 20010 IVFAIL = IVFAIL + 1 01230357 ! 127: RVCORR = 0.0 01240357 ! 128: WRITE (NUVI,80012) IVTNUM, REAVS, RVCORR 01250357 ! 129: 0011 CONTINUE 01260357 ! 130: CT002* TEST 2 BOTH VALUES EQUAL 01270357 ! 131: IVTNUM = 2 01280357 ! 132: REBVS = 3.5 01290357 ! 133: REDVS = 3.5 01300357 ! 134: REAVS = AMOD(REBVS, REDVS) 01310357 ! 135: IF (REAVS + 0.00005) 20020, 10020, 40020 01320357 ! 136: 40020 IF (REAVS - 0.00005) 10020, 10020, 20020 01330357 ! 137: 10020 IVPASS = IVPASS + 1 01340357 ! 138: WRITE (NUVI, 80002) IVTNUM 01350357 ! 139: GO TO 0021 01360357 ! 140: 20020 IVFAIL = IVFAIL + 1 01370357 ! 141: RVCORR = 0.0 01380357 ! 142: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 01390357 ! 143: 0021 CONTINUE 01400357 ! 144: CT003* TEST 3 FIRST MAGNITUDE LARGER, NOT MULTIPLE OF SECOND 01410357 ! 145: IVTNUM = 3 01420357 ! 146: REBVS = -10.9 01430357 ! 147: REDVS = -3.3 01440357 ! 148: REAVS = AMOD(REBVS, REDVS) 01450357 ! 149: IF (REAVS + 1.0001) 20030, 10030, 40030 01460357 ! 150: 40030 IF (REAVS + 0.99995) 10030, 10030, 20030 01470357 ! 151: 10030 IVPASS = IVPASS + 1 01480357 ! 152: WRITE (NUVI, 80002) IVTNUM 01490357 ! 153: GO TO 0031 01500357 ! 154: 20030 IVFAIL = IVFAIL + 1 01510357 ! 155: RVCORR = -1.0 01520357 ! 156: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 01530357 ! 157: 0031 CONTINUE 01540357 ! 158: CT004* TEST 4 FIRST MAGNITUDE LARGER, MULTIPLE OF SECOND 01550357 ! 159: IVTNUM = 4 01560357 ! 160: REDVS = 1.5 01570357 ! 161: REBVS = 1.5 + REDVS + 1.5 01580357 ! 162: REAVS = AMOD(REBVS, REDVS) 01590357 ! 163: IF (REAVS + 0.00005) 20040, 10040, 40040 01600357 ! 164: 40040 IF (REAVS - 0.00005) 10040, 10040, 20040 01610357 ! 165: 10040 IVPASS = IVPASS + 1 01620357 ! 166: WRITE (NUVI, 80002) IVTNUM 01630357 ! 167: GO TO 0041 01640357 ! 168: 20040 IVFAIL = IVFAIL + 1 01650357 ! 169: RVCORR = 0.0 01660357 ! 170: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 01670357 ! 171: 0041 CONTINUE 01680357 ! 172: CT005* TEST 5 FIRST MAGNITUDE LARGER, NOT MULTIPLE OF SECOND 01690357 ! 173: IVTNUM = 5 01700357 ! 174: REBVS = 7.625 01710357 ! 175: REDVS = 2.125 01720357 ! 176: REAVS = AMOD(REBVS, REDVS) 01730357 ! 177: IF (REAVS - 1.2499) 20050, 10050, 40050 01740357 ! 178: 40050 IF (REAVS - 1.2501) 10050, 10050, 20050 01750357 ! 179: 10050 IVPASS = IVPASS + 1 01760357 ! 180: WRITE (NUVI, 80002) IVTNUM 01770357 ! 181: GO TO 0051 01780357 ! 182: 20050 IVFAIL = IVFAIL + 1 01790357 ! 183: RVCORR = 1.25 01800357 ! 184: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 01810357 ! 185: 0051 CONTINUE 01820357 ! 186: CT006* TEST 6 FIRST VALUE ZERO, SECOND NEGATIVE 01830357 ! 187: IVTNUM = 6 01840357 ! 188: REBVS = 0.0 01850357 ! 189: REDVS = -4.5 01860357 ! 190: REAVS = AMOD(REBVS, REDVS) 01870357 ! 191: IF (REAVS + 0.00005) 20060, 10060, 40060 01880357 ! 192: 40060 IF (REAVS - 0.00005) 10060, 10060, 20060 01890357 ! 193: 10060 IVPASS = IVPASS + 1 01900357 ! 194: WRITE (NUVI, 80002) IVTNUM 01910357 ! 195: GO TO 0061 01920357 ! 196: 20060 IVFAIL = IVFAIL + 1 01930357 ! 197: RVCORR = 0.0 01940357 ! 198: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 01950357 ! 199: 0061 CONTINUE 01960357 ! 200: CT007* TEST 7 BOTH VALUES EQUAL, BOTH NEGATIVE 01970357 ! 201: IVTNUM = 7 01980357 ! 202: REBVS = -3.5 01990357 ! 203: REDVS = -3.5 02000357 ! 204: REAVS = AMOD(REBVS, REDVS) 02010357 ! 205: IF (REAVS + 0.00005) 20070, 10070, 40070 02020357 ! 206: 40070 IF (REAVS - 0.00005) 10070, 10070, 20070 02030357 ! 207: 10070 IVPASS = IVPASS + 1 02040357 ! 208: WRITE (NUVI, 80002) IVTNUM 02050357 ! 209: GO TO 0071 02060357 ! 210: 20070 IVFAIL = IVFAIL + 1 02070357 ! 211: RVCORR = 0.0 02080357 ! 212: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 02090357 ! 213: 0071 CONTINUE 02100357 ! 214: CT008* TEST 8 FIRST VALUE NEGATIVE, SECOND POSITIVE, MULTIPLE 02110357 ! 215: IVTNUM = 8 02120357 ! 216: REBVS = 1.5 02130357 ! 217: REDVS = -(1.5 + REDVS + 1.5) 02140357 ! 218: REAVS = AMOD(-REBVS, -REDVS) 02150357 ! 219: IF (REAVS + 0.00005) 20080, 10080, 40080 02160357 ! 220: 40080 IF (REAVS - 0.00005) 10080, 10080, 20080 02170357 ! 221: 10080 IVPASS = IVPASS + 1 02180357 ! 222: WRITE (NUVI, 80002) IVTNUM 02190357 ! 223: GO TO 0081 02200357 ! 224: 20080 IVFAIL = IVFAIL + 1 02210357 ! 225: RVCORR = 0.0 02220357 ! 226: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 02230357 ! 227: 0081 CONTINUE 02240357 ! 228: CT009* TEST 9 FIRST MAGNITUDE LARGER, NOT MULTIPLE OF SECOND 02250357 ! 229: IVTNUM = 9 02260357 ! 230: REBVS = 10.5 02270357 ! 231: REDVS = -3.3 02280357 ! 232: REAVS = AMOD(REBVS, REDVS) 02290357 ! 233: IF (REAVS - 0.59997) 20090, 10090, 40090 02300357 ! 234: 40090 IF (REAVS - 0.60003) 10090, 10090, 20090 02310357 ! 235: 10090 IVPASS = IVPASS + 1 02320357 ! 236: WRITE (NUVI, 80002) IVTNUM 02330357 ! 237: GO TO 0091 02340357 ! 238: 20090 IVFAIL = IVFAIL + 1 02350357 ! 239: RVCORR = 0.6 02360357 ! 240: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 02370357 ! 241: 0091 CONTINUE 02380357 ! 242: CT010* TEST 10 PAIR OF ARITHMETIC EXPRESSIONS USED AS ARGUMENT 02390357 ! 243: IVTNUM = 10 02400357 ! 244: RECVS = 7.625 02410357 ! 245: REDVS = 2.125 02420357 ! 246: REFVS = 2.0 02430357 ! 247: REAVS = AMOD(RECVS - REFVS, REDVS + REFVS) 02440357 ! 248: IF (REAVS - 1.4999) 20100, 10100, 40100 02450357 ! 249: 40100 IF (REAVS - 1.5001) 10100, 10100, 20100 02460357 ! 250: 10100 IVPASS = IVPASS + 1 02470357 ! 251: WRITE (NUVI, 80002) IVTNUM 02480357 ! 252: GO TO 0101 02490357 ! 253: 20100 IVFAIL = IVFAIL + 1 02500357 ! 254: RVCORR = 1.5 02510357 ! 255: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 02520357 ! 256: 0101 CONTINUE 02530357 ! 257: CT011* TEST 11 TEST LOW AND HIGH MAGNITUDE ARGUMENTS 02540357 ! 258: IVTNUM = 11 02550357 ! 259: RECVS = 1.0E-16 02560357 ! 260: REDVS = 1.0E+16 02570357 ! 261: REAVS = AMOD(RECVS, REDVS) 02580357 ! 262: IF (REAVS - 0.99995E-16) 20110, 10110, 40110 02590357 ! 263: 40110 IF (REAVS - 1.0001E-16) 10110, 10110, 20110 02600357 ! 264: 10110 IVPASS = IVPASS + 1 02610357 ! 265: WRITE (NUVI, 80002) IVTNUM 02620357 ! 266: GO TO 0111 02630357 ! 267: 20110 IVFAIL = IVFAIL + 1 02640357 ! 268: RVCORR = 1.0E-16 02650357 ! 269: WRITE(NUVI, 80012) IVTNUM, REAVS, RVCORR 02660357 ! 270: 0111 CONTINUE 02670357 ! 271: C***** 02680357 ! 272: C***** TEST OF MOD 02690357 ! 273: C***** 02700357 ! 274: WRITE(NUVI, 15904) 02710357 ! 275: 15904 FORMAT (/ 8X, 11HTEST OF MOD) 02720357 ! 276: C***** 02730357 ! 277: CT012* TEST 12 FIRST VALUE ZERO, SECOND NON-ZERO 02740357 ! 278: IVTNUM = 12 02750357 ! 279: IEBVI = 0 02760357 ! 280: IEDVI = 4 02770357 ! 281: IEAVI = MOD(IEBVI, IEDVI) 02780357 ! 282: IF (IEAVI - 0) 20120, 10120, 20120 02790357 ! 283: 10120 IVPASS = IVPASS + 1 02800357 ! 284: WRITE (NUVI, 80002) IVTNUM 02810357 ! 285: GO TO 0121 02820357 ! 286: 20120 IVFAIL = IVFAIL + 1 02830357 ! 287: IVCORR = 0 02840357 ! 288: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 02850357 ! 289: 0121 CONTINUE 02860357 ! 290: CT013* TEST 13 BOTH VALUES EQUAL 02870357 ! 291: IVTNUM = 13 02880357 ! 292: IEBVI = 3 02890357 ! 293: IEDVI = 3 02900357 ! 294: IEAVI = MOD(IEBVI, IEDVI) 02910357 ! 295: IF (IEAVI - 0) 20130, 10130, 20130 02920357 ! 296: 10130 IVPASS = IVPASS + 1 02930357 ! 297: WRITE (NUVI, 80002) IVTNUM 02940357 ! 298: GO TO 0131 02950357 ! 299: 20130 IVFAIL = IVFAIL + 1 02960357 ! 300: IVCORR = 0 02970357 ! 301: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 02980357 ! 302: 0131 CONTINUE 02990357 ! 303: CT014* TEST 14 FIRST MAGNITUDE LARGER, NOT MULTIPLE OF SECOND 03000357 ! 304: IVTNUM = 14 03010357 ! 305: IEBVI = -10 03020357 ! 306: IEDVI = -3 03030357 ! 307: IEAVI = MOD(IEBVI, IEDVI) 03040357 ! 308: IF (IEAVI + 1) 20140, 10140, 20140 03050357 ! 309: 10140 IVPASS = IVPASS + 1 03060357 ! 310: WRITE (NUVI, 80002) IVTNUM 03070357 ! 311: GO TO 0141 03080357 ! 312: 20140 IVFAIL = IVFAIL + 1 03090357 ! 313: IVCORR = -1 03100357 ! 314: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03110357 ! 315: 0141 CONTINUE 03120357 ! 316: CT015* TEST 15 FIRST MAGNITUDE LARGER, MULTIPLE OF SECOND 03130357 ! 317: IVTNUM = 15 03140357 ! 318: IEBVI = 9 03150357 ! 319: IEDVI = 3 03160357 ! 320: IEAVI = MOD(IEBVI, IEDVI) 03170357 ! 321: IF (IEAVI - 0) 20150, 10150, 20150 03180357 ! 322: 10150 IVPASS = IVPASS + 1 03190357 ! 323: WRITE (NUVI, 80002) IVTNUM 03200357 ! 324: GO TO 0151 03210357 ! 325: 20150 IVFAIL = IVFAIL + 1 03220357 ! 326: IVCORR = 0 03230357 ! 327: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03240357 ! 328: 0151 CONTINUE 03250357 ! 329: CT016* TEST 16 FIRST MAGNITUDE LARGER, NOT MULTIPLE OF SECOND 03260357 ! 330: IVTNUM = 16 03270357 ! 331: IEBVI = 7 03280357 ! 332: IEDVI = 2 03290357 ! 333: IEAVI = MOD(IEBVI, IEDVI) 03300357 ! 334: IF (IEAVI - 1) 20160, 10160, 20160 03310357 ! 335: 10160 IVPASS = IVPASS + 1 03320357 ! 336: WRITE (NUVI, 80002) IVTNUM 03330357 ! 337: GO TO 0161 03340357 ! 338: 20160 IVFAIL = IVFAIL + 1 03350357 ! 339: IVCORR = 1 03360357 ! 340: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03370357 ! 341: 0161 CONTINUE 03380357 ! 342: CT017* TEST 17 FIRST VALUE ZERO, SECOND NEGATIVE 03390357 ! 343: IVTNUM = 17 03400357 ! 344: IEBVI = 0 03410357 ! 345: IEDVI = -4 03420357 ! 346: IEAVI = MOD(IEBVI, IEDVI) 03430357 ! 347: IF (IEAVI - 0) 20170, 10170, 20170 03440357 ! 348: 10170 IVPASS = IVPASS + 1 03450357 ! 349: WRITE (NUVI, 80002) IVTNUM 03460357 ! 350: GO TO 0171 03470357 ! 351: 20170 IVFAIL = IVFAIL + 1 03480357 ! 352: IVCORR = 0 03490357 ! 353: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03500357 ! 354: 0171 CONTINUE 03510357 ! 355: CT018* TEST 18 BOTH VALUES EQUAL, BOTH NEGATIVE 03520357 ! 356: IVTNUM = 18 03530357 ! 357: IEBVI = -3 03540357 ! 358: IEDVI = -3 03550357 ! 359: IEAVI = MOD(IEBVI, IEDVI) 03560357 ! 360: IF (IEAVI - 0) 20180, 10180, 20180 03570357 ! 361: 10180 IVPASS = IVPASS + 1 03580357 ! 362: WRITE (NUVI, 80002) IVTNUM 03590357 ! 363: GO TO 0181 03600357 ! 364: 20180 IVFAIL = IVFAIL + 1 03610357 ! 365: IVCORR = 0 03620357 ! 366: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03630357 ! 367: 0181 CONTINUE 03640357 ! 368: CT019* TEST 19 FIRST MAGNITUDE LARGER, MULTIPLE, BOTH NEGATIVE 03650357 ! 369: IVTNUM = 19 03660357 ! 370: IEBVI = -9 03670357 ! 371: IEDVI = -3 03680357 ! 372: IEAVI = MOD(IEBVI, IEDVI) 03690357 ! 373: IF (IEAVI - 0) 20190, 10190, 20190 03700357 ! 374: 10190 IVPASS = IVPASS + 1 03710357 ! 375: WRITE (NUVI, 80002) IVTNUM 03720357 ! 376: GO TO 0191 03730357 ! 377: 20190 IVFAIL = IVFAIL + 1 03740357 ! 378: IVCORR = 0 03750357 ! 379: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03760357 ! 380: 0191 CONTINUE 03770357 ! 381: CT020* TEST 20 FIRST NUMBER NEGATIVE, SECOND POSITIVE, MULTIPLE 03780357 ! 382: IVTNUM = 20 03790357 ! 383: IEBVI = -9 03800357 ! 384: IEDVI = 3 03810357 ! 385: IEAVI = MOD(IEBVI, IEDVI) 03820357 ! 386: IF (IEAVI - 0) 20200, 10200, 20200 03830357 ! 387: 10200 IVPASS = IVPASS + 1 03840357 ! 388: WRITE (NUVI, 80002) IVTNUM 03850357 ! 389: GO TO 0201 03860357 ! 390: 20200 IVFAIL = IVFAIL + 1 03870357 ! 391: IVCORR = 0 03880357 ! 392: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 03890357 ! 393: 0201 CONTINUE 03900357 ! 394: CT021* TEST 21 FIRST VALUE ZERO PRECEDED BY MINUS SIGN 03910357 ! 395: IVTNUM = 21 03920357 ! 396: IEBVI = 0 03930357 ! 397: IEDVI = 4 03940357 ! 398: IEAVI = MOD(-IEBVI, IEDVI) 03950357 ! 399: IF (IEAVI - 0) 20210, 10210, 20210 03960357 ! 400: 10210 IVPASS = IVPASS + 1 03970357 ! 401: WRITE (NUVI, 80002) IVTNUM 03980357 ! 402: GO TO 0211 03990357 ! 403: 20210 IVFAIL = IVFAIL + 1 04000357 ! 404: IVCORR = 0 04010357 ! 405: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 04020357 ! 406: 0211 CONTINUE 04030357 ! 407: CT022* TEST 22 PAIR OF ARITHMETIC EXPRESSIONS USED AS ARGUMENT 04040357 ! 408: IVTNUM = 22 04050357 ! 409: IEDVI = 10 04060357 ! 410: IEEVI = 3 04070357 ! 411: IEFVI = 2 04080357 ! 412: IEAVI = MOD(IEDVI - IEFVI, IEEVI + IEFVI) 04090357 ! 413: IF (IEAVI - 3) 20220, 10220, 20220 04100357 ! 414: 10220 IVPASS = IVPASS + 1 04110357 ! 415: WRITE (NUVI, 80002) IVTNUM 04120357 ! 416: GO TO 0221 04130357 ! 417: 20220 IVFAIL = IVFAIL + 1 04140357 ! 418: IVCORR = 3 04150357 ! 419: WRITE (NUVI, 80010) IVTNUM, IEAVI, IVCORR 04160357 ! 420: 0221 CONTINUE 04170357 ! 421: C***** 04180357 ! 422: CBB** ********************** BBCSUM0 **********************************04190357 ! 423: C**** WRITE OUT TEST SUMMARY 04200357 ! 424: C**** 04210357 ! 425: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04220357 ! 426: WRITE (I02, 90004) 04230357 ! 427: WRITE (I02, 90014) 04240357 ! 428: WRITE (I02, 90004) 04250357 ! 429: WRITE (I02, 90020) IVPASS 04260357 ! 430: WRITE (I02, 90022) IVFAIL 04270357 ! 431: WRITE (I02, 90024) IVDELE 04280357 ! 432: WRITE (I02, 90026) IVINSP 04290357 ! 433: WRITE (I02, 90028) IVTOTN, IVTOTL 04300357 ! 434: CBE** ********************** BBCSUM0 **********************************04310357 ! 435: CBB** ********************** BBCFOOT0 **********************************04320357 ! 436: C**** WRITE OUT REPORT FOOTINGS 04330357 ! 437: C**** 04340357 ! 438: WRITE (I02,90016) ZPROG, ZPROG 04350357 ! 439: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04360357 ! 440: WRITE (I02,90019) 04370357 ! 441: CBE** ********************** BBCFOOT0 **********************************04380357 ! 442: CBB** ********************** BBCFMT0A **********************************04390357 ! 443: C**** FORMATS FOR TEST DETAIL LINES 04400357 ! 444: C**** 04410357 ! 445: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 04420357 ! 446: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 04430357 ! 447: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 04440357 ! 448: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 04450357 ! 449: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 04460357 ! 450: 1I6,/,1H ,15X,10HCORRECT= ,I6) 04470357 ! 451: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04480357 ! 452: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 04490357 ! 453: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04500357 ! 454: 1A21,/,1H ,16X,10HCORRECT= ,A21) 04510357 ! 455: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 04520357 ! 456: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 04530357 ! 457: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 04540357 ! 458: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 04550357 ! 459: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 04560357 ! 460: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 04570357 ! 461: 80050 FORMAT (1H ,48X,A31) 04580357 ! 462: CBE** ********************** BBCFMT0A **********************************04590357 ! 463: CBB** ********************** BBCFMT0B **********************************04600357 ! 464: C**** FORMAT STATEMENTS FOR PAGE HEADERS 04610357 ! 465: C**** 04620357 ! 466: 90002 FORMAT (1H1) 04630357 ! 467: 90004 FORMAT (1H ) 04640357 ! 468: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 04650357 ! 469: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 04660357 ! 470: 90008 FORMAT (1H ,21X,A13,A17) 04670357 ! 471: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 04680357 ! 472: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 04690357 ! 473: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 04700357 ! 474: 1 7X,7HREMARKS,24X) 04710357 ! 475: 90014 FORMAT (1H ,46H----------------------------------------------, 04720357 ! 476: 1 33H---------------------------------) 04730357 ! 477: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 04740357 ! 478: C**** 04750357 ! 479: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04760357 ! 480: C**** 04770357 ! 481: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 04780357 ! 482: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 04790357 ! 483: 1 A13) 04800357 ! 484: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 04810357 ! 485: C**** 04820357 ! 486: C**** FORMAT STATEMENTS FOR RUN SUMMARY 04830357 ! 487: C**** 04840357 ! 488: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 04850357 ! 489: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 04860357 ! 490: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 04870357 ! 491: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 04880357 ! 492: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 04890357 ! 493: CBE** ********************** BBCFMT0B **********************************04900357 ! 494: C***** 04910357 ! 495: C***** END OF TEST SEGMENT 159 04920357 ! 496: STOP 04930357 ! 497: END 04940357 ! 498: 04950357
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.