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

1.1       root        1: C                                                                       00010020
                      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     COMMENT SECTION.                                                  00020020
                      6: C                                                                       00030020
                      7: C     FM020                                                             00040020
                      8: C                                                                       00050020
                      9: C             THIS ROUTINE TESTS THE FORTRAN IN-LINE STATEMENT FUNCTION 00060020
                     10: C     OF TYPE LOGICAL AND INTEGER.  INTEGER CONSTANTS, LOGICAL CONSTANTS00070020
                     11: C     INTEGER VARIABLES, LOGICAL VARIABLES, INTEGER ARITHMETIC EXPRESS- 00080020
                     12: C     IONS ARE ALL USED TO TEST THE STATEMENT FUNCTION DEFINITION AND   00090020
                     13: C     THE VALUE RETURNED FOR THE STATEMENT FUNCTION WHEN IT IS USED     00100020
                     14: C     IN THE MAIN BODY OF THE PROGRAM.                                  00110020
                     15: C                                                                       00120020
                     16: C      REFERENCES                                                       00130020
                     17: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00140020
                     18: C              X3.9-1978                                                00150020
                     19: C                                                                       00160020
                     20: C        SECTION 8.4.1, INTEGER, REAL, DOUBLE PRECISION, COMPLEX, AND   00170020
                     21: C                       LOGICAL TYPE-STATEMENTS                         00180020
                     22: C        SECTION 15.3.2, INTRINSIC FUNCTION REFERENCES                  00190020
                     23: C        SECTION 15.4, STATEMENT FUNCTIONS                              00200020
                     24: C        SECTION 15.4.1, FORMS OF A FUNCTION STATEMENT                  00210020
                     25: C        SECTION 15.4.2, REFERENCING A STATEMENT FUNCTION               00220020
                     26: C        SECTION 15.5.2, EXTERNAL FUNCTION REFERENCES                   00230020
                     27: C                                                                       00240020
                     28:       LOGICAL LFTN01, LDTN01                                            00250020
                     29:       LOGICAL LFTN02, LDTN02                                            00260020
                     30:       LOGICAL LFTN03, LDTN03, LCTN03                                    00270020
                     31:       LOGICAL LFTN04, LDTN04, LCTN04                                    00280020
                     32:       DIMENSION IADN11(2)                                               00290020
                     33: C                                                                       00300020
                     34: C..... TEST 553                                                         00310020
                     35:       IFON01(IDON01) = 32767                                            00320020
                     36: C                                                                       00330020
                     37: C..... TEST 554                                                         00340020
                     38:       LFTN01(LDTN01) = .TRUE.                                           00350020
                     39: C                                                                       00360020
                     40: C..... TEST 555                                                         00370020
                     41:       IFON02 ( IDON02 ) = IDON02                                        00380020
                     42: C                                                                       00390020
                     43: C..... TEST 556                                                         00400020
                     44:       LFTN02( LDTN02 ) = LDTN02                                         00410020
                     45: C                                                                       00420020
                     46: C..... TEST 557                                                         00430020
                     47:       IFON03 (IDON03 )= IDON03                                          00440020
                     48: C                                                                       00450020
                     49: C..... TEST 558                                                         00460020
                     50:       LFTN03(LDTN03) = LDTN03                                           00470020
                     51: C                                                                       00480020
                     52: C..... TEST 559                                                         00490020
                     53:       LFTN04(LDTN04) = .NOT. LDTN04                                     00500020
                     54: C                                                                       00510020
                     55: C..... TEST 560                                                         00520020
                     56:       IFON04(IDON04) = IDON04 ** 2                                      00530020
                     57: C                                                                       00540020
                     58: C..... TEST 561                                                         00550020
                     59:       IFON05(IDON05, IDON06) = IDON05 + IDON06                          00560020
                     60: C                                                                       00570020
                     61: C..... TEST 562                                                         00580020
                     62:       IFON06(IDON07, IDON08) = SQRT(FLOAT(IDON07**2)+FLOAT(IDON08**2))  00590020
                     63: C                                                                       00600020
                     64: C..... TEST 563                                                         00610020
                     65:       IFON07(IDON09) = IDON09 ** 2                                      00620020
                     66:       IFON08(I,J)=SQRT(FLOAT(IFON07(I))+FLOAT(IFON07(J)))               00630020
                     67: C                                                                       00640020
                     68: C..... TEST 564                                                         00650020
                     69:       IFON09(K,L) = K / L + K ** L - K * L                              00660020
                     70: C                                                                       00670020
                     71: C                                                                       00680020
                     72: C                                                                       00690020
                     73: C      **********************************************************       00700020
                     74: C                                                                       00710020
                     75: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00720020
                     76: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00730020
                     77: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00740020
                     78: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00750020
                     79: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00760020
                     80: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00770020
                     81: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00780020
                     82: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00790020
                     83: C     OF EXECUTING THESE TESTS.                                         00800020
                     84: C                                                                       00810020
                     85: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00820020
                     86: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00830020
                     87: C                                                                       00840020
                     88: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00850020
                     89: C                                                                       00860020
                     90: C                  DEPARTMENT OF THE NAVY                               00870020
                     91: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00880020
                     92: C                  WASHINGTON, D.C.  20376                              00890020
                     93: C                                                                       00900020
                     94: C      **********************************************************       00910020
                     95: C                                                                       00920020
                     96: C                                                                       00930020
                     97: C                                                                       00940020
                     98: C     INITIALIZATION SECTION                                            00950020
                     99: C                                                                       00960020
                    100: C     INITIALIZE CONSTANTS                                              00970020
                    101: C      **************                                                   00980020
                    102: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00990020
                    103:       I01 = 5                                                           01000020
                    104: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             01010020
                    105:       I02 = 6                                                           01020020
                    106: C     SYSTEM ENVIRONMENT SECTION                                        01030020
                    107: C                                                                       01040020
                    108:       I01 = 5                                                           01050020
                    109: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      01060020
                    110: C     (UNIT NUMBER FOR CARD READER).                                    01070020
                    111: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 01080020
                    112: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01090020
                    113: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         01100020
                    114: C                                                                       01110020
                    115:       I02 = 6                                                           01120020
                    116: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      01130020
                    117: C     (UNIT NUMBER FOR PRINTER).                                        01140020
                    118: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 01150020
                    119: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01160020
                    120: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         01170020
                    121: C                                                                       01180020
                    122:       IVPASS=0                                                          01190020
                    123:       IVFAIL=0                                                          01200020
                    124:       IVDELE=0                                                          01210020
                    125:       ICZERO=0                                                          01220020
                    126: C                                                                       01230020
                    127: C     WRITE PAGE HEADERS                                                01240020
                    128:       WRITE (I02,90000)                                                 01250020
                    129:       WRITE (I02,90001)                                                 01260020
                    130:       WRITE (I02,90002)                                                 01270020
                    131:       WRITE (I02, 90002)                                                01280020
                    132:       WRITE (I02,90003)                                                 01290020
                    133:       WRITE (I02,90002)                                                 01300020
                    134:       WRITE (I02,90004)                                                 01310020
                    135:       WRITE (I02,90002)                                                 01320020
                    136:       WRITE (I02,90011)                                                 01330020
                    137:       WRITE (I02,90002)                                                 01340020
                    138:       WRITE (I02,90002)                                                 01350020
                    139:       WRITE (I02,90005)                                                 01360020
                    140:       WRITE (I02,90006)                                                 01370020
                    141:       WRITE (I02,90002)                                                 01380020
                    142:       IVTNUM = 553                                                      01390020
                    143: C                                                                       01400020
                    144: C      ****  TEST 553  ****                                             01410020
                    145: C     TEST 553  -  THE VALUE OF THE INTEGER FUNCTION IS SET TO A        01420020
                    146: C         CONSTANT OF 32767 REGARDLESS OF THE VALUE OF THE ARGUEMENT    01430020
                    147: C     SUPPLIED TO THE DUMMY ARGUEMENT.  TEST OF POSITIVE INTEGER        01440020
                    148: C     CONSTANTS FOR A STATEMENT FUNCTION.                               01450020
                    149: C                                                                       01460020
                    150: C                                                                       01470020
                    151:       IF (ICZERO) 35530, 5530, 35530                                    01480020
                    152:  5530 CONTINUE                                                          01490020
                    153:       IVCOMP = IFON01(3)                                                01500020
                    154:       GO TO 45530                                                       01510020
                    155: 35530 IVDELE = IVDELE + 1                                               01520020
                    156:       WRITE (I02,80003) IVTNUM                                          01530020
                    157:       IF (ICZERO) 45530, 5541, 45530                                    01540020
                    158: 45530 IF ( IVCOMP - 32767 )  25530, 15530, 25530                        01550020
                    159: 15530 IVPASS = IVPASS + 1                                               01560020
                    160:       WRITE (I02,80001) IVTNUM                                          01570020
                    161:       GO TO 5541                                                        01580020
                    162: 25530 IVFAIL = IVFAIL + 1                                               01590020
                    163:       IVCORR = 32767                                                    01600020
                    164:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01610020
                    165:  5541 CONTINUE                                                          01620020
                    166:       IVTNUM = 554                                                      01630020
                    167: C                                                                       01640020
                    168: C      ****  TEST 554  ****                                             01650020
                    169: C     TEST 554  -  TEST OF THE STATEMENT FUNCTION OF TYPE LOGICAL       01660020
                    170: C         SET TO THE LOGICAL CONSTANT .TRUE. REGARDLESS OF THE          01670020
                    171: C     ARGUEMENT SUPPLIED TO THE DUMMY ARGUEMENT.                        01680020
                    172: C     A LOGICAL    IF STATEMENT IS USED IN CONJUNCTION WITH THE LOGICAL 01690020
                    173: C     STATEMENT FUNCTION.  THE TRUE PATH IS TESTED.                     01700020
                    174: C                                                                       01710020
                    175: C                                                                       01720020
                    176:       IF (ICZERO) 35540, 5540, 35540                                    01730020
                    177:  5540 CONTINUE                                                          01740020
                    178:       IVON01 = 0                                                        01750020
                    179:       IF ( LFTN01(.FALSE.) )  IVON01 = 1                                01760020
                    180:       GO TO 45540                                                       01770020
                    181: 35540 IVDELE = IVDELE + 1                                               01780020
                    182:       WRITE (I02,80003) IVTNUM                                          01790020
                    183:       IF (ICZERO) 45540, 5551, 45540                                    01800020
                    184: 45540 IF ( IVON01 - 1 )  25540, 15540, 25540                            01810020
                    185: 15540 IVPASS = IVPASS + 1                                               01820020
                    186:       WRITE (I02,80001) IVTNUM                                          01830020
                    187:       GO TO 5551                                                        01840020
                    188: 25540 IVFAIL = IVFAIL + 1                                               01850020
                    189:       IVCOMP = IVON01                                                   01860020
                    190:       IVCORR = 1                                                        01870020
                    191:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01880020
                    192:  5551 CONTINUE                                                          01890020
                    193:       IVTNUM = 555                                                      01900020
                    194: C                                                                       01910020
                    195: C      ****  TEST 555  ****                                             01920020
                    196: C     TEST 555  -  THE INTEGER STATEMENT FUNCTION IS SET TO THE VALUE   01930020
                    197: C         OF THE ARGEUMENT SUPPLIED.                                    01940020
                    198: C                                                                       01950020
                    199: C                                                                       01960020
                    200:       IF (ICZERO) 35550, 5550, 35550                                    01970020
                    201:  5550 CONTINUE                                                          01980020
                    202:       IVCOMP = IFON02 ( 32767 )                                         01990020
                    203:       GO TO 45550                                                       02000020
                    204: 35550 IVDELE = IVDELE + 1                                               02010020
                    205:       WRITE (I02,80003) IVTNUM                                          02020020
                    206:       IF (ICZERO) 45550, 5561, 45550                                    02030020
                    207: 45550 IF ( IVCOMP - 32767 )  25550, 15550, 25550                        02040020
                    208: 15550 IVPASS = IVPASS + 1                                               02050020
                    209:       WRITE (I02,80001) IVTNUM                                          02060020
                    210:       GO TO 5561                                                        02070020
                    211: 25550 IVFAIL = IVFAIL + 1                                               02080020
                    212:       IVCORR = 32767                                                    02090020
                    213:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02100020
                    214:  5561 CONTINUE                                                          02110020
                    215:       IVTNUM = 556                                                      02120020
                    216: C                                                                       02130020
                    217: C      ****  TEST 556  ****                                             02140020
                    218: C     TEST 556  -  TEST OF A LOGICAL STATEMENT FUNCTION SET TO THE      02150020
                    219: C         VALUE OF THE ARGUEMENT SUPPLIED.  THE FALSE PATH OF A LOGICAL 02160020
                    220: C            IF STATEMENT IS USED IN CONJUNCTION WITH THE LOGICAL       02170020
                    221: C         STATEMENT FUNCTION.                                           02180020
                    222: C                                                                       02190020
                    223: C                                                                       02200020
                    224:       IF (ICZERO) 35560, 5560, 35560                                    02210020
                    225:  5560 CONTINUE                                                          02220020
                    226:       IVON01 = 1                                                        02230020
                    227:       IF ( LFTN02(.FALSE.) )  IVON01 = 0                                02240020
                    228:       GO TO 45560                                                       02250020
                    229: 35560 IVDELE = IVDELE + 1                                               02260020
                    230:       WRITE (I02,80003) IVTNUM                                          02270020
                    231:       IF (ICZERO) 45560, 5571, 45560                                    02280020
                    232: 45560 IF ( IVON01 - 1 )  25560, 15560, 25560                            02290020
                    233: 15560 IVPASS = IVPASS + 1                                               02300020
                    234:       WRITE (I02,80001) IVTNUM                                          02310020
                    235:       GO TO 5571                                                        02320020
                    236: 25560 IVFAIL = IVFAIL + 1                                               02330020
                    237:       IVCOMP = IVON01                                                   02340020
                    238:       IVCORR = 1                                                        02350020
                    239:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02360020
                    240:  5571 CONTINUE                                                          02370020
                    241:       IVTNUM = 557                                                      02380020
                    242: C                                                                       02390020
                    243: C      ****  TEST 557  ****                                             02400020
                    244: C     TEST 557  -  THE VALUE OF AN INTEGER FUNCTION IS SET EQUAL TO     02410020
                    245: C         VALUE OF THE ARGUEMENT SUPPLIED.  THIS VALUE IS AN INTEGER    02420020
                    246: C         VARIABLE SET TO 32767.                                        02430020
                    247: C                                                                       02440020
                    248: C                                                                       02450020
                    249:       IF (ICZERO) 35570, 5570, 35570                                    02460020
                    250:  5570 CONTINUE                                                          02470020
                    251:       ICON01 = 32767                                                    02480020
                    252:       IVCOMP = IFON03 ( ICON01 )                                        02490020
                    253:       GO TO 45570                                                       02500020
                    254: 35570 IVDELE = IVDELE + 1                                               02510020
                    255:       WRITE (I02,80003) IVTNUM                                          02520020
                    256:       IF (ICZERO) 45570, 5581, 45570                                    02530020
                    257: 45570 IF ( IVCOMP - 32767 )  25570, 15570, 25570                        02540020
                    258: 15570 IVPASS = IVPASS + 1                                               02550020
                    259:       WRITE (I02,80001) IVTNUM                                          02560020
                    260:       GO TO 5581                                                        02570020
                    261: 25570 IVFAIL = IVFAIL + 1                                               02580020
                    262:       IVCORR = 32767                                                    02590020
                    263:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02600020
                    264:  5581 CONTINUE                                                          02610020
                    265:       IVTNUM = 558                                                      02620020
                    266: C                                                                       02630020
                    267: C      ****  TEST 558  ****                                             02640020
                    268: C     TEST 558 -  A LOGICAL STATEMENT FUNCTION IS SET EQUAL TO THE      02650020
                    269: C         VALUE OF THE ARGUEMENT SUPPLIED.  THIS VALUE IS A LOGICAL     02660020
                    270: C     VARIABLE SET TO .TRUE.  THE TRUE PATH OF A LOGICAL IF             02670020
                    271: C         STATEMENT IS USED IN CONJUNCTION WITH THE LOGICAL STATEMENT   02680020
                    272: C         FUNCTION.                                                     02690020
                    273: C                                                                       02700020
                    274: C                                                                       02710020
                    275:       IF (ICZERO) 35580, 5580, 35580                                    02720020
                    276:  5580 CONTINUE                                                          02730020
                    277:       IVON01 = 0                                                        02740020
                    278:       LCTN03 = .TRUE.                                                   02750020
                    279:       IF ( LFTN03(LCTN03) )  IVON01 = 1                                 02760020
                    280:       GO TO 45580                                                       02770020
                    281: 35580 IVDELE = IVDELE + 1                                               02780020
                    282:       WRITE (I02,80003) IVTNUM                                          02790020
                    283:       IF (ICZERO) 45580, 5591, 45580                                    02800020
                    284: 45580 IF ( IVON01 - 1 )  25580, 15580, 25580                            02810020
                    285: 15580 IVPASS = IVPASS + 1                                               02820020
                    286:       WRITE (I02,80001) IVTNUM                                          02830020
                    287:       GO TO 5591                                                        02840020
                    288: 25580 IVFAIL = IVFAIL + 1                                               02850020
                    289:       IVCOMP = IVON01                                                   02860020
                    290:       IVCORR = 1                                                        02870020
                    291:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02880020
                    292:  5591 CONTINUE                                                          02890020
                    293:       IVTNUM = 559                                                      02900020
                    294: C                                                                       02910020
                    295: C      ****  TEST 559  ****                                             02920020
                    296: C     TEST 559  -  LIKE TEST 558 ONLY THE LOGICAL  .NOT.  IS USED       02930020
                    297: C         IN THE LOGICAL STATEMENT FUNCTION DEFINITION  THE FALSE PATH  02940020
                    298: C         OF A LOGICAL IF STATEMENT IS USED IN CONJUNCTION WITH THE     02950020
                    299: C         LOGICAL STATEMENT FUNCTION.                                   02960020
                    300: C                                                                       02970020
                    301: C                                                                       02980020
                    302:       IF (ICZERO) 35590, 5590, 35590                                    02990020
                    303:  5590 CONTINUE                                                          03000020
                    304:       IVON01 = 1                                                        03010020
                    305:       LCTN04 = .TRUE.                                                   03020020
                    306:       IF ( LFTN04(LCTN04) )  IVON01 = 0                                 03030020
                    307:       GO TO 45590                                                       03040020
                    308: 35590 IVDELE = IVDELE + 1                                               03050020
                    309:       WRITE (I02,80003) IVTNUM                                          03060020
                    310:       IF (ICZERO) 45590, 5601, 45590                                    03070020
                    311: 45590 IF ( IVON01 - 1 )  25590, 15590, 25590                            03080020
                    312: 15590 IVPASS = IVPASS + 1                                               03090020
                    313:       WRITE (I02,80001) IVTNUM                                          03100020
                    314:       GO TO 5601                                                        03110020
                    315: 25590 IVFAIL = IVFAIL + 1                                               03120020
                    316:       IVCOMP = IVON01                                                   03130020
                    317:       IVCORR = 1                                                        03140020
                    318:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03150020
                    319:  5601 CONTINUE                                                          03160020
                    320:       IVTNUM = 560                                                      03170020
                    321: C                                                                       03180020
                    322: C      ****  TEST 560  ****                                             03190020
                    323: C     TEST 560  -  INTEGER EXPONIENTIATION USED IN AN INTEGER           03200020
                    324: C         STATEMENT FUNCTION.                                           03210020
                    325: C                                                                       03220020
                    326: C                                                                       03230020
                    327:       IF (ICZERO) 35600, 5600, 35600                                    03240020
                    328:  5600 CONTINUE                                                          03250020
                    329:       ICON04 = 3                                                        03260020
                    330:       IVCOMP = IFON04(ICON04)                                           03270020
                    331:       GO TO 45600                                                       03280020
                    332: 35600 IVDELE = IVDELE + 1                                               03290020
                    333:       WRITE (I02,80003) IVTNUM                                          03300020
                    334:       IF (ICZERO) 45600, 5611, 45600                                    03310020
                    335: 45600 IF ( IVCOMP - 9 )  25600, 15600, 25600                            03320020
                    336: 15600 IVPASS = IVPASS + 1                                               03330020
                    337:       WRITE (I02,80001) IVTNUM                                          03340020
                    338:       GO TO 5611                                                        03350020
                    339: 25600 IVFAIL = IVFAIL + 1                                               03360020
                    340:       IVCORR = 9                                                        03370020
                    341:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03380020
                    342:  5611 CONTINUE                                                          03390020
                    343:       IVTNUM = 561                                                      03400020
                    344: C                                                                       03410020
                    345: C      ****  TEST 561  ****                                             03420020
                    346: C     TEST 561  -  TEST OF INTEGER ADDITION USING TWO (2) DUMMY         03430020
                    347: C         ARGUEMENTS.                                                   03440020
                    348: C                                                                       03450020
                    349: C                                                                       03460020
                    350:       IF (ICZERO) 35610, 5610, 35610                                    03470020
                    351:  5610 CONTINUE                                                          03480020
                    352:       ICON05 = 9                                                        03490020
                    353:       ICON06 = 16                                                       03500020
                    354:       IVCOMP = IFON05(ICON05, ICON06)                                   03510020
                    355:       GO TO 45610                                                       03520020
                    356: 35610 IVDELE = IVDELE + 1                                               03530020
                    357:       WRITE (I02,80003) IVTNUM                                          03540020
                    358:       IF (ICZERO) 45610, 5621, 45610                                    03550020
                    359: 45610 IF ( IVCOMP - 25 )  25610, 15610, 25610                           03560020
                    360: 15610 IVPASS = IVPASS + 1                                               03570020
                    361:       WRITE (I02,80001) IVTNUM                                          03580020
                    362:       GO TO 5621                                                        03590020
                    363: 25610 IVFAIL = IVFAIL + 1                                               03600020
                    364:       IVCORR = 25                                                       03610020
                    365:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03620020
                    366:  5621 CONTINUE                                                          03630020
                    367:       IVTNUM = 562                                                      03640020
                    368: C                                                                       03650020
                    369: C      ****  TEST 562  ****                                             03660020
                    370: C     TEST 562  -  THIS TEST IS THE SOLUTION OF A RIGHT TRIANGLE        03670020
                    371: C         USING INTEGER STATEMENT FUNCTIONS WHICH REFERENCE THE         03680020
                    372: C         INTRINSIC FUNCTIONS  SQRT  AND  FLOAT.  THIS IS A 3-4-5       03690020
                    373: C         RIGHT TRIANGLE.                                               03700020
                    374: C                                                                       03710020
                    375: C                                                                       03720020
                    376:       IF (ICZERO) 35620, 5620, 35620                                    03730020
                    377:  5620 CONTINUE                                                          03740020
                    378:       ICON07 = 3                                                        03750020
                    379:       ICON08 = 4                                                        03760020
                    380:       IVCOMP = IFON06(ICON07, ICON08)                                   03770020
                    381:       GO TO 45620                                                       03780020
                    382: 35620 IVDELE = IVDELE + 1                                               03790020
                    383:       WRITE (I02,80003) IVTNUM                                          03800020
                    384:       IF (ICZERO) 45620, 5631, 45620                                    03810020
                    385: 45620 IF ( IVCOMP - 5 )  5622, 15620, 5622                              03820020
                    386:  5622 IF ( IVCOMP - 4 ) 25620, 15620, 25620                             03830020
                    387: 15620 IVPASS = IVPASS + 1                                               03840020
                    388:       WRITE (I02,80001) IVTNUM                                          03850020
                    389:       GO TO 5631                                                        03860020
                    390: 25620 IVFAIL = IVFAIL + 1                                               03870020
                    391:       IVCORR = 5                                                        03880020
                    392:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03890020
                    393:  5631 CONTINUE                                                          03900020
                    394:       IVTNUM = 563                                                      03910020
                    395: C                                                                       03920020
                    396: C      ****  TEST 563  ****                                             03930020
                    397: C     TEST 563  -  SOLUTION OF A 3-4-5 RIGHT TRIANGLE LIKE TEST 562     03940020
                    398: C         EXCEPT THAT BOTH INTRINSIC AND PREVIOUSLY DEFINED STATEMENT   03950020
                    399: C         FUNCTIONS ARE USED.                                           03960020
                    400: C                                                                       03970020
                    401: C                                                                       03980020
                    402:       IF (ICZERO) 35630, 5630, 35630                                    03990020
                    403:  5630 CONTINUE                                                          04000020
                    404:       ICON09 = 3                                                        04010020
                    405:       ICON10 = 4                                                        04020020
                    406:       IVCOMP = IFON08(ICON09, ICON10)                                   04030020
                    407:       GO TO 45630                                                       04040020
                    408: 35630 IVDELE = IVDELE + 1                                               04050020
                    409:       WRITE (I02,80003) IVTNUM                                          04060020
                    410:       IF (ICZERO) 45630, 5641, 45630                                    04070020
                    411: 45630 IF ( IVCOMP - 5 )   5632, 15630, 5632                             04080020
                    412:  5632 IF ( IVCOMP - 4 )  25630, 15630, 25630                            04090020
                    413: 15630 IVPASS = IVPASS + 1                                               04100020
                    414:       WRITE (I02,80001) IVTNUM                                          04110020
                    415:       GO TO 5641                                                        04120020
                    416: 25630 IVFAIL = IVFAIL + 1                                               04130020
                    417:       IVCORR = 5                                                        04140020
                    418:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04150020
                    419:  5641 CONTINUE                                                          04160020
                    420:       IVTNUM = 564                                                      04170020
                    421: C                                                                       04180020
                    422: C      ****  TEST 564  ****                                             04190020
                    423: C     TEST 564  -  USE  OF ARRAY ELEMENTS IN AN INTEGER STATEMENT       04200020
                    424: C         FUNCTION WHICH USES THE OPERATIONS OF + - * /  .              04210020
                    425: C                                                                       04220020
                    426: C                                                                       04230020
                    427:       IF (ICZERO) 35640, 5640, 35640                                    04240020
                    428:  5640 CONTINUE                                                          04250020
                    429:       IADN11(1) = 2                                                     04260020
                    430:       IADN11(2) = 2                                                     04270020
                    431:       IVCOMP = IFON09( IADN11(1), IADN11(2) )                           04280020
                    432:       GO TO 45640                                                       04290020
                    433: 35640 IVDELE = IVDELE + 1                                               04300020
                    434:       WRITE (I02,80003) IVTNUM                                          04310020
                    435:       IF (ICZERO) 45640, 5651, 45640                                    04320020
                    436: 45640 IF ( IVCOMP - 1 )  25640, 15640, 25640                            04330020
                    437: 15640 IVPASS = IVPASS + 1                                               04340020
                    438:       WRITE (I02,80001) IVTNUM                                          04350020
                    439:       GO TO 5651                                                        04360020
                    440: 25640 IVFAIL = IVFAIL + 1                                               04370020
                    441:       IVCORR = 1                                                        04380020
                    442:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          04390020
                    443:  5651 CONTINUE                                                          04400020
                    444: C                                                                       04410020
                    445: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             04420020
                    446: 99999 CONTINUE                                                          04430020
                    447:       WRITE (I02,90002)                                                 04440020
                    448:       WRITE (I02,90006)                                                 04450020
                    449:       WRITE (I02,90002)                                                 04460020
                    450:       WRITE (I02,90002)                                                 04470020
                    451:       WRITE (I02,90007)                                                 04480020
                    452:       WRITE (I02,90002)                                                 04490020
                    453:       WRITE (I02,90008)  IVFAIL                                         04500020
                    454:       WRITE (I02,90009) IVPASS                                          04510020
                    455:       WRITE (I02,90010) IVDELE                                          04520020
                    456: C                                                                       04530020
                    457: C                                                                       04540020
                    458: C     TERMINATE ROUTINE EXECUTION                                       04550020
                    459:       STOP                                                              04560020
                    460: C                                                                       04570020
                    461: C     FORMAT STATEMENTS FOR PAGE HEADERS                                04580020
                    462: 90000 FORMAT (1H1)                                                      04590020
                    463: 90002 FORMAT (1H )                                                      04600020
                    464: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            04610020
                    465: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   04620020
                    466: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        04630020
                    467: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 04640020
                    468: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 04650020
                    469: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             04660020
                    470: C                                                                       04670020
                    471: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               04680020
                    472: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        04690020
                    473: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              04700020
                    474: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             04710020
                    475: C                                                                       04720020
                    476: C     FORMAT STATEMENTS FOR TEST RESULTS                                04730020
                    477: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      04740020
                    478: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      04750020
                    479: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   04760020
                    480: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         04770020
                    481: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    04780020
                    482: C                                                                       04790020
                    483: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM020)                          04800020
                    484:       END                                                               04810020

unix.superglobalmegacorp.com

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