|
|
1.1 ! root 1: C***********************************************************************00010353 ! 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 00020353 ! 6: C***** FM353 XINT - (150) 00030353 ! 7: C***** 00040353 ! 8: C***********************************************************************00050353 ! 9: C***** GENERAL PURPOSE SUBSET REF00060353 ! 10: C***** TEST INTRINSIC FUNCTION - IFIX - (CONVERSION FROM 15.3 00070353 ! 11: C***** REAL TO INTEGER) (TABLE 5)00080353 ! 12: C***** TEST INTRINSIC FUNCTION - INT - (TRUNCATION -- SIGN 00090353 ! 13: C***** OF A * LARGEST INTEGER LE ABS(A) ) 00100353 ! 14: C***** 00110353 ! 15: C***** 00120353 ! 16: CBB** ********************** BBCCOMNT **********************************00130353 ! 17: C**** 00140353 ! 18: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00150353 ! 19: C**** VERSION 2.0 00160353 ! 20: C**** 00170353 ! 21: C**** 00180353 ! 22: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00190353 ! 23: C**** GENERAL SERVICES ADMINISTRATION 00200353 ! 24: C**** FEDERAL SOFTWARE TESTING CENTER 00210353 ! 25: C**** 5203 LEESBURG PIKE, SUITE 1100 00220353 ! 26: C**** FALLS CHURCH, VA. 22041 00230353 ! 27: C**** 00240353 ! 28: C**** (703) 756-6153 00250353 ! 29: C**** 00260353 ! 30: CBE** ********************** BBCCOMNT **********************************00270353 ! 31: CBB** ********************** BBCINITA **********************************00280353 ! 32: C**** SPECIFICATION STATEMENTS 00290353 ! 33: C**** 00300353 ! 34: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00310353 ! 35: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00320353 ! 36: CBE** ********************** BBCINITA **********************************00330353 ! 37: CBB** ********************** BBCINITB **********************************00340353 ! 38: C**** INITIALIZE SECTION 00350353 ! 39: DATA ZVERS, ZVERSD, ZDATE 00360353 ! 40: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00370353 ! 41: DATA ZCOMPL, ZNAME, ZTAPE 00380353 ! 42: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00390353 ! 43: DATA ZPROJ, ZTAPED, ZPROG 00400353 ! 44: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00410353 ! 45: DATA REMRKS /' '/ 00420353 ! 46: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00430353 ! 47: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00440353 ! 48: C**** 00450353 ! 49: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00460353 ! 50: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00470353 ! 51: CZ03 ZPROG = 'PROGRAM NAME' 00480353 ! 52: ZDATE = '07-Nov-85 ' *RP ! 53: ZCOMPL = 'CCI 5.2 ' *RP ! 54: ZPROJ = 'TC-85- -410' *RP ! 55: ZNAME = ' ' *RP ! 56: ZTAPE = ' ' *RP ! 57: ZTAPED = '850703 ' *RP ! 58: C 00550353 ! 59: IVPASS = 0 00560353 ! 60: IVFAIL = 0 00570353 ! 61: IVDELE = 0 00580353 ! 62: IVINSP = 0 00590353 ! 63: IVTOTL = 0 00600353 ! 64: IVTOTN = 0 00610353 ! 65: ICZERO = 0 00620353 ! 66: C 00630353 ! 67: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00640353 ! 68: I01 = 05 00650353 ! 69: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00660353 ! 70: I02 = 06 00670353 ! 71: C 00680353 ! 72: I01 = 5 00690353 ! 73: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00700353 ! 74: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00710353 ! 75: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00720353 ! 76: C 00730353 ! 77: I02 = 6 00740353 ! 78: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00750353 ! 79: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00760353 ! 80: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00770353 ! 81: C 00780353 ! 82: CBE** ********************** BBCINITB **********************************00790353 ! 83: NUVI = I02 00800353 ! 84: IVTOTL = 14 00810353 ! 85: ZPROG='FM353' 00820353 ! 86: CBB** ********************** BBCHED0A **********************************00830353 ! 87: C**** 00840353 ! 88: C**** WRITE REPORT TITLE 00850353 ! 89: C**** 00860353 ! 90: WRITE (I02, 90002) 00870353 ! 91: WRITE (I02, 90006) 00880353 ! 92: WRITE (I02, 90007) 00890353 ! 93: WRITE (I02, 90008) ZVERS, ZVERSD 00900353 ! 94: WRITE (I02, 90009) ZPROG, ZPROG 00910353 ! 95: WRITE (I02, 90010) ZDATE, ZCOMPL 00920353 ! 96: CBE** ********************** BBCHED0A **********************************00930353 ! 97: C***** 00940353 ! 98: C***** HEADER FOR SEGMENT 150 00950353 ! 99: WRITE (NUVI,15001) 00960353 ! 100: 15001 FORMAT (1H ,/ 2X,34HXINT - (150) INTRINSIC FUNCTIONS-- /17X, 00970353 ! 101: 1 28H IFIX, INT (TYPE CONVERSION)/ 2X, 00980353 ! 102: 2 18HSUBSET REF. - 15.3) 00990353 ! 103: C***** 01000353 ! 104: CBB** ********************** BBCHED0B **********************************01010353 ! 105: C**** WRITE DETAIL REPORT HEADERS 01020353 ! 106: C**** 01030353 ! 107: WRITE (I02,90004) 01040353 ! 108: WRITE (I02,90004) 01050353 ! 109: WRITE (I02,90013) 01060353 ! 110: WRITE (I02,90014) 01070353 ! 111: WRITE (I02,90015) IVTOTL 01080353 ! 112: CBE** ********************** BBCHED0B **********************************01090353 ! 113: 15003 FORMAT(1X,2X,I3,4X,7HINSPECT,5X, I5, 5X, I5) 01100353 ! 114: 15004 FORMAT( /48X,30H BELOW ANSWERS SHOULD BE ZERO /49X, 01110353 ! 115: 1 25HFOR TEST SEGMENT TO PASS ) 01120353 ! 116: 15005 FORMAT (49X,26H- EACH TEST HAS TWO PARTS.) 01130353 ! 117: WRITE (NUVI, 15005) 01140353 ! 118: WRITE(NUVI, 15004) 01150353 ! 119: WRITE(NUVI,15002) 01160353 ! 120: 15002 FORMAT (23X, 5H IFIX, 5X, 5H INT ) 01170353 ! 121: C***** 01180353 ! 122: CT001* TEST 1 THE VALUE ZERO 01190353 ! 123: IVTNUM = 1 01200353 ! 124: RACVS = 0.0 01210353 ! 125: IAAVI = IFIX(RACVS) 01220353 ! 126: IABVI = INT(RACVS) 01230353 ! 127: IADVI = IAAVI - 0 01240353 ! 128: IAEVI = IABVI - 0 01250353 ! 129: WRITE(NUVI,15003) IVTNUM,IADVI, IAEVI 01260353 ! 130: CT002* TEST 2 A VALUE IN (0,1) 01270353 ! 131: IVTNUM = 2 01280353 ! 132: RACVS = 0.375 01290353 ! 133: IAAVI = IFIX(RACVS) 01300353 ! 134: IABVI = INT(RACVS) 01310353 ! 135: IADVI = IAAVI - 0 01320353 ! 136: IAEVI = IABVI - 0 01330353 ! 137: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01340353 ! 138: CT003* TEST 3 THE VALUE ONE 01350353 ! 139: IVTNUM = 3 01360353 ! 140: RACVS = 1.00001 01370353 ! 141: IAAVI = IFIX(RACVS) 01380353 ! 142: IABVI = INT(RACVS) 01390353 ! 143: IADVI = IAAVI - 1 01400353 ! 144: IAEVI = IABVI - 1 01410353 ! 145: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01420353 ! 146: CT004* TEST 4 AN INTEGRAL VALUE OTHER THAN 0 OR 1 01430353 ! 147: IVTNUM = 4 01440353 ! 148: RACVS = 6.00001 01450353 ! 149: IAAVI = IFIX(RACVS) 01460353 ! 150: IABVI = INT(RACVS) 01470353 ! 151: IADVI = IAAVI - 6 01480353 ! 152: IAEVI = IABVI - 6 01490353 ! 153: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01500353 ! 154: CT005* TEST 5 A VALUE IN (X,X+1) 01510353 ! 155: IVTNUM = 5 01520353 ! 156: RACVS = 3.75 01530353 ! 157: IAAVI = IFIX(RACVS) 01540353 ! 158: IABVI = INT(RACVS) 01550353 ! 159: IADVI = IAAVI - 3 01560353 ! 160: IAEVI = IABVI - 3 01570353 ! 161: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01580353 ! 162: CT006* TEST 6 A NEGATIVE VALUE WITH MAGNITUDE IN (0,1) 01590353 ! 163: IVTNUM = 6 01600353 ! 164: RACVS = -0.375 01610353 ! 165: IAAVI = IFIX(RACVS) 01620353 ! 166: IABVI = INT(RACVS) 01630353 ! 167: IADVI = IAAVI - 0 01640353 ! 168: IAEVI = IABVI - 0 01650353 ! 169: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01660353 ! 170: CT007* TEST 7 THE VALUE -1 01670353 ! 171: IVTNUM = 7 01680353 ! 172: RACVS = -1.00001 01690353 ! 173: IAAVI = IFIX(RACVS) 01700353 ! 174: IABVI = INT(RACVS) 01710353 ! 175: IADVI = IAAVI + 1 01720353 ! 176: IAEVI = IABVI + 1 01730353 ! 177: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01740353 ! 178: CT008* TEST 8 A NEGATIVE INTEGRAL VALUE 01750353 ! 179: IVTNUM = 8 01760353 ! 180: RACVS = -6.00001 01770353 ! 181: IAAVI = IFIX(RACVS) 01780353 ! 182: IABVI = INT(RACVS) 01790353 ! 183: IADVI = IAAVI + 6 01800353 ! 184: IAEVI = IABVI + 6 01810353 ! 185: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01820353 ! 186: CT009* TEST 9 A NEGATIVE VALUE WITH MAGNITUDE IN (X,X+1) 01830353 ! 187: IVTNUM = 9 01840353 ! 188: RACVS = -3.75 01850353 ! 189: IAAVI = IFIX(RACVS) 01860353 ! 190: IABVI = INT(RACVS) 01870353 ! 191: IADVI = IAAVI + 3 01880353 ! 192: IAEVI = IABVI + 3 01890353 ! 193: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01900353 ! 194: CT010* TEST 10 ZERO PREFIXED WITH A MINUS SIGN 01910353 ! 195: IVTNUM = 10 01920353 ! 196: RACVS = 0 01930353 ! 197: IAAVI = IFIX(-RACVS) 01940353 ! 198: IABVI = INT(-RACVS) 01950353 ! 199: IADVI = IAAVI - 0 01960353 ! 200: IAEVI = IABVI - 0 01970353 ! 201: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 01980353 ! 202: CT011* TEST 011 IFIX, INT USED IN AN ARITHMETIC EXPRESSION 01990353 ! 203: IVTNUM = 011 02000353 ! 204: RAAVS = 3.75 02010353 ! 205: IAFVI = 3 02020353 ! 206: IAAVI = 25 + IAFVI * IFIX(RAAVS) 02030353 ! 207: IABVI = 25 + IAFVI * INT(RAAVS) 02040353 ! 208: IADVI = IAAVI - 34 02050353 ! 209: IAEVI = IABVI - 34 02060353 ! 210: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 02070353 ! 211: CT012* TEST 12 AN ARITHMETIC EXPRESSION PRESENTED TO IFIX, INT 02080353 ! 212: IVTNUM = 12 02090353 ! 213: RAAVS = 25.5 02100353 ! 214: RABVS = 12.25 02110353 ! 215: IAAVI = IFIX(RAAVS - RABVS) 02120353 ! 216: IABVI = INT(RAAVS - RABVS) 02130353 ! 217: IADVI = IAAVI - 13 02140353 ! 218: IAEVI = IABVI - 13 02150353 ! 219: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 02160353 ! 220: CT013* TEST 13 COMPARE AUTOMATIC TYPE CONVERSION TO EXPLICIT 02170353 ! 221: IVTNUM = 13 02180353 ! 222: RAAVS = 11.75 02190353 ! 223: RABVS = 12.625 02200353 ! 224: IAAVI = IFIX(RAAVS + RABVS) 02210353 ! 225: IABVI = INT(RAAVS + RABVS) 02220353 ! 226: IACVI = RAAVS + RABVS 02230353 ! 227: IADVI = IAAVI - IACVI 02240353 ! 228: IAEVI = IABVI - IACVI 02250353 ! 229: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 02260353 ! 230: CT014* TEST 14 ARGUMENT OF LOW MAGNITUDE 02270353 ! 231: IVTNUM = 14 02280353 ! 232: RACVS = -3.05923E-33 02290353 ! 233: IAAVI = IFIX(RACVS) 02300353 ! 234: IABVI = INT(RACVS) 02310353 ! 235: IADVI = IAAVI - 0 02320353 ! 236: IAEVI = IABVI - 0 02330353 ! 237: WRITE(NUVI,15003) IVTNUM, IADVI, IAEVI 02340353 ! 238: C***** 02350353 ! 239: C***** 02360353 ! 240: IVINSP = 14 02370353 ! 241: CBB** ********************** BBCSUM0 **********************************02380353 ! 242: C**** WRITE OUT TEST SUMMARY 02390353 ! 243: C**** 02400353 ! 244: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02410353 ! 245: WRITE (I02, 90004) 02420353 ! 246: WRITE (I02, 90014) 02430353 ! 247: WRITE (I02, 90004) 02440353 ! 248: WRITE (I02, 90020) IVPASS 02450353 ! 249: WRITE (I02, 90022) IVFAIL 02460353 ! 250: WRITE (I02, 90024) IVDELE 02470353 ! 251: WRITE (I02, 90026) IVINSP 02480353 ! 252: WRITE (I02, 90028) IVTOTN, IVTOTL 02490353 ! 253: CBE** ********************** BBCSUM0 **********************************02500353 ! 254: CBB** ********************** BBCFOOT0 **********************************02510353 ! 255: C**** WRITE OUT REPORT FOOTINGS 02520353 ! 256: C**** 02530353 ! 257: WRITE (I02,90016) ZPROG, ZPROG 02540353 ! 258: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02550353 ! 259: WRITE (I02,90019) 02560353 ! 260: CBE** ********************** BBCFOOT0 **********************************02570353 ! 261: CBB** ********************** BBCFMT0A **********************************02580353 ! 262: C**** FORMATS FOR TEST DETAIL LINES 02590353 ! 263: C**** 02600353 ! 264: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02610353 ! 265: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02620353 ! 266: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02630353 ! 267: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02640353 ! 268: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02650353 ! 269: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02660353 ! 270: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02670353 ! 271: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02680353 ! 272: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02690353 ! 273: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02700353 ! 274: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02710353 ! 275: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02720353 ! 276: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 02730353 ! 277: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 02740353 ! 278: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 02750353 ! 279: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 02760353 ! 280: 80050 FORMAT (1H ,48X,A31) 02770353 ! 281: CBE** ********************** BBCFMT0A **********************************02780353 ! 282: CBB** ********************** BBCFMT0B **********************************02790353 ! 283: C**** FORMAT STATEMENTS FOR PAGE HEADERS 02800353 ! 284: C**** 02810353 ! 285: 90002 FORMAT (1H1) 02820353 ! 286: 90004 FORMAT (1H ) 02830353 ! 287: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 02840353 ! 288: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 02850353 ! 289: 90008 FORMAT (1H ,21X,A13,A17) 02860353 ! 290: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 02870353 ! 291: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 02880353 ! 292: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 02890353 ! 293: 1 7X,7HREMARKS,24X) 02900353 ! 294: 90014 FORMAT (1H ,46H----------------------------------------------, 02910353 ! 295: 1 33H---------------------------------) 02920353 ! 296: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 02930353 ! 297: C**** 02940353 ! 298: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 02950353 ! 299: C**** 02960353 ! 300: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 02970353 ! 301: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 02980353 ! 302: 1 A13) 02990353 ! 303: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03000353 ! 304: C**** 03010353 ! 305: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03020353 ! 306: C**** 03030353 ! 307: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03040353 ! 308: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03050353 ! 309: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03060353 ! 310: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03070353 ! 311: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03080353 ! 312: CBE** ********************** BBCFMT0B **********************************03090353 ! 313: C***** 03100353 ! 314: C***** END OF TEST SEGMENT 150 03110353 ! 315: STOP 03120353 ! 316: END 03130353 ! 317: 03140353
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.