Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM037.f, revision 1.1.1.1

1.1       root        1: C     COMMENT SECTION                                                   00010037
                      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                                                                       00020037
                      6: C     FM037                                                             00030037
                      7: C                                                                       00040037
                      8: C         THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE    00050037
                      9: C     FORM                                                              00060037
                     10: C              INTEGER VARIABLE = ARITHMETIC EXPRESSION                 00070037
                     11: C     WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THREE INTEGER      00080037
                     12: C     CONSTANTS AND THE ARITHMETIC OPERATOR /.  BOTH POSITIVE AND NEGA- 00090037
                     13: C     TIVE CONSTANTS ARE USED IN THE ARITHMETIC EXPRESSION.             00100037
                     14: C                                                                       00110037
                     15: C         THERE ARE TESTS WHICH REQUIRE NO TRUNCATION OF THE RESULT     00120037
                     16: C     AND TESTS WHERE THE RESULT MUST BE TRUNCATED BEFORE BEING STORED  00130037
                     17: C     IN THE RESULTANT INTEGER VARIABLE.  THE STANDARD STATES 'THE VALUE00140037
                     18: C     OF AN INTEGER FACTOR OR TERM IS THE NEAREST INTEGER WHOSE MAGNI-  00150037
                     19: C     TUDE DOES NOT EXCEED THE MAGNITUDE OF THE MATHEMATICAL VALUE      00160037
                     20: C     REPRESENTED BY THAT FACTOR OR TERM.  THE ASSOCIATIVE AND COMMUTA- 00170037
                     21: C     TIVE LAWS DO NOT APPLY IN THE EVALUATION OF INTEGER TERMS CON-    00180037
                     22: C     TAINING DIVISION, HENCE THE EVALUATION OF SUCH TERMS MUST EFFEC-  00190037
                     23: C     TIVELY PROCEED FROM LEFT TO RIGHT.'                               00200037
                     24: C                                                                       00210037
                     25: C         THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS      00220037
                     26: C             (1)  INTEGER CONSTANT/INTEGER CONSTANT/INTEGER CONSTANT   00230037
                     27: C                      NO TRUNCATION REQUIRED                           00240037
                     28: C             (2)  INTEGER CONSTANT/INTEGER CONSTANT/INTEGER CONSTANT   00250037
                     29: C                      TRUNCATION REQUIRED                              00260037
                     30: C                                                                       00270037
                     31: C      REFERENCES                                                       00280037
                     32: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00290037
                     33: C              X3.9-1978                                                00300037
                     34: C                                                                       00310037
                     35: C        SECTION 4.3, INTEGER TYPE                                      00320037
                     36: C        SECTION 4.3.1, INTEGER CONSTANT                                00330037
                     37: C        SECTION 6.1, ARITHMETIC EXPRESSIONS                            00340037
                     38: C        SECTION 6.6, EVALUATION OF EXPRESSIONS                         00350037
                     39: C        SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT                  00360037
                     40: C                                                                       00370037
                     41: C      **********************************************************       00380037
                     42: C                                                                       00390037
                     43: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00400037
                     44: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00410037
                     45: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00420037
                     46: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00430037
                     47: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00440037
                     48: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00450037
                     49: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00460037
                     50: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00470037
                     51: C     OF EXECUTING THESE TESTS.                                         00480037
                     52: C                                                                       00490037
                     53: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00500037
                     54: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00510037
                     55: C                                                                       00520037
                     56: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00530037
                     57: C                                                                       00540037
                     58: C                  DEPARTMENT OF THE NAVY                               00550037
                     59: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00560037
                     60: C                  WASHINGTON, D.C.  20376                              00570037
                     61: C                                                                       00580037
                     62: C      **********************************************************       00590037
                     63: C                                                                       00600037
                     64: C                                                                       00610037
                     65: C                                                                       00620037
                     66: C     INITIALIZATION SECTION                                            00630037
                     67: C                                                                       00640037
                     68: C     INITIALIZE CONSTANTS                                              00650037
                     69: C      **************                                                   00660037
                     70: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00670037
                     71:       I01 = 5                                                           00680037
                     72: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00690037
                     73:       I02 = 6                                                           00700037
                     74: C     SYSTEM ENVIRONMENT SECTION                                        00710037
                     75: C                                                                       00720037
                     76:       I01 = 5                                                           00730037
                     77: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00740037
                     78: C     (UNIT NUMBER FOR CARD READER).                                    00750037
                     79: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00760037
                     80: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00770037
                     81: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00780037
                     82: C                                                                       00790037
                     83:       I02 = 6                                                           00800037
                     84: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00810037
                     85: C     (UNIT NUMBER FOR PRINTER).                                        00820037
                     86: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00830037
                     87: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00840037
                     88: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00850037
                     89: C                                                                       00860037
                     90:       IVPASS=0                                                          00870037
                     91:       IVFAIL=0                                                          00880037
                     92:       IVDELE=0                                                          00890037
                     93:       ICZERO=0                                                          00900037
                     94: C                                                                       00910037
                     95: C     WRITE PAGE HEADERS                                                00920037
                     96:       WRITE (I02,90000)                                                 00930037
                     97:       WRITE (I02,90001)                                                 00940037
                     98:       WRITE (I02,90002)                                                 00950037
                     99:       WRITE (I02, 90002)                                                00960037
                    100:       WRITE (I02,90003)                                                 00970037
                    101:       WRITE (I02,90002)                                                 00980037
                    102:       WRITE (I02,90004)                                                 00990037
                    103:       WRITE (I02,90002)                                                 01000037
                    104:       WRITE (I02,90011)                                                 01010037
                    105:       WRITE (I02,90002)                                                 01020037
                    106:       WRITE (I02,90002)                                                 01030037
                    107:       WRITE (I02,90005)                                                 01040037
                    108:       WRITE (I02,90006)                                                 01050037
                    109:       WRITE (I02,90002)                                                 01060037
                    110: C                                                                       01070037
                    111: C     TEST SECTION                                                      01080037
                    112: C                                                                       01090037
                    113: C         ARITHMETIC ASSIGNMENT STATEMENT                               01100037
                    114: C                                                                       01110037
                    115: C     TEST 491 THROUGH TEST 519 CONTAIN THREE INTEGER CONSTANTS AND     01120037
                    116: C     OPERATOR / IN AN ARITHMETIC EXPRESSION.  THE FORM TESTED IS       01130037
                    117: C         INTEGER VARIABLE = INTEGER CONSTANT/INTEGER CONSTANT/INT.CON. 01140037
                    118: C                                                                       01150037
                    119: C                                                                       01160037
                    120: C     TEST 491 THROUGH TEST 496 - POSITIVE INTEGER CONSTANTS            01170037
                    121: C                       NO TRUNCATION REQUIRED                          01180037
                    122: C                                                                       01190037
                    123:  4911 CONTINUE                                                          01200037
                    124:       IVTNUM = 491                                                      01210037
                    125: C                                                                       01220037
                    126: C      ****  TEST 491  ****                                             01230037
                    127: C                                                                       01240037
                    128:       IF (ICZERO) 34910, 4910, 34910                                    01250037
                    129:  4910 CONTINUE                                                          01260037
                    130:       IVCOMP = 24/3/4                                                   01270037
                    131:       GO TO 44910                                                       01280037
                    132: 34910 IVDELE = IVDELE + 1                                               01290037
                    133:       WRITE (I02,80003) IVTNUM                                          01300037
                    134:       IF (ICZERO) 44910, 4921, 44910                                    01310037
                    135: 44910 IF (IVCOMP - 2) 24910,14910,24910                                 01320037
                    136: 14910 IVPASS = IVPASS + 1                                               01330037
                    137:       WRITE (I02,80001) IVTNUM                                          01340037
                    138:       GO TO 4921                                                        01350037
                    139: 24910 IVFAIL = IVFAIL + 1                                               01360037
                    140:       IVCORR = 2                                                        01370037
                    141:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01380037
                    142:  4921 CONTINUE                                                          01390037
                    143:       IVTNUM = 492                                                      01400037
                    144: C                                                                       01410037
                    145: C      ****  TEST 492  ****                                             01420037
                    146: C                                                                       01430037
                    147:       IF (ICZERO) 34920, 4920, 34920                                    01440037
                    148:  4920 CONTINUE                                                          01450037
                    149:       IVCOMP = 330/3/2                                                  01460037
                    150:       GO TO 44920                                                       01470037
                    151: 34920 IVDELE = IVDELE + 1                                               01480037
                    152:       WRITE (I02,80003) IVTNUM                                          01490037
                    153:       IF (ICZERO) 44920, 4931, 44920                                    01500037
                    154: 44920 IF (IVCOMP - 55) 24920,14920,24920                                01510037
                    155: 14920 IVPASS = IVPASS + 1                                               01520037
                    156:       WRITE (I02,80001) IVTNUM                                          01530037
                    157:       GO TO 4931                                                        01540037
                    158: 24920 IVFAIL = IVFAIL + 1                                               01550037
                    159:       IVCORR = 55                                                       01560037
                    160:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01570037
                    161:  4931 CONTINUE                                                          01580037
                    162:       IVTNUM = 493                                                      01590037
                    163: C                                                                       01600037
                    164: C      ****  TEST 493  ****                                             01610037
                    165: C                                                                       01620037
                    166:       IF (ICZERO) 34930, 4930, 34930                                    01630037
                    167:  4930 CONTINUE                                                          01640037
                    168:       IVCOMP = 15249/13/51                                              01650037
                    169:       GO TO 44930                                                       01660037
                    170: 34930 IVDELE = IVDELE + 1                                               01670037
                    171:       WRITE (I02,80003) IVTNUM                                          01680037
                    172:       IF (ICZERO) 44930, 4941, 44930                                    01690037
                    173: 44930 IF (IVCOMP - 23) 24930,14930,24930                                01700037
                    174: 14930 IVPASS = IVPASS + 1                                               01710037
                    175:       WRITE (I02,80001) IVTNUM                                          01720037
                    176:       GO TO 4941                                                        01730037
                    177: 24930 IVFAIL = IVFAIL + 1                                               01740037
                    178:       IVCORR = 23                                                       01750037
                    179:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01760037
                    180:  4941 CONTINUE                                                          01770037
                    181:       IVTNUM = 494                                                      01780037
                    182: C                                                                       01790037
                    183: C      ****  TEST 494  ****                                             01800037
                    184: C                                                                       01810037
                    185:       IF (ICZERO) 34940, 4940, 34940                                    01820037
                    186:  4940 CONTINUE                                                          01830037
                    187:       IVCOMP = 7150/2/25                                                01840037
                    188:       GO TO 44940                                                       01850037
                    189: 34940 IVDELE = IVDELE + 1                                               01860037
                    190:       WRITE (I02,80003) IVTNUM                                          01870037
                    191:       IF (ICZERO) 44940, 4951, 44940                                    01880037
                    192: 44940 IF (IVCOMP - 143) 24940,14940,24940                               01890037
                    193: 14940 IVPASS = IVPASS + 1                                               01900037
                    194:       WRITE (I02,80001) IVTNUM                                          01910037
                    195:       GO TO 4951                                                        01920037
                    196: 24940 IVFAIL = IVFAIL + 1                                               01930037
                    197:       IVCORR = 143                                                      01940037
                    198:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01950037
                    199:  4951 CONTINUE                                                          01960037
                    200:       IVTNUM = 495                                                      01970037
                    201: C                                                                       01980037
                    202: C      ****  TEST 495  ****                                             01990037
                    203: C                                                                       02000037
                    204:       IF (ICZERO) 34950, 4950, 34950                                    02010037
                    205:  4950 CONTINUE                                                          02020037
                    206:       IVCOMP = 32766/2/3                                                02030037
                    207:       GO TO 44950                                                       02040037
                    208: 34950 IVDELE = IVDELE + 1                                               02050037
                    209:       WRITE (I02,80003) IVTNUM                                          02060037
                    210:       IF (ICZERO) 44950, 4961, 44950                                    02070037
                    211: 44950 IF (IVCOMP - 5461) 24950,14950,24950                              02080037
                    212: 14950 IVPASS = IVPASS + 1                                               02090037
                    213:       WRITE (I02,80001) IVTNUM                                          02100037
                    214:       GO TO 4961                                                        02110037
                    215: 24950 IVFAIL = IVFAIL + 1                                               02120037
                    216:       IVCORR = 5461                                                     02130037
                    217:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02140037
                    218:  4961 CONTINUE                                                          02150037
                    219:       IVTNUM = 496                                                      02160037
                    220: C                                                                       02170037
                    221: C      ****  TEST 496  ****                                             02180037
                    222: C                                                                       02190037
                    223:       IF (ICZERO) 34960, 4960, 34960                                    02200037
                    224:  4960 CONTINUE                                                          02210037
                    225:       IVCOMP = 32766/1/1                                                02220037
                    226:       GO TO 44960                                                       02230037
                    227: 34960 IVDELE = IVDELE + 1                                               02240037
                    228:       WRITE (I02,80003) IVTNUM                                          02250037
                    229:       IF (ICZERO) 44960, 4971, 44960                                    02260037
                    230: 44960 IF (IVCOMP - 32766) 24960,14960,24960                             02270037
                    231: 14960 IVPASS = IVPASS + 1                                               02280037
                    232:       WRITE (I02,80001) IVTNUM                                          02290037
                    233:       GO TO 4971                                                        02300037
                    234: 24960 IVFAIL = IVFAIL + 1                                               02310037
                    235:       IVCORR = 32766                                                    02320037
                    236:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02330037
                    237: C                                                                       02340037
                    238: C     TEST 497 THROUGH TEST 502 - POSITIVE INTEGER CONSTANTS            02350037
                    239: C                  TRUNCATION REQUIRED                                  02360037
                    240: C                                                                       02370037
                    241:  4971 CONTINUE                                                          02380037
                    242:       IVTNUM = 497                                                      02390037
                    243: C                                                                       02400037
                    244: C      ****  TEST 497  ****                                             02410037
                    245: C                                                                       02420037
                    246:       IF (ICZERO) 34970, 4970, 34970                                    02430037
                    247:  4970 CONTINUE                                                          02440037
                    248:       IVCOMP = 24/3/3                                                   02450037
                    249:       GO TO 44970                                                       02460037
                    250: 34970 IVDELE = IVDELE + 1                                               02470037
                    251:       WRITE (I02,80003) IVTNUM                                          02480037
                    252:       IF (ICZERO) 44970, 4981, 44970                                    02490037
                    253: 44970 IF (IVCOMP -2) 24970,14970,24970                                  02500037
                    254: 14970 IVPASS = IVPASS + 1                                               02510037
                    255:       WRITE (I02,80001) IVTNUM                                          02520037
                    256:       GO TO 4981                                                        02530037
                    257: 24970 IVFAIL = IVFAIL + 1                                               02540037
                    258:       IVCORR = 2                                                        02550037
                    259:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02560037
                    260:  4981 CONTINUE                                                          02570037
                    261:       IVTNUM = 498                                                      02580037
                    262: C                                                                       02590037
                    263: C      ****  TEST 498  ****                                             02600037
                    264: C                                                                       02610037
                    265:       IF (ICZERO) 34980, 4980, 34980                                    02620037
                    266:  4980 CONTINUE                                                          02630037
                    267:       IVCOMP = 230/2/3                                                  02640037
                    268:       GO TO 44980                                                       02650037
                    269: 34980 IVDELE = IVDELE + 1                                               02660037
                    270:       WRITE (I02,80003) IVTNUM                                          02670037
                    271:       IF (ICZERO) 44980, 4991, 44980                                    02680037
                    272: 44980 IF (IVCOMP - 38) 24980,14980,24980                                02690037
                    273: 14980 IVPASS = IVPASS + 1                                               02700037
                    274:       WRITE (I02,80001) IVTNUM                                          02710037
                    275:       GO TO 4991                                                        02720037
                    276: 24980 IVFAIL = IVFAIL + 1                                               02730037
                    277:       IVCORR = 38                                                       02740037
                    278:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02750037
                    279:  4991 CONTINUE                                                          02760037
                    280:       IVTNUM = 499                                                      02770037
                    281: C                                                                       02780037
                    282: C      ****  TEST 499  ****                                             02790037
                    283: C                                                                       02800037
                    284:       IF (ICZERO) 34990, 4990, 34990                                    02810037
                    285:  4990 CONTINUE                                                          02820037
                    286:       IVCOMP = 7151/3/10                                                02830037
                    287:       GO TO 44990                                                       02840037
                    288: 34990 IVDELE = IVDELE + 1                                               02850037
                    289:       WRITE (I02,80003) IVTNUM                                          02860037
                    290:       IF (ICZERO) 44990, 5001, 44990                                    02870037
                    291: 44990 IF (IVCOMP - 238) 24990,14990,24990                               02880037
                    292: 14990 IVPASS = IVPASS + 1                                               02890037
                    293:       WRITE (I02,80001) IVTNUM                                          02900037
                    294:       GO TO 5001                                                        02910037
                    295: 24990 IVFAIL = IVFAIL + 1                                               02920037
                    296:       IVCORR = 238                                                      02930037
                    297:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02940037
                    298:  5001 CONTINUE                                                          02950037
                    299:       IVTNUM = 500                                                      02960037
                    300: C                                                                       02970037
                    301: C      ****  TEST 500  ****                                             02980037
                    302: C                                                                       02990037
                    303:       IF (ICZERO) 35000, 5000, 35000                                    03000037
                    304:  5000 CONTINUE                                                          03010037
                    305:       IVCOMP = 15248/51/13                                              03020037
                    306:       GO TO 45000                                                       03030037
                    307: 35000 IVDELE = IVDELE + 1                                               03040037
                    308:       WRITE (I02,80003) IVTNUM                                          03050037
                    309:       IF (ICZERO) 45000, 5011, 45000                                    03060037
                    310: 45000 IF (IVCOMP - 22) 25000,15000,25000                                03070037
                    311: 15000 IVPASS = IVPASS + 1                                               03080037
                    312:       WRITE (I02,80001) IVTNUM                                          03090037
                    313:       GO TO 5011                                                        03100037
                    314: 25000 IVFAIL = IVFAIL + 1                                               03110037
                    315:       IVCORR = 22                                                       03120037
                    316:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03130037
                    317:  5011 CONTINUE                                                          03140037
                    318:       IVTNUM = 501                                                      03150037
                    319: C                                                                       03160037
                    320: C      ****  TEST 501  ****                                             03170037
                    321: C                                                                       03180037
                    322:       IF (ICZERO) 35010, 5010, 35010                                    03190037
                    323:  5010 CONTINUE                                                          03200037
                    324:       IVCOMP = 27342/4/3                                                03210037
                    325:       GO TO 45010                                                       03220037
                    326: 35010 IVDELE = IVDELE + 1                                               03230037
                    327:       WRITE (I02,80003) IVTNUM                                          03240037
                    328:       IF (ICZERO) 45010, 5021, 45010                                    03250037
                    329: 45010 IF (IVCOMP - 2278) 25010,15010,25010                              03260037
                    330: 15010 IVPASS = IVPASS + 1                                               03270037
                    331:       WRITE (I02,80001) IVTNUM                                          03280037
                    332:       GO TO 5021                                                        03290037
                    333: 25010 IVFAIL = IVFAIL + 1                                               03300037
                    334:       IVCORR = 2278                                                     03310037
                    335:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03320037
                    336:  5021 CONTINUE                                                          03330037
                    337:       IVTNUM = 502                                                      03340037
                    338: C                                                                       03350037
                    339: C      ****  TEST 502  ****                                             03360037
                    340: C                                                                       03370037
                    341:       IF (ICZERO) 35020, 5020, 35020                                    03380037
                    342:  5020 CONTINUE                                                          03390037
                    343:       IVCOMP = 32767/2/1                                                03400037
                    344:       GO TO 45020                                                       03410037
                    345: 35020 IVDELE = IVDELE + 1                                               03420037
                    346:       WRITE (I02,80003) IVTNUM                                          03430037
                    347:       IF (ICZERO) 45020, 5031, 45020                                    03440037
                    348: 45020 IF (IVCOMP - 16383) 25020,15020,25020                             03450037
                    349: 15020 IVPASS = IVPASS + 1                                               03460037
                    350:       WRITE (I02,80001) IVTNUM                                          03470037
                    351:       GO TO 5031                                                        03480037
                    352: 25020 IVFAIL = IVFAIL + 1                                               03490037
                    353:       IVCORR = 16383                                                    03500037
                    354:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03510037
                    355: C                                                                       03520037
                    356: C     TEST 503 THROUGH TEST 507 - NEGATIVE INTEGER CONSTANTS INCLUDED   03530037
                    357: C                  NO TRUNCATION REQUIRED                               03540037
                    358: C                                                                       03550037
                    359:  5031 CONTINUE                                                          03560037
                    360:       IVTNUM = 503                                                      03570037
                    361: C                                                                       03580037
                    362: C      ****  TEST 503  ****                                             03590037
                    363: C                                                                       03600037
                    364:       IF (ICZERO) 35030, 5030, 35030                                    03610037
                    365:  5030 CONTINUE                                                          03620037
                    366:       IVCOMP = -24/3/4                                                  03630037
                    367:       GO TO 45030                                                       03640037
                    368: 35030 IVDELE = IVDELE + 1                                               03650037
                    369:       WRITE (I02,80003) IVTNUM                                          03660037
                    370:       IF (ICZERO) 45030, 5041, 45030                                    03670037
                    371: 45030 IF (IVCOMP +2) 25030,15030,25030                                  03680037
                    372: 15030 IVPASS = IVPASS + 1                                               03690037
                    373:       WRITE (I02,80001) IVTNUM                                          03700037
                    374:       GO TO 5041                                                        03710037
                    375: 25030 IVFAIL = IVFAIL + 1                                               03720037
                    376:       IVCORR = -2                                                       03730037
                    377:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03740037
                    378:  5041 CONTINUE                                                          03750037
                    379:       IVTNUM = 504                                                      03760037
                    380: C                                                                       03770037
                    381: C      ****  TEST 504  ****                                             03780037
                    382: C                                                                       03790037
                    383:       IF (ICZERO) 35040, 5040, 35040                                    03800037
                    384:  5040 CONTINUE                                                          03810037
                    385:       IVCOMP = 330/(-3)/2                                               03820037
                    386:       GO TO 45040                                                       03830037
                    387: 35040 IVDELE = IVDELE + 1                                               03840037
                    388:       WRITE (I02,80003) IVTNUM                                          03850037
                    389:       IF (ICZERO) 45040, 5051, 45040                                    03860037
                    390: 45040 IF (IVCOMP + 55) 25040,15040,25040                                03870037
                    391: 15040 IVPASS = IVPASS + 1                                               03880037
                    392:       WRITE (I02,80001) IVTNUM                                          03890037
                    393:       GO TO 5051                                                        03900037
                    394: 25040 IVFAIL = IVFAIL + 1                                               03910037
                    395:       IVCORR = -55                                                      03920037
                    396:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03930037
                    397:  5051 CONTINUE                                                          03940037
                    398:       IVTNUM = 505                                                      03950037
                    399: C                                                                       03960037
                    400: C      ****  TEST 505  ****                                             03970037
                    401: C                                                                       03980037
                    402:       IF (ICZERO) 35050, 5050, 35050                                    03990037
                    403:  5050 CONTINUE                                                          04000037
                    404:       IVCOMP = 15249/(-13)/(-51)                                        04010037
                    405:       GO TO 45050                                                       04020037
                    406: 35050 IVDELE = IVDELE + 1                                               04030037
                    407:       WRITE (I02,80003) IVTNUM                                          04040037
                    408:       IF (ICZERO) 45050, 5061, 45050                                    04050037
                    409: 45050 IF (IVCOMP - 23) 25050,15050,25050                                04060037
                    410: 15050 IVPASS = IVPASS + 1                                               04070037
                    411:       WRITE (I02,80001) IVTNUM                                          04080037
                    412:       GO TO 5061                                                        04090037
                    413: 25050 IVFAIL = IVFAIL + 1                                               04100037
                    414:       IVCORR = 23                                                       04110037
                    415:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04120037
                    416:  5061 CONTINUE                                                          04130037
                    417:       IVTNUM = 506                                                      04140037
                    418: C                                                                       04150037
                    419: C      ****  TEST 506  ****                                             04160037
                    420: C                                                                       04170037
                    421:       IF (ICZERO) 35060, 5060, 35060                                    04180037
                    422:  5060 CONTINUE                                                          04190037
                    423:       IVCOMP = -7150/(-2)/(-25)                                         04200037
                    424:       GO TO 45060                                                       04210037
                    425: 35060 IVDELE = IVDELE + 1                                               04220037
                    426:       WRITE (I02,80003) IVTNUM                                          04230037
                    427:       IF (ICZERO) 45060, 5071, 45060                                    04240037
                    428: 45060 IF (IVCOMP + 143) 25060,15060,25060                               04250037
                    429: 15060 IVPASS = IVPASS + 1                                               04260037
                    430:       WRITE (I02,80001) IVTNUM                                          04270037
                    431:       GO TO 5071                                                        04280037
                    432: 25060 IVFAIL = IVFAIL + 1                                               04290037
                    433:       IVCORR = -143                                                     04300037
                    434:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04310037
                    435:  5071 CONTINUE                                                          04320037
                    436:       IVTNUM = 507                                                      04330037
                    437: C                                                                       04340037
                    438: C      ****  TEST 507  ****                                             04350037
                    439: C                                                                       04360037
                    440:       IF (ICZERO) 35070, 5070, 35070                                    04370037
                    441:  5070 CONTINUE                                                          04380037
                    442:       IVCOMP = (-32766)/(-2)/(-3)                                       04390037
                    443:       GO TO 45070                                                       04400037
                    444: 35070 IVDELE = IVDELE + 1                                               04410037
                    445:       WRITE (I02,80003) IVTNUM                                          04420037
                    446:       IF (ICZERO) 45070, 5081, 45070                                    04430037
                    447: 45070 IF (IVCOMP + 5461) 25070,15070,25070                              04440037
                    448: 15070 IVPASS = IVPASS + 1                                               04450037
                    449:       WRITE (I02,80001) IVTNUM                                          04460037
                    450:       GO TO 5081                                                        04470037
                    451: 25070 IVFAIL = IVFAIL + 1                                               04480037
                    452:       IVCORR = -5461                                                    04490037
                    453:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04500037
                    454: C                                                                       04510037
                    455: C     TEST 508 THROUGH TEST 513 - NEGATIVE INTEGER CONSTANTS INCLUDED   04520037
                    456: C                       TRUNCATION REQUIRED                             04530037
                    457: C                                                                       04540037
                    458:  5081 CONTINUE                                                          04550037
                    459:       IVTNUM = 508                                                      04560037
                    460: C                                                                       04570037
                    461: C      ****  TEST 508  ****                                             04580037
                    462: C                                                                       04590037
                    463:       IF (ICZERO) 35080, 5080, 35080                                    04600037
                    464:  5080 CONTINUE                                                          04610037
                    465:       IVCOMP = -24/3/3                                                  04620037
                    466:       GO TO 45080                                                       04630037
                    467: 35080 IVDELE = IVDELE + 1                                               04640037
                    468:       WRITE (I02,80003) IVTNUM                                          04650037
                    469:       IF (ICZERO) 45080, 5091, 45080                                    04660037
                    470: 45080 IF (IVCOMP + 2) 25080,15080,25080                                 04670037
                    471: 15080 IVPASS = IVPASS + 1                                               04680037
                    472:       WRITE (I02,80001) IVTNUM                                          04690037
                    473:       GO TO 5091                                                        04700037
                    474: 25080 IVFAIL = IVFAIL + 1                                               04710037
                    475:       IVCORR = -2                                                       04720037
                    476:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04730037
                    477:  5091 CONTINUE                                                          04740037
                    478:       IVTNUM = 509                                                      04750037
                    479: C                                                                       04760037
                    480: C      ****  TEST 509  ****                                             04770037
                    481: C                                                                       04780037
                    482:       IF (ICZERO) 35090, 5090, 35090                                    04790037
                    483:  5090 CONTINUE                                                          04800037
                    484:       IVCOMP = 230/(-2)/3                                               04810037
                    485:       GO TO 45090                                                       04820037
                    486: 35090 IVDELE = IVDELE + 1                                               04830037
                    487:       WRITE (I02,80003) IVTNUM                                          04840037
                    488:       IF (ICZERO) 45090, 5101, 45090                                    04850037
                    489: 45090 IF (IVCOMP + 38) 25090,15090,25090                                04860037
                    490: 15090 IVPASS = IVPASS + 1                                               04870037
                    491:       WRITE (I02,80001) IVTNUM                                          04880037
                    492:       GO TO 5101                                                        04890037
                    493: 25090 IVFAIL = IVFAIL + 1                                               04900037
                    494:       IVCORR = -38                                                      04910037
                    495:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04920037
                    496:  5101 CONTINUE                                                          04930037
                    497:       IVTNUM = 510                                                      04940037
                    498: C                                                                       04950037
                    499: C      ****  TEST 510  ****                                             04960037
                    500: C                                                                       04970037
                    501:       IF (ICZERO) 35100, 5100, 35100                                    04980037
                    502:  5100 CONTINUE                                                          04990037
                    503:       IVCOMP = 7151/(-3)/(-10)                                          05000037
                    504:       GO TO 45100                                                       05010037
                    505: 35100 IVDELE = IVDELE + 1                                               05020037
                    506:       WRITE (I02,80003) IVTNUM                                          05030037
                    507:       IF (ICZERO) 45100, 5111, 45100                                    05040037
                    508: 45100 IF (IVCOMP - 238) 25100,15100,25100                               05050037
                    509: 15100 IVPASS = IVPASS + 1                                               05060037
                    510:       WRITE (I02,80001) IVTNUM                                          05070037
                    511:       GO TO 5111                                                        05080037
                    512: 25100 IVFAIL = IVFAIL + 1                                               05090037
                    513:       IVCORR = 238                                                      05100037
                    514:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          05110037
                    515:  5111 CONTINUE                                                          05120037
                    516:       IVTNUM = 511                                                      05130037
                    517: C                                                                       05140037
                    518: C      ****  TEST 511  ****                                             05150037
                    519: C                                                                       05160037
                    520:       IF (ICZERO) 35110, 5110, 35110                                    05170037
                    521:  5110 CONTINUE                                                          05180037
                    522:       IVCOMP = -15248/(-51)/(-13)                                       05190037
                    523:       GO TO 45110                                                       05200037
                    524: 35110 IVDELE = IVDELE + 1                                               05210037
                    525:       WRITE (I02,80003) IVTNUM                                          05220037
                    526:       IF (ICZERO) 45110, 5121, 45110                                    05230037
                    527: 45110 IF (IVCOMP + 22) 25110,15110,25110                                05240037
                    528: 15110 IVPASS = IVPASS + 1                                               05250037
                    529:       WRITE (I02,80001) IVTNUM                                          05260037
                    530:       GO TO 5121                                                        05270037
                    531: 25110 IVFAIL = IVFAIL + 1                                               05280037
                    532:       IVCORR = -22                                                      05290037
                    533:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          05300037
                    534:  5121 CONTINUE                                                          05310037
                    535:       IVTNUM = 512                                                      05320037
                    536: C                                                                       05330037
                    537: C      ****  TEST 512  ****                                             05340037
                    538: C                                                                       05350037
                    539:       IF (ICZERO) 35120, 5120, 35120                                    05360037
                    540:  5120 CONTINUE                                                          05370037
                    541:       IVCOMP = (-27342)/(-4)/(-3)                                       05380037
                    542:       GO TO 45120                                                       05390037
                    543: 35120 IVDELE = IVDELE + 1                                               05400037
                    544:       WRITE (I02,80003) IVTNUM                                          05410037
                    545:       IF (ICZERO) 45120, 5131, 45120                                    05420037
                    546: 45120 IF (IVCOMP + 2278) 25120,15120,25120                              05430037
                    547: 15120 IVPASS = IVPASS + 1                                               05440037
                    548:       WRITE (I02,80001) IVTNUM                                          05450037
                    549:       GO TO 5131                                                        05460037
                    550: 25120 IVFAIL = IVFAIL + 1                                               05470037
                    551:       IVCORR = -2278                                                    05480037
                    552:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          05490037
                    553:  5131 CONTINUE                                                          05500037
                    554:       IVTNUM = 513                                                      05510037
                    555: C                                                                       05520037
                    556: C      ****  TEST 513  ****                                             05530037
                    557: C                                                                       05540037
                    558:       IF (ICZERO) 35130, 5130, 35130                                    05550037
                    559:  5130 CONTINUE                                                          05560037
                    560:       IVCOMP = 32767/2/(-1)                                             05570037
                    561:       GO TO 45130                                                       05580037
                    562: 35130 IVDELE = IVDELE + 1                                               05590037
                    563:       WRITE (I02,80003) IVTNUM                                          05600037
                    564:       IF (ICZERO) 45130, 5141, 45130                                    05610037
                    565: 45130 IF (IVCOMP + 16383) 25130,15130,25130                             05620037
                    566: 15130 IVPASS = IVPASS + 1                                               05630037
                    567:       WRITE (I02,80001) IVTNUM                                          05640037
                    568:       GO TO 5141                                                        05650037
                    569: 25130 IVFAIL = IVFAIL + 1                                               05660037
                    570:       IVCORR = -16383                                                   05670037
                    571:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          05680037
                    572: C                                                                       05690037
                    573: C     TEST 514 THROUGH TEST 519 - POSITIVE AND NEGATIVE SIGNED INTEGER  05700037
                    574: C           CONSTANTS IN ARITHMETIC EXPRESSION.                         05710037
                    575: C                                                                       05720037
                    576:  5141 CONTINUE                                                          05730037
                    577:       IVTNUM = 514                                                      05740037
                    578: C                                                                       05750037
                    579: C      ****  TEST 514  ****                                             05760037
                    580: C                                                                       05770037
                    581:       IF (ICZERO) 35140, 5140, 35140                                    05780037
                    582:  5140 CONTINUE                                                          05790037
                    583:       IVCOMP = +24/(-3)/4                                               05800037
                    584:       GO TO 45140                                                       05810037
                    585: 35140 IVDELE = IVDELE + 1                                               05820037
                    586:       WRITE (I02,80003) IVTNUM                                          05830037
                    587:       IF (ICZERO) 45140, 5151, 45140                                    05840037
                    588: 45140 IF (IVCOMP +2) 25140,15140,25140                                  05850037
                    589: 15140 IVPASS = IVPASS + 1                                               05860037
                    590:       WRITE (I02,80001) IVTNUM                                          05870037
                    591:       GO TO 5151                                                        05880037
                    592: 25140 IVFAIL = IVFAIL + 1                                               05890037
                    593:       IVCORR = -2                                                       05900037
                    594:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          05910037
                    595:  5151 CONTINUE                                                          05920037
                    596:       IVTNUM = 515                                                      05930037
                    597: C                                                                       05940037
                    598: C      ****  TEST 515  ****                                             05950037
                    599: C                                                                       05960037
                    600:       IF (ICZERO) 35150, 5150, 35150                                    05970037
                    601:  5150 CONTINUE                                                          05980037
                    602:       IVCOMP = 24/(+3)/(-4)                                             05990037
                    603:       GO TO 45150                                                       06000037
                    604: 35150 IVDELE = IVDELE + 1                                               06010037
                    605:       WRITE (I02,80003) IVTNUM                                          06020037
                    606:       IF (ICZERO) 45150, 5161, 45150                                    06030037
                    607: 45150 IF (IVCOMP +2) 25150,15150,25150                                  06040037
                    608: 15150 IVPASS = IVPASS + 1                                               06050037
                    609:       WRITE (I02,80001) IVTNUM                                          06060037
                    610:       GO TO 5161                                                        06070037
                    611: 25150 IVFAIL = IVFAIL + 1                                               06080037
                    612:       IVCORR = -2                                                       06090037
                    613:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          06100037
                    614:  5161 CONTINUE                                                          06110037
                    615:       IVTNUM = 516                                                      06120037
                    616: C                                                                       06130037
                    617: C      ****  TEST 516  ****                                             06140037
                    618: C                                                                       06150037
                    619:       IF (ICZERO) 35160, 5160, 35160                                    06160037
                    620:  5160 CONTINUE                                                          06170037
                    621:       IVCOMP = -24/(-3)/(+4)                                            06180037
                    622:       GO TO 45160                                                       06190037
                    623: 35160 IVDELE = IVDELE + 1                                               06200037
                    624:       WRITE (I02,80003) IVTNUM                                          06210037
                    625:       IF (ICZERO) 45160, 5171, 45160                                    06220037
                    626: 45160 IF (IVCOMP -2) 25160,15160,25160                                  06230037
                    627: 15160 IVPASS = IVPASS + 1                                               06240037
                    628:       WRITE (I02,80001) IVTNUM                                          06250037
                    629:       GO TO 5171                                                        06260037
                    630: 25160 IVFAIL = IVFAIL + 1                                               06270037
                    631:       IVCORR = 2                                                        06280037
                    632:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          06290037
                    633:  5171 CONTINUE                                                          06300037
                    634:       IVTNUM = 517                                                      06310037
                    635: C                                                                       06320037
                    636: C      ****  TEST 517  ****                                             06330037
                    637: C                                                                       06340037
                    638:       IF (ICZERO) 35170, 5170, 35170                                    06350037
                    639:  5170 CONTINUE                                                          06360037
                    640:       IVCOMP = -16811/(-16812)/(+1)                                     06370037
                    641:       GO TO 45170                                                       06380037
                    642: 35170 IVDELE = IVDELE + 1                                               06390037
                    643:       WRITE (I02,80003) IVTNUM                                          06400037
                    644:       IF (ICZERO) 45170, 5181, 45170                                    06410037
                    645: 45170 IF (IVCOMP - 0) 25170,15170,25170                                 06420037
                    646: 15170 IVPASS = IVPASS + 1                                               06430037
                    647:       WRITE (I02,80001) IVTNUM                                          06440037
                    648:       GO TO 5181                                                        06450037
                    649: 25170 IVFAIL = IVFAIL + 1                                               06460037
                    650:       IVCORR = 0                                                        06470037
                    651:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          06480037
                    652:  5181 CONTINUE                                                          06490037
                    653:       IVTNUM = 518                                                      06500037
                    654: C                                                                       06510037
                    655: C      ****  TEST 518  ****                                             06520037
                    656: C                                                                       06530037
                    657:       IF (ICZERO) 35180, 5180, 35180                                    06540037
                    658:  5180 CONTINUE                                                          06550037
                    659:       IVCOMP = (-16811) / (+16811) / (+1)                               06560037
                    660:       GO TO 45180                                                       06570037
                    661: 35180 IVDELE = IVDELE + 1                                               06580037
                    662:       WRITE (I02,80003) IVTNUM                                          06590037
                    663:       IF (ICZERO) 45180, 5191, 45180                                    06600037
                    664: 45180 IF (IVCOMP +1) 25180,15180,25180                                  06610037
                    665: 15180 IVPASS = IVPASS + 1                                               06620037
                    666:       WRITE (I02,80001) IVTNUM                                          06630037
                    667:       GO TO 5191                                                        06640037
                    668: 25180 IVFAIL = IVFAIL + 1                                               06650037
                    669:       IVCORR = -1                                                       06660037
                    670:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          06670037
                    671:  5191 CONTINUE                                                          06680037
                    672:       IVTNUM = 519                                                      06690037
                    673: C                                                                       06700037
                    674: C      ****  TEST 519  ****                                             06710037
                    675: C                                                                       06720037
                    676:       IF (ICZERO) 35190, 5190, 35190                                    06730037
                    677:  5190 CONTINUE                                                          06740037
                    678:       IVCOMP = (-335)/(+168)/(+1)                                       06750037
                    679:       GO TO 45190                                                       06760037
                    680: 35190 IVDELE = IVDELE + 1                                               06770037
                    681:       WRITE (I02,80003) IVTNUM                                          06780037
                    682:       IF (ICZERO) 45190, 5201, 45190                                    06790037
                    683: 45190 IF (IVCOMP + 1) 25190,15190,25190                                 06800037
                    684: 15190 IVPASS = IVPASS + 1                                               06810037
                    685:       WRITE (I02,80001) IVTNUM                                          06820037
                    686:       GO TO 5201                                                        06830037
                    687: 25190 IVFAIL = IVFAIL + 1                                               06840037
                    688:       IVCORR = -1                                                       06850037
                    689:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          06860037
                    690: C      ****    END OF TESTS    ****                                     06870037
                    691:  5201 CONTINUE                                                          06880037
                    692: C                                                                       06890037
                    693: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             06900037
                    694: 99999 CONTINUE                                                          06910037
                    695:       WRITE (I02,90002)                                                 06920037
                    696:       WRITE (I02,90006)                                                 06930037
                    697:       WRITE (I02,90002)                                                 06940037
                    698:       WRITE (I02,90002)                                                 06950037
                    699:       WRITE (I02,90007)                                                 06960037
                    700:       WRITE (I02,90002)                                                 06970037
                    701:       WRITE (I02,90008)  IVFAIL                                         06980037
                    702:       WRITE (I02,90009) IVPASS                                          06990037
                    703:       WRITE (I02,90010) IVDELE                                          07000037
                    704: C                                                                       07010037
                    705: C                                                                       07020037
                    706: C     TERMINATE ROUTINE EXECUTION                                       07030037
                    707:       STOP                                                              07040037
                    708: C                                                                       07050037
                    709: C     FORMAT STATEMENTS FOR PAGE HEADERS                                07060037
                    710: 90000 FORMAT (1H1)                                                      07070037
                    711: 90002 FORMAT (1H )                                                      07080037
                    712: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            07090037
                    713: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   07100037
                    714: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        07110037
                    715: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 07120037
                    716: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 07130037
                    717: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             07140037
                    718: C                                                                       07150037
                    719: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               07160037
                    720: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        07170037
                    721: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              07180037
                    722: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             07190037
                    723: C                                                                       07200037
                    724: C     FORMAT STATEMENTS FOR TEST RESULTS                                07210037
                    725: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      07220037
                    726: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      07230037
                    727: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   07240037
                    728: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         07250037
                    729: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    07260037
                    730: C                                                                       07270037
                    731: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM037)                          07280037
                    732:       END                                                               07290037

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.