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

1.1       root        1:       PROGRAM FM306                                                     00010306
                      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                                                                       00020306
                      6: C                                                                       00030306
                      7: C          THIS ROUTINE TESTS THE USE OF THE SUBSET LEVEL FEATURES OF   00040306
                      8: C     THE IMPLICIT SPECIFICATION STATEMENT.  THE DEFAULT IMPLIED INTEGER00050306
                      9: C     AND REAL TYPING IS EITHER CONFIRMED OR OVERRIDDEN TO SPECIFY      00060306
                     10: C     INTEGER, REAL AND LOGICAL TYPING.  ALL 26 ALPHABETIC LETTERS ARE  00070306
                     11: C     USED TO INDICATE THE IMPLICIT TYPING.  VARIABLE AND ARRAY         00080306
                     12: C     ENTITIES ARE USED TO TEST THE ACTUAL TYPING.  THE SUBSET LEVEL    00090306
                     13: C     FEATURES OF THE IMPLICIT STATEMENT ARE ALSO TESTED IN ROUTINES    00100306
                     14: C     FM201 AND FM251.                                                  00110306
                     15: C                                                                       00120306
                     16: C     REFERENCES.                                                       00130306
                     17: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00140306
                     18: C           X3.9-1978                                                   00150306
                     19: C                                                                       00160306
                     20: C        SECTION 4.1.2, TYPE RULES FOR DATA AND PROCEDURE IDENTIFIERS.  00170306
                     21: C        SECTION 8.5,   IMPLICIT STATEMENT                              00180306
                     22: C                                                                       00190306
                     23: C                                                                       00200306
                     24: C     ******************************************************************00210306
                     25: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00220306
                     26: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00230306
                     27: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00240306
                     28: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00250306
                     29: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00260306
                     30: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00270306
                     31: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00280306
                     32: C     THE RESULT OF EXECUTING THESE TESTS.                              00290306
                     33: C                                                                       00300306
                     34: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00310306
                     35: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00320306
                     36: C                                                                       00330306
                     37: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00340306
                     38: C                    DEPARTMENT OF THE NAVY                             00350306
                     39: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00360306
                     40: C                    WASHINGTON, D.C.   20376                           00370306
                     41: C                                                                       00380306
                     42: C     ******************************************************************00390306
                     43: C                                                                       00400306
                     44: C                                                                       00410306
                     45:       IMPLICIT LOGICAL (L)                                              00420306
                     46:       IMPLICIT CHARACTER*14 (C)                                         00430306
                     47: C                                                                       00440306
                     48:       IMPLICIT INTEGER (A)                                              00450306
                     49:       IMPLICIT LOGICAL (B)                                              00460306
                     50:       IMPLICIT INTEGER (D,E,F)                                          00470306
                     51:       IMPLICIT REAL (G-H)                                               00480306
                     52:       IMPLICIT INTEGER (I)                                              00490306
                     53:       IMPLICIT REAL (J)                                                 00500306
                     54:       IMPLICIT INTEGER (K,O-Q)                                          00510306
                     55:       IMPLICIT REAL (M), REAL (N)                                       00520306
                     56:       IMPLICIT REAL (R)                                                 00530306
                     57:       IMPLICIT REAL (S), INTEGER (T-V)                                  00540306
                     58:       IMPLICIT INTEGER (W), REAL (X), LOGICAL (Y), INTEGER (Z)          00550306
                     59:       DIMENSION AAIN11(5)                                               00560306
                     60:       DIMENSION HAIN11(5)                                               00570306
                     61: C                                                                       00580306
                     62: C                                                                       00590306
                     63: C                                                                       00600306
                     64: C     INITIALIZATION SECTION.                                           00610306
                     65: C                                                                       00620306
                     66: C     INITIALIZE CONSTANTS                                              00630306
                     67: C     ********************                                              00640306
                     68: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00650306
                     69:       I01 = 5                                                           00660306
                     70: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00670306
                     71:       I02 = 6                                                           00680306
                     72: C     SYSTEM ENVIRONMENT SECTION                                        00690306
                     73: C                                                                       00700306
                     74:       I01 = 5                                                           00710306
                     75: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00720306
                     76: C     (UNIT NUMBER FOR CARD READER).                                    00730306
                     77: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00740306
                     78: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00750306
                     79: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00760306
                     80: C                                                                       00770306
                     81:       I02 = 6                                                           00780306
                     82: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00790306
                     83: C     (UNIT NUMBER FOR PRINTER).                                        00800306
                     84: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00810306
                     85: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00820306
                     86: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00830306
                     87: C                                                                       00840306
                     88:       IVPASS = 0                                                        00850306
                     89:       IVFAIL = 0                                                        00860306
                     90:       IVDELE = 0                                                        00870306
                     91:       ICZERO = 0                                                        00880306
                     92: C                                                                       00890306
                     93: C     WRITE OUT PAGE HEADERS                                            00900306
                     94: C                                                                       00910306
                     95:       WRITE (I02,90002)                                                 00920306
                     96:       WRITE (I02,90006)                                                 00930306
                     97:       WRITE (I02,90008)                                                 00940306
                     98:       WRITE (I02,90004)                                                 00950306
                     99:       WRITE (I02,90010)                                                 00960306
                    100:       WRITE (I02,90004)                                                 00970306
                    101:       WRITE (I02,90016)                                                 00980306
                    102:       WRITE (I02,90001)                                                 00990306
                    103:       WRITE (I02,90004)                                                 01000306
                    104:       WRITE (I02,90012)                                                 01010306
                    105:       WRITE (I02,90014)                                                 01020306
                    106:       WRITE (I02,90004)                                                 01030306
                    107: C                                                                       01040306
                    108: C                                                                       01050306
                    109: C     ****  FCVS PROGRAM 306  -  TEST 001  ****                         01060306
                    110: C                                                                       01070306
                    111: C     TEST 001 IS DESIGNED TO CONFIRM IMPLICIT INTEGER TYPING.          01080306
                    112: C                                                                       01090306
                    113:       IVTNUM =   1                                                      01100306
                    114:       IF (ICZERO) 30010, 0010, 30010                                    01110306
                    115:  0010 CONTINUE                                                          01120306
                    116:       RVCOMP = 10.0                                                     01130306
                    117:       IVIN01 = 4                                                        01140306
                    118:       RVCOMP = IVIN01 / 5                                               01150306
                    119:       RVCORR = 0.0                                                      01160306
                    120: 40010 IF (RVCOMP) 20010, 10010, 20010                                   01170306
                    121: 30010 IVDELE = IVDELE + 1                                               01180306
                    122:       WRITE (I02,80000) IVTNUM                                          01190306
                    123:       IF (ICZERO) 10010, 0021, 20010                                    01200306
                    124: 10010 IVPASS = IVPASS + 1                                               01210306
                    125:       WRITE (I02,80002) IVTNUM                                          01220306
                    126:       GO TO 0021                                                        01230306
                    127: 20010 IVFAIL = IVFAIL + 1                                               01240306
                    128:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          01250306
                    129:  0021 CONTINUE                                                          01260306
                    130: C                                                                       01270306
                    131: C     ****  FCVS PROGRAM 306  -  TEST 002  ****                         01280306
                    132: C                                                                       01290306
                    133: C     TEST 002 IS DESIGNED TO CONFIRM IMPLICIT REAL TYPING.             01300306
                    134: C                                                                       01310306
                    135:       IVTNUM =   2                                                      01320306
                    136:       IF (ICZERO) 30020, 0020, 30020                                    01330306
                    137:  0020 CONTINUE                                                          01340306
                    138:       RVCOMP = 10.0                                                     01350306
                    139:       RVIN01 = 4                                                        01360306
                    140:       RVCOMP = RVIN01/5                                                 01370306
                    141:       RVCORR = .8                                                       01380306
                    142: 40020 IF (RVCOMP - .79995) 20020, 10020, 40021                          01390306
                    143: 40021 IF (RVCOMP - .80005) 10020, 10020, 20020                          01400306
                    144: 30020 IVDELE = IVDELE + 1                                               01410306
                    145:       WRITE (I02,80000) IVTNUM                                          01420306
                    146:       IF (ICZERO) 10020, 0031, 20020                                    01430306
                    147: 10020 IVPASS = IVPASS + 1                                               01440306
                    148:       WRITE (I02,80002) IVTNUM                                          01450306
                    149:       GO TO 0031                                                        01460306
                    150: 20020 IVFAIL = IVFAIL + 1                                               01470306
                    151:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          01480306
                    152:  0031 CONTINUE                                                          01490306
                    153: C                                                                       01500306
                    154: C     ****  FCVS PROGRAM 306  -  TEST 003  ****                         01510306
                    155: C                                                                       01520306
                    156: C     TEST 003 IS DESIGNED TO OVERRIDE IMPLICIT DEFAULT TYPING OF       01530306
                    157: C     INTEGER WITH IMPLICIT TYPING OF REAL.                             01540306
                    158: C                                                                       01550306
                    159:       IVTNUM =   3                                                      01560306
                    160:       IF (ICZERO) 30030, 0030, 30030                                    01570306
                    161:  0030 CONTINUE                                                          01580306
                    162:       RVCOMP = 10.0                                                     01590306
                    163:       JVIN01 = 4                                                        01600306
                    164:       RVCOMP = JVIN01/5                                                 01610306
                    165:       RVCORR = .8                                                       01620306
                    166: 40030 IF (RVCOMP - .79995) 20030, 10030, 40031                          01630306
                    167: 40031 IF (RVCOMP - .80005) 10030, 10030, 20030                          01640306
                    168: 30030 IVDELE = IVDELE + 1                                               01650306
                    169:       WRITE (I02,80000) IVTNUM                                          01660306
                    170:       IF (ICZERO) 10030, 0041, 20030                                    01670306
                    171: 10030 IVPASS = IVPASS + 1                                               01680306
                    172:       WRITE (I02,80002) IVTNUM                                          01690306
                    173:       GO TO 0041                                                        01700306
                    174: 20030 IVFAIL = IVFAIL + 1                                               01710306
                    175:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          01720306
                    176:  0041 CONTINUE                                                          01730306
                    177: C                                                                       01740306
                    178: C     ****  FCVS PROGRAM 306  -  TEST 004  ****                         01750306
                    179: C                                                                       01760306
                    180: C     TEST 004 IS DESIGNED TO OVERRIDE IMPLICIT DEFAULT TYPING OF       01770306
                    181: C     INTEGER WITH IMPLICIT TYPING OF LOGICAL.                          01780306
                    182: C                                                                       01790306
                    183:       IVTNUM =   4                                                      01800306
                    184:       IF (ICZERO) 30040, 0040, 30040                                    01810306
                    185:  0040 CONTINUE                                                          01820306
                    186:       LVIN01 = .TRUE.                                                   01830306
                    187:       IVCORR = 1                                                        01840306
                    188:       IVCOMP = 0                                                        01850306
                    189:       IF (LVIN01) IVCOMP = 1                                            01860306
                    190: 40040 IF (IVCOMP - 1) 20040, 10040, 20040                               01870306
                    191: 30040 IVDELE = IVDELE + 1                                               01880306
                    192:       WRITE (I02,80000) IVTNUM                                          01890306
                    193:       IF (ICZERO) 10040, 0051, 20040                                    01900306
                    194: 10040 IVPASS = IVPASS + 1                                               01910306
                    195:       WRITE (I02,80002) IVTNUM                                          01920306
                    196:       GO TO 0051                                                        01930306
                    197: 20040 IVFAIL = IVFAIL + 1                                               01940306
                    198:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01950306
                    199:  0051 CONTINUE                                                          01960306
                    200: C                                                                       01970306
                    201: C     ****  FCVS PROGRAM 306  -  TEST 005  ****                         01980306
                    202: C                                                                       01990306
                    203: C     TEST 005 IS DESIGNED TO OVERRIDE IMPLICIT DEFAULT TYPING OF       02000306
                    204: C     REAL WITH IMPLICIT TYPING OF INTEGER.                             02010306
                    205: C                                                                       02020306
                    206:       IVTNUM =   5                                                      02030306
                    207:       IF (ICZERO) 30050, 0050, 30050                                    02040306
                    208:  0050 CONTINUE                                                          02050306
                    209:       RVCOMP = 10.0                                                     02060306
                    210:       AAIN11(2) = 4                                                     02070306
                    211:       RVCOMP = AAIN11(2)/5                                              02080306
                    212:       RVCORR = 0.0                                                      02090306
                    213: 40050 IF (RVCOMP) 20050, 10050, 20050                                   02100306
                    214: 30050 IVDELE = IVDELE + 1                                               02110306
                    215:       WRITE (I02,80000) IVTNUM                                          02120306
                    216:       IF (ICZERO) 10050, 0061, 20050                                    02130306
                    217: 10050 IVPASS = IVPASS + 1                                               02140306
                    218:       WRITE (I02,80002) IVTNUM                                          02150306
                    219:       GO TO 0061                                                        02160306
                    220: 20050 IVFAIL = IVFAIL + 1                                               02170306
                    221:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          02180306
                    222:  0061 CONTINUE                                                          02190306
                    223: C                                                                       02200306
                    224: C     ****  FCVS PROGRAM 306  -  TEST 006  ****                         02210306
                    225: C                                                                       02220306
                    226: C     TEST 006 IS DESIGNED TO OVERRIDE IMPLICIT DEFAULT TYPING OF REAL  02230306
                    227: C     WITH IMPLICIT TYPING OF LOGICAL.                                  02240306
                    228: C                                                                       02250306
                    229:       IVTNUM =   6                                                      02260306
                    230:       IF (ICZERO) 30060, 0060, 30060                                    02270306
                    231:  0060 CONTINUE                                                          02280306
                    232:       BVIN01 = .TRUE.                                                   02290306
                    233:       IVCORR = 1                                                        02300306
                    234:       IVCOMP = 0                                                        02310306
                    235:       IF (BVIN01) IVCOMP = 1                                            02320306
                    236: 40060 IF (IVCOMP - 1) 20060, 10060, 20060                               02330306
                    237: 30060 IVDELE = IVDELE + 1                                               02340306
                    238:       WRITE (I02,80000) IVTNUM                                          02350306
                    239:       IF (ICZERO) 10060, 0071, 20060                                    02360306
                    240: 10060 IVPASS = IVPASS + 1                                               02370306
                    241:       WRITE (I02,80002) IVTNUM                                          02380306
                    242:       GO TO 0071                                                        02390306
                    243: 20060 IVFAIL = IVFAIL + 1                                               02400306
                    244:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02410306
                    245:  0071 CONTINUE                                                          02420306
                    246: C                                                                       02430306
                    247: C     TESTS 007 THROUGH 012 ARE DESIGNED TO TEST VARIOUS SYNTACTICAL    02440306
                    248: C     CONSTRUCTS OF THE IMPLICIT STATEMENT.                             02450306
                    249: C                                                                       02460306
                    250: C                                                                       02470306
                    251: C     ****  FCVS PROGRAM 306  -  TEST 007  ****                         02480306
                    252: C                                                                       02490306
                    253: C     TEST 007 TESTS THE SPECIFYING OF MORE THAN ONE ALPHABETIC         02500306
                    254: C     CHARACTER IN AN IMPLICIT STATEMENT.                               02510306
                    255: C                                                                       02520306
                    256:       IVTNUM =   7                                                      02530306
                    257:       IF (ICZERO) 30070, 0070, 30070                                    02540306
                    258:  0070 CONTINUE                                                          02550306
                    259:       DVIN01 = 4                                                        02560306
                    260:       EVIN01 = 4                                                        02570306
                    261:       FVIN01 = 4                                                        02580306
                    262:       RVCMP1 = DVIN01/5                                                 02590306
                    263:       RVCMP2 = EVIN01/5                                                 02600306
                    264:       RVCMP3 = FVIN01/5                                                 02610306
                    265:       IVCOMP = 1                                                        02620306
                    266:       IF (RVCMP1 .EQ. 0.0) IVCOMP = IVCOMP * 2                          02630306
                    267:       IF (RVCMP2 .EQ. 0.0) IVCOMP = IVCOMP * 3                          02640306
                    268:       IF (RVCMP3 .EQ. 0.0) IVCOMP = IVCOMP * 5                          02650306
                    269:       IVCORR = 30                                                       02660306
                    270: C     30 = 2 * 3 * 5                                                    02670306
                    271: 40070 IF (IVCOMP -    30) 20070, 10070, 20070                           02680306
                    272: 30070 IVDELE = IVDELE + 1                                               02690306
                    273:       WRITE (I02,80000) IVTNUM                                          02700306
                    274:       IF (ICZERO) 10070, 0081, 20070                                    02710306
                    275: 10070 IVPASS = IVPASS + 1                                               02720306
                    276:       WRITE (I02,80002) IVTNUM                                          02730306
                    277:       GO TO 0081                                                        02740306
                    278: 20070 IVFAIL = IVFAIL + 1                                               02750306
                    279:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02760306
                    280:  0081 CONTINUE                                                          02770306
                    281: C                                                                       02780306
                    282: C     ****  FCVS PROGRAM 306  -  TEST 008  ****                         02790306
                    283: C                                                                       02800306
                    284: C     TEST 008 TESTS THE SPECIFYING A RANGE OF SINGLE LETTERS IN        02810306
                    285: C     ALPHABETIC ORDER IN AN IMPLICIT STATEMENT.                        02820306
                    286: C                                                                       02830306
                    287:       IVTNUM =   8                                                      02840306
                    288:       IF (ICZERO) 30080, 0080, 30080                                    02850306
                    289:  0080 CONTINUE                                                          02860306
                    290:       GVIN01 = 4                                                        02870306
                    291:       HAIN11(4) = 4                                                     02880306
                    292:       RVCMP1 = GVIN01/5                                                 02890306
                    293:       RVCMP2 = HAIN11(4)/5                                              02900306
                    294:       IVCOMP = 1                                                        02910306
                    295:       IF (RVCMP1 .GE. .79995 .AND. RVCMP1 .LE. .80005) IVCOMP=IVCOMP*2  02920306
                    296:       IF (RVCMP2 .GE. .79995 .AND. RVCMP2 .LE. .80005) IVCOMP=IVCOMP*3  02930306
                    297:       IVCORR = 6                                                        02940306
                    298: C     6 = 2 * 3                                                         02950306
                    299: 40080 IF (IVCOMP - 6) 20080, 10080, 20080                               02960306
                    300: 30080 IVDELE = IVDELE + 1                                               02970306
                    301:       WRITE (I02,80000) IVTNUM                                          02980306
                    302:       IF (ICZERO) 10080, 0091, 20080                                    02990306
                    303: 10080 IVPASS = IVPASS + 1                                               03000306
                    304:       WRITE (I02,80002) IVTNUM                                          03010306
                    305:       GO TO 0091                                                        03020306
                    306: 20080 IVFAIL = IVFAIL + 1                                               03030306
                    307:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03040306
                    308:  0091 CONTINUE                                                          03050306
                    309: C                                                                       03060306
                    310: C     ****  FCVS PROGRAM 306  -  TEST 009  ****                         03070306
                    311: C                                                                       03080306
                    312: C     TEST 009 TESTS THE SPECIFYING A SINGLE LETTER AND A RANGE OF      03090306
                    313: C     SINGLE LETTERS IN ALPHABETIC ORDER IN AN IMPLICIT STATEMENT.      03100306
                    314: C                                                                       03110306
                    315:       IVTNUM =   9                                                      03120306
                    316:       IF (ICZERO) 30090, 0090, 30090                                    03130306
                    317:  0090 CONTINUE                                                          03140306
                    318:       KVIN01 = 4                                                        03150306
                    319:       OVIN01 = 4                                                        03160306
                    320:       PVIN01 = 4                                                        03170306
                    321:       QVIN01 = 4                                                        03180306
                    322:       RVCMP1 = KVIN01/5                                                 03190306
                    323:       RVCMP2 = OVIN01/5                                                 03200306
                    324:       RVCMP3 = PVIN01/5                                                 03210306
                    325:       RVCMP4 = QVIN01/5                                                 03220306
                    326:       IVCOMP = 1                                                        03230306
                    327:       IF (RVCMP1 .EQ. 0.0) IVCOMP = IVCOMP * 2                          03240306
                    328:       IF (RVCMP2 .EQ. 0.0) IVCOMP = IVCOMP * 3                          03250306
                    329:       IF (RVCMP3 .EQ. 0.0) IVCOMP = IVCOMP * 5                          03260306
                    330:       IF (RVCMP4 .EQ. 0.0) IVCOMP = IVCOMP * 7                          03270306
                    331:       IVCORR = 210                                                      03280306
                    332: C     210 = 2 * 3 * 5 * 7                                               03290306
                    333: 40090 IF (IVCOMP - 210) 20090, 10090, 20090                             03300306
                    334: 30090 IVDELE = IVDELE + 1                                               03310306
                    335:       WRITE (I02,80000) IVTNUM                                          03320306
                    336:       IF (ICZERO) 10090, 0101, 20090                                    03330306
                    337: 10090 IVPASS = IVPASS + 1                                               03340306
                    338:       WRITE (I02,80002) IVTNUM                                          03350306
                    339:       GO TO 0101                                                        03360306
                    340: 20090 IVFAIL = IVFAIL + 1                                               03370306
                    341:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03380306
                    342:  0101 CONTINUE                                                          03390306
                    343: C                                                                       03400306
                    344: C     ****  FCVS PROGRAM 306  -  TEST 010  ****                         03410306
                    345: C                                                                       03420306
                    346: C     TEST 010 TESTS THE SPECIFYING OF MORE THAN ONE TYPING IN ONE      03430306
                    347: C     IMPLICIT STATEMENT.                                               03440306
                    348: C                                                                       03450306
                    349:       IVTNUM =  10                                                      03460306
                    350:       IF (ICZERO) 30100, 0100, 30100                                    03470306
                    351:  0100 CONTINUE                                                          03480306
                    352:       SVIN01 = 4                                                        03490306
                    353:       TVIN01 = 4                                                        03500306
                    354:       UVIN01 = 4                                                        03510306
                    355:       VVIN01 = 4                                                        03520306
                    356:       RVCMP1 = SVIN01/5                                                 03530306
                    357:       RVCMP2 = TVIN01/5                                                 03540306
                    358:       RVCMP3 = UVIN01/5                                                 03550306
                    359:       RVCMP4 = VVIN01/5                                                 03560306
                    360:       IVCOMP = 1                                                        03570306
                    361:       IF (RVCMP1 .GE. .79995 .AND. RVCMP1 .LE. .80005) IVCOMP=IVCOMP*2  03580306
                    362:       IF (RVCMP2 .EQ. 0.0) IVCOMP = IVCOMP * 3                          03590306
                    363:       IF (RVCMP3 .EQ. 0.0) IVCOMP = IVCOMP * 5                          03600306
                    364:       IF (RVCMP4 .EQ. 0.0) IVCOMP = IVCOMP * 7                          03610306
                    365:       IVCORR = 210                                                      03620306
                    366: C     210 = 2 * 3 * 5 * 7                                               03630306
                    367:       IF (IVCOMP - 210) 20100, 10100, 20100                             03640306
                    368: 30100 IVDELE = IVDELE + 1                                               03650306
                    369:       WRITE (I02,80000) IVTNUM                                          03660306
                    370:       IF (ICZERO) 10100, 0111, 20100                                    03670306
                    371: 10100 IVPASS = IVPASS + 1                                               03680306
                    372:       WRITE (I02,80002) IVTNUM                                          03690306
                    373:       GO TO 0111                                                        03700306
                    374: 20100 IVFAIL = IVFAIL + 1                                               03710306
                    375:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03720306
                    376:  0111 CONTINUE                                                          03730306
                    377: C                                                                       03740306
                    378: C     ****  FCVS PROGRAM 306  -  TEST 011  ****                         03750306
                    379: C                                                                       03760306
                    380: C     TEST 011 TESTS THE SPECIFYING OF INTEGER, REAL, AND LOGICAL       03770306
                    381: C     TYPING IN ONE IMPLICIT STATEMENT.  IN THIS TEST INTEGER TYPING    03780306
                    382: C     IS REPEATED A SECOND TIME.                                        03790306
                    383: C                                                                       03800306
                    384:       IVTNUM =  11                                                      03810306
                    385:       IF (ICZERO) 30110, 0110, 30110                                    03820306
                    386:  0110 CONTINUE                                                          03830306
                    387:       WVIN01 = 4                                                        03840306
                    388:       XVIN01 = 4                                                        03850306
                    389:       YVIN01 = .TRUE.                                                   03860306
                    390:       ZVIN01 = 4                                                        03870306
                    391:       RVCMP1 = WVIN01/5                                                 03880306
                    392:       RVCMP2 = XVIN01/5                                                 03890306
                    393:       LVCOMP = YVIN01                                                   03900306
                    394:       RVCMP3 = ZVIN01/5                                                 03910306
                    395:       IVCOMP = 1                                                        03920306
                    396:       IF (RVCMP1 .EQ. 0.0) IVCOMP = IVCOMP * 2                          03930306
                    397:       IF (RVCMP2 .GE. .79995 .AND. RVCMP2 .LE. .80005) IVCOMP=IVCOMP*3  03940306
                    398:       IF (LVCOMP) IVCOMP = IVCOMP * 5                                   03950306
                    399:       IF (RVCMP3 .EQ. 0.0) IVCOMP = IVCOMP * 7                          03960306
                    400:       IVCORR = 210                                                      03970306
                    401: C     210 = 2 * 3 * 5 * 7                                               03980306
                    402: 40110 IF (IVCOMP - 210) 20110, 10110, 20110                             03990306
                    403: 30110 IVDELE = IVDELE + 1                                               04000306
                    404:       WRITE (I02,80000) IVTNUM                                          04010306
                    405:       IF (ICZERO) 10110, 0121, 20110                                    04020306
                    406: 10110 IVPASS = IVPASS + 1                                               04030306
                    407:       WRITE (I02,80002) IVTNUM                                          04040306
                    408:       GO TO 0121                                                        04050306
                    409: 20110 IVFAIL = IVFAIL + 1                                               04060306
                    410:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04070306
                    411:  0121 CONTINUE                                                          04080306
                    412: C                                                                       04090306
                    413: C     ****  FCVS PROGRAM 306  -  TEST 012  ****                         04100306
                    414: C                                                                       04110306
                    415: C     TEST 012 TESTS THE SPECIFYING OF REAL TYPING TWICE IN ONE         04120306
                    416: C     IMPLICIT STATEMENT.                                               04130306
                    417: C                                                                       04140306
                    418:       IVTNUM =  12                                                      04150306
                    419:       IF (ICZERO) 30120, 0120, 30120                                    04160306
                    420:  0120 CONTINUE                                                          04170306
                    421:       MVIN01 = 4                                                        04180306
                    422:       NVIN01 = 4                                                        04190306
                    423:       RVCMP1 = MVIN01/5                                                 04200306
                    424:       RVCMP2 = NVIN01/5                                                 04210306
                    425:       IVCOMP = 1                                                        04220306
                    426:       IF (RVCMP1 .GE. .79995 .AND. RVCMP1 .LE. .80005) IVCOMP=IVCOMP*2  04230306
                    427:       IF (RVCMP2 .GE. .79995 .AND. RVCMP2 .LE. .80005) IVCOMP=IVCOMP*3  04240306
                    428:       IVCORR = 6                                                        04250306
                    429: C     6 = 2 * 3                                                         04260306
                    430:       IF (IVCOMP - 6) 20120, 10120, 20120                               04270306
                    431: 30120 IVDELE = IVDELE + 1                                               04280306
                    432:       WRITE (I02,80000) IVTNUM                                          04290306
                    433:       IF (ICZERO) 10120, 0131, 20120                                    04300306
                    434: 10120 IVPASS = IVPASS + 1                                               04310306
                    435:       WRITE (I02,80002) IVTNUM                                          04320306
                    436:       GO TO 0131                                                        04330306
                    437: 20120 IVFAIL = IVFAIL + 1                                               04340306
                    438:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04350306
                    439:  0131 CONTINUE                                                          04360306
                    440: C                                                                       04370306
                    441: C                                                                       04380306
                    442: C     WRITE OUT TEST SUMMARY                                            04390306
                    443: C                                                                       04400306
                    444:       WRITE (I02,90004)                                                 04410306
                    445:       WRITE (I02,90014)                                                 04420306
                    446:       WRITE (I02,90004)                                                 04430306
                    447:       WRITE (I02,90000)                                                 04440306
                    448:       WRITE (I02,90004)                                                 04450306
                    449:       WRITE (I02,90020) IVFAIL                                          04460306
                    450:       WRITE (I02,90022) IVPASS                                          04470306
                    451:       WRITE (I02,90024) IVDELE                                          04480306
                    452:       STOP                                                              04490306
                    453: 90001 FORMAT (1H ,24X,5HFM306)                                          04500306
                    454: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM306)                          04510306
                    455: C                                                                       04520306
                    456: C     FORMATS FOR TEST DETAIL LINES                                     04530306
                    457: C                                                                       04540306
                    458: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   04550306
                    459: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      04560306
                    460: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         04570306
                    461: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    04580306
                    462: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        04590306
                    463: C                                                                       04600306
                    464: C     FORMAT STATEMENTS FOR PAGE HEADERS                                04610306
                    465: C                                                                       04620306
                    466: 90002 FORMAT (1H1)                                                      04630306
                    467: 90004 FORMAT (1H )                                                      04640306
                    468: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            04650306
                    469: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   04660306
                    470: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         04670306
                    471: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  04680306
                    472: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 04690306
                    473: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             04700306
                    474: C                                                                       04710306
                    475: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 04720306
                    476: C                                                                       04730306
                    477: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              04740306
                    478: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              04750306
                    479: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             04760306
                    480:       END                                                               04770306

unix.superglobalmegacorp.com

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