|
|
1.1 ! root 1: C***********************************************************************00010356 ! 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 00020356 ! 6: C***** FM356 XABS - (156) 00030356 ! 7: C***** 00040356 ! 8: C***********************************************************************00050356 ! 9: C***** GENERAL PURPOSE SUBSET REF00060356 ! 10: C***** TEST INTRINSIC FUNCTION ABS,IABS (ABSOLUTE VALUE) 15.3 00070356 ! 11: C***** (TABLE 5)00080356 ! 12: C***** 00090356 ! 13: CBB** ********************** BBCCOMNT **********************************00100356 ! 14: C**** 00110356 ! 15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120356 ! 16: C**** VERSION 2.0 00130356 ! 17: C**** 00140356 ! 18: C**** 00150356 ! 19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160356 ! 20: C**** GENERAL SERVICES ADMINISTRATION 00170356 ! 21: C**** FEDERAL SOFTWARE TESTING CENTER 00180356 ! 22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190356 ! 23: C**** FALLS CHURCH, VA. 22041 00200356 ! 24: C**** 00210356 ! 25: C**** (703) 756-6153 00220356 ! 26: C**** 00230356 ! 27: CBE** ********************** BBCCOMNT **********************************00240356 ! 28: CBB** ********************** BBCINITA **********************************00250356 ! 29: C**** SPECIFICATION STATEMENTS 00260356 ! 30: C**** 00270356 ! 31: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00280356 ! 32: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00290356 ! 33: CBE** ********************** BBCINITA **********************************00300356 ! 34: CBB** ********************** BBCINITB **********************************00310356 ! 35: C**** INITIALIZE SECTION 00320356 ! 36: DATA ZVERS, ZVERSD, ZDATE 00330356 ! 37: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00340356 ! 38: DATA ZCOMPL, ZNAME, ZTAPE 00350356 ! 39: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00360356 ! 40: DATA ZPROJ, ZTAPED, ZPROG 00370356 ! 41: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00380356 ! 42: DATA REMRKS /' '/ 00390356 ! 43: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00400356 ! 44: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00410356 ! 45: C**** 00420356 ! 46: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00430356 ! 47: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00440356 ! 48: CZ03 ZPROG = 'PROGRAM NAME' 00450356 ! 49: ZDATE = '07-Nov-85 ' *RP ! 50: ZCOMPL = 'CCI 5.2 ' *RP ! 51: ZPROJ = 'TC-85- -410' *RP ! 52: ZNAME = ' ' *RP ! 53: ZTAPE = ' ' *RP ! 54: ZTAPED = '850703 ' *RP ! 55: C 00520356 ! 56: IVPASS = 0 00530356 ! 57: IVFAIL = 0 00540356 ! 58: IVDELE = 0 00550356 ! 59: IVINSP = 0 00560356 ! 60: IVTOTL = 0 00570356 ! 61: IVTOTN = 0 00580356 ! 62: ICZERO = 0 00590356 ! 63: C 00600356 ! 64: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00610356 ! 65: I01 = 05 00620356 ! 66: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00630356 ! 67: I02 = 06 00640356 ! 68: C 00650356 ! 69: I01 = 5 00660356 ! 70: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00670356 ! 71: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00680356 ! 72: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00690356 ! 73: C 00700356 ! 74: I02 = 6 00710356 ! 75: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00720356 ! 76: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00730356 ! 77: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00740356 ! 78: C 00750356 ! 79: CBE** ********************** BBCINITB **********************************00760356 ! 80: NUVI = I02 00770356 ! 81: IVTOTL = 10 00780356 ! 82: ZPROG = 'FM356' 00790356 ! 83: CBB** ********************** BBCHED0A **********************************00800356 ! 84: C**** 00810356 ! 85: C**** WRITE REPORT TITLE 00820356 ! 86: C**** 00830356 ! 87: WRITE (I02, 90002) 00840356 ! 88: WRITE (I02, 90006) 00850356 ! 89: WRITE (I02, 90007) 00860356 ! 90: WRITE (I02, 90008) ZVERS, ZVERSD 00870356 ! 91: WRITE (I02, 90009) ZPROG, ZPROG 00880356 ! 92: WRITE (I02, 90010) ZDATE, ZCOMPL 00890356 ! 93: CBE** ********************** BBCHED0A **********************************00900356 ! 94: C***** 00910356 ! 95: C***** HEADER FOR SEGMENT 156 00920356 ! 96: WRITE(NUVI,15601) 00930356 ! 97: 15601 FORMAT( 1H , // 36H XABS - (156) INTRINSIC FUNCTIONS--// 11X, 00940356 ! 98: 1 26HABS, IABS (ABSOLUTE VALUE)// 00950356 ! 99: 2 20H SUBSET REF. - 15.3) 00960356 ! 100: CBB** ********************** BBCHED0B **********************************00970356 ! 101: C**** WRITE DETAIL REPORT HEADERS 00980356 ! 102: C**** 00990356 ! 103: WRITE (I02,90004) 01000356 ! 104: WRITE (I02,90004) 01010356 ! 105: WRITE (I02,90013) 01020356 ! 106: WRITE (I02,90014) 01030356 ! 107: WRITE (I02,90015) IVTOTL 01040356 ! 108: CBE** ********************** BBCHED0B **********************************01050356 ! 109: C***** 01060356 ! 110: C***** TEST OF ABS 01070356 ! 111: C***** 01080356 ! 112: WRITE(NUVI, 15602) 01090356 ! 113: 15602 FORMAT (/ 8X, 11HTEST OF ABS) 01100356 ! 114: CT001* TEST 1 THE VALUE ZERO 01110356 ! 115: IVTNUM = 1 01120356 ! 116: RDDVS = 0.0 01130356 ! 117: RDAVS = ABS(RDDVS) 01140356 ! 118: IF (RDAVS + .00005) 20010, 10010, 40010 01150356 ! 119: 40010 IF (RDAVS - .00005) 10010, 10010, 20010 01160356 ! 120: 10010 IVPASS = IVPASS + 1 01170356 ! 121: WRITE (NUVI, 80002) IVTNUM 01180356 ! 122: GO TO 0011 01190356 ! 123: 20010 IVFAIL = IVFAIL + 1 01200356 ! 124: RVCORR = 0.0 01210356 ! 125: WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR 01220356 ! 126: 0011 CONTINUE 01230356 ! 127: CT002* TEST 2 ZERO PREFIXED WITH A MINUS SIGN 01240356 ! 128: IVTNUM = 2 01250356 ! 129: RDDVS = 0.0 01260356 ! 130: RDAVS = ABS(-RDDVS) 01270356 ! 131: IF (RDAVS + .00005) 20020, 10020, 40020 01280356 ! 132: 40020 IF (RDAVS - .00005) 10020, 10020, 20020 01290356 ! 133: 10020 IVPASS = IVPASS + 1 01300356 ! 134: WRITE (NUVI, 80002) IVTNUM 01310356 ! 135: GO TO 0021 01320356 ! 136: 20020 IVFAIL = IVFAIL + 1 01330356 ! 137: RVCORR = 0.0 01340356 ! 138: WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR 01350356 ! 139: 0021 CONTINUE 01360356 ! 140: CT003* TEST 3 A POSITIVE NON-INTEGRAL VALUE 01370356 ! 141: IVTNUM = 3 01380356 ! 142: RDDVS = 35.875 01390356 ! 143: RDAVS = ABS(RDDVS) 01400356 ! 144: IF (RDAVS - 35.873) 20030, 10030, 40030 01410356 ! 145: 40030 IF (RDAVS - 35.877) 10030, 10030, 20030 01420356 ! 146: 10030 IVPASS = IVPASS + 1 01430356 ! 147: WRITE (NUVI, 80002) IVTNUM 01440356 ! 148: GO TO 0031 01450356 ! 149: 20030 IVFAIL = IVFAIL + 1 01460356 ! 150: RVCORR = 35.875 01470356 ! 151: WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR 01480356 ! 152: 0031 CONTINUE 01490356 ! 153: CT004* TEST 4 A NEGATIVE NON-INTEGRAL VALUE 01500356 ! 154: IVTNUM = 4 01510356 ! 155: RDBVS = -35.875 01520356 ! 156: RDAVS = ABS(RDBVS) 01530356 ! 157: IF (RDAVS - 35.873) 20040, 10040, 40040 01540356 ! 158: 40040 IF (RDAVS - 35.877) 10040, 10040, 20040 01550356 ! 159: 10040 IVPASS = IVPASS + 1 01560356 ! 160: WRITE (NUVI, 80002) IVTNUM 01570356 ! 161: GO TO 0041 01580356 ! 162: 20040 IVFAIL = IVFAIL + 1 01590356 ! 163: RVCORR = 35.875 01600356 ! 164: WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR 01610356 ! 165: 0041 CONTINUE 01620356 ! 166: CT005* TEST 5 ARITHMETIC EXPRESSION PRESENTED TO FUNCTION 01630356 ! 167: IVTNUM = 5 01640356 ! 168: RDDVS = 2.625 01650356 ! 169: RDEVS = 3.0 01660356 ! 170: RDAVS = ABS(-RDDVS - RDEVS ** 3) 01670356 ! 171: IF (RDAVS - 29.623) 20050, 10050, 40050 01680356 ! 172: 40050 IF (RDAVS - 29.627) 10050, 10050, 20050 01690356 ! 173: 10050 IVPASS = IVPASS + 1 01700356 ! 174: WRITE (NUVI, 80002) IVTNUM 01710356 ! 175: GO TO 0051 01720356 ! 176: 20050 IVFAIL = IVFAIL + 1 01730356 ! 177: RVCORR = 29.625 01740356 ! 178: WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR 01750356 ! 179: 0051 CONTINUE 01760356 ! 180: C***** 01770356 ! 181: C***** TEST OF IABS 01780356 ! 182: C***** 01790356 ! 183: WRITE(NUVI, 15604) 01800356 ! 184: 15604 FORMAT (/ 8X, 12HTEST OF IABS) 01810356 ! 185: C***** 01820356 ! 186: CT006* TEST 6 THE VALUE ZERO 01830356 ! 187: IVTNUM = 6 01840356 ! 188: IDDVI = 0 01850356 ! 189: IDAVI = IABS(IDDVI) 01860356 ! 190: IF (IDAVI - 0) 20060, 10060, 20060 01870356 ! 191: 10060 IVPASS = IVPASS + 1 01880356 ! 192: WRITE (NUVI, 80002) IVTNUM 01890356 ! 193: GO TO 0061 01900356 ! 194: 20060 IVFAIL = IVFAIL + 1 01910356 ! 195: IVCORR = 0 01920356 ! 196: WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR 01930356 ! 197: 0061 CONTINUE 01940356 ! 198: CT007* TEST 7 ZERO PREFIXED WITH A MINUS SIGN 01950356 ! 199: IVTNUM = 7 01960356 ! 200: IDDVI = 0 01970356 ! 201: IDAVI = IABS(-IDDVI) 01980356 ! 202: IF (IDAVI - 0) 20070, 10070, 20070 01990356 ! 203: 10070 IVPASS = IVPASS + 1 02000356 ! 204: WRITE (NUVI, 80002) IVTNUM 02010356 ! 205: GO TO 0071 02020356 ! 206: 20070 IVFAIL = IVFAIL + 1 02030356 ! 207: IVCORR = 0 02040356 ! 208: WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR 02050356 ! 209: 0071 CONTINUE 02060356 ! 210: CT008* TEST 8 A POSITIVE INTEGER 02070356 ! 211: IVTNUM = 8 02080356 ! 212: IDBVI = 73 02090356 ! 213: IDAVI = IABS(IDBVI) 02100356 ! 214: IF (IDAVI - 73) 20080, 10080, 20080 02110356 ! 215: 10080 IVPASS = IVPASS + 1 02120356 ! 216: WRITE (NUVI, 80002) IVTNUM 02130356 ! 217: GO TO 0081 02140356 ! 218: 20080 IVFAIL = IVFAIL + 1 02150356 ! 219: IVCORR = 73 02160356 ! 220: WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR 02170356 ! 221: 0081 CONTINUE 02180356 ! 222: CT009* TEST 9 A NEGATIVE INTEGER 02190356 ! 223: IVTNUM = 9 02200356 ! 224: IDDVI = -10 02210356 ! 225: IDAVI = IABS(IDDVI) 02220356 ! 226: IF (IDAVI - 10) 20090, 10090, 20090 02230356 ! 227: 10090 IVPASS = IVPASS + 1 02240356 ! 228: WRITE (NUVI, 80002) IVTNUM 02250356 ! 229: GO TO 0091 02260356 ! 230: 20090 IVFAIL = IVFAIL + 1 02270356 ! 231: IVCORR = 10 02280356 ! 232: WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR 02290356 ! 233: 0091 CONTINUE 02300356 ! 234: CT010* TEST 10 ARITHMETIC EXPRESSION PRESENTED TO FUNCTION 02310356 ! 235: IVTNUM = 10 02320356 ! 236: IDDVI = -3 02330356 ! 237: IDAVI = IABS(IDDVI ** 3) 02340356 ! 238: IF (IDAVI - 27) 20100, 10100, 20100 02350356 ! 239: 10100 IVPASS = IVPASS + 1 02360356 ! 240: WRITE (NUVI, 80002) IVTNUM 02370356 ! 241: GO TO 0101 02380356 ! 242: 20100 IVFAIL = IVFAIL + 1 02390356 ! 243: IVCORR = 27 02400356 ! 244: WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR 02410356 ! 245: 0101 CONTINUE 02420356 ! 246: C***** 02430356 ! 247: CBB** ********************** BBCSUM0 **********************************02440356 ! 248: C**** WRITE OUT TEST SUMMARY 02450356 ! 249: C**** 02460356 ! 250: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02470356 ! 251: WRITE (I02, 90004) 02480356 ! 252: WRITE (I02, 90014) 02490356 ! 253: WRITE (I02, 90004) 02500356 ! 254: WRITE (I02, 90020) IVPASS 02510356 ! 255: WRITE (I02, 90022) IVFAIL 02520356 ! 256: WRITE (I02, 90024) IVDELE 02530356 ! 257: WRITE (I02, 90026) IVINSP 02540356 ! 258: WRITE (I02, 90028) IVTOTN, IVTOTL 02550356 ! 259: CBE** ********************** BBCSUM0 **********************************02560356 ! 260: CBB** ********************** BBCFOOT0 **********************************02570356 ! 261: C**** WRITE OUT REPORT FOOTINGS 02580356 ! 262: C**** 02590356 ! 263: WRITE (I02,90016) ZPROG, ZPROG 02600356 ! 264: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02610356 ! 265: WRITE (I02,90019) 02620356 ! 266: CBE** ********************** BBCFOOT0 **********************************02630356 ! 267: CBB** ********************** BBCFMT0A **********************************02640356 ! 268: C**** FORMATS FOR TEST DETAIL LINES 02650356 ! 269: C**** 02660356 ! 270: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02670356 ! 271: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02680356 ! 272: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02690356 ! 273: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02700356 ! 274: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02710356 ! 275: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02720356 ! 276: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02730356 ! 277: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02740356 ! 278: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02750356 ! 279: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02760356 ! 280: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02770356 ! 281: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02780356 ! 282: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 02790356 ! 283: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 02800356 ! 284: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 02810356 ! 285: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 02820356 ! 286: 80050 FORMAT (1H ,48X,A31) 02830356 ! 287: CBE** ********************** BBCFMT0A **********************************02840356 ! 288: CBB** ********************** BBCFMT0B **********************************02850356 ! 289: C**** FORMAT STATEMENTS FOR PAGE HEADERS 02860356 ! 290: C**** 02870356 ! 291: 90002 FORMAT (1H1) 02880356 ! 292: 90004 FORMAT (1H ) 02890356 ! 293: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 02900356 ! 294: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 02910356 ! 295: 90008 FORMAT (1H ,21X,A13,A17) 02920356 ! 296: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 02930356 ! 297: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 02940356 ! 298: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 02950356 ! 299: 1 7X,7HREMARKS,24X) 02960356 ! 300: 90014 FORMAT (1H ,46H----------------------------------------------, 02970356 ! 301: 1 33H---------------------------------) 02980356 ! 302: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 02990356 ! 303: C**** 03000356 ! 304: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03010356 ! 305: C**** 03020356 ! 306: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03030356 ! 307: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03040356 ! 308: 1 A13) 03050356 ! 309: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03060356 ! 310: C**** 03070356 ! 311: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03080356 ! 312: C**** 03090356 ! 313: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03100356 ! 314: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03110356 ! 315: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03120356 ! 316: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03130356 ! 317: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03140356 ! 318: CBE** ********************** BBCFMT0B **********************************03150356 ! 319: C***** 03160356 ! 320: C***** END OF TEST SEGMENT 156 03170356 ! 321: STOP 03180356 ! 322: END 03190356 ! 323: 03200356
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.