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

1.1       root        1:       PROGRAM FM201                                                     00010201
                      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                                                                       00020201
                      6: C                                                                       00030201
                      7: C        THIS ROUTINE VERIFIES THAT                                     00040201
                      8: C                                                                       00050201
                      9: C        (1)  THE VALUE OF A SIGNED ZERO IS THE SAME AS THE VALUE OF    00060201
                     10: C             AN UNSIGNED ZERO FOR INTEGER AND REAL VARIABLES.          00070201
                     11: C                                                                       00080201
                     12: C        (2)  A BASIC REAL CONSTANT MAY BE WRITTEN WITH MORE DIGITS     00090201
                     13: C             THAN A PROCESSOR WILL USE TO APPROXIMATE THE VALUE OF     00100201
                     14: C             THE CONSTANT.                                             00110201
                     15: C                                                                       00120201
                     16: C        (3)  AN IMPLICIT STATEMENT CAN BE USED TO CHANGE THE DEFAULT   00130201
                     17: C             IMPLICIT INTEGER AND REAL TYPING.                         00140201
                     18: C                                                                       00150201
                     19: C        (4)  THE IMPLICIT INTEGER AND REAL TYPING OF AN IMPLICIT       00160201
                     20: C             STATEMENT MAY BE OVERRIDDEN BY THE APPEARANCE OF A        00170201
                     21: C             VARIABLE NAME IN A TYPE-STATEMENT.                        00180201
                     22: C                                                                       00190201
                     23: C     REFERENCES                                                        00200201
                     24: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00210201
                     25: C              X3.9-1978                                                00220201
                     26: C                                                                       00230201
                     27: C        SECTION 4.1.3, DATA TYPE PROPERTIES                            00240201
                     28: C        SECTION 4.4.1, BASIC REAL CONSTANT                             00250201
                     29: C        SECTION 6.1.5, INTEGER DIVISION                                00260201
                     30: C        SECTION 8.4,   TYPE-STATEMENTS                                 00270201
                     31: C        SECTION 8.5,   IMPLICIT STATEMENT                              00280201
                     32: C                                                                       00290201
                     33: C                                                                       00300201
                     34: C     ******************************************************************00310201
                     35: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00320201
                     36: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00330201
                     37: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00340201
                     38: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00350201
                     39: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00360201
                     40: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00370201
                     41: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00380201
                     42: C     THE RESULT OF EXECUTING THESE TESTS.                              00390201
                     43: C                                                                       00400201
                     44: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00410201
                     45: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00420201
                     46: C                                                                       00430201
                     47: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00440201
                     48: C                    DEPARTMENT OF THE NAVY                             00450201
                     49: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00460201
                     50: C                    WASHINGTON, D.C.   20376                           00470201
                     51: C                                                                       00480201
                     52: C     ******************************************************************00490201
                     53: C                                                                       00500201
                     54: C                                                                       00510201
                     55:       IMPLICIT LOGICAL (L)                                              00520201
                     56:       IMPLICIT CHARACTER*14 (C)                                         00530201
                     57: C                                                                       00540201
                     58:       IMPLICIT INTEGER (Y, V-X), REAL (M)                               00550201
                     59:       REAL RVTN01, RVTN02, RVTN03, YVTN02                               00560201
                     60:       INTEGER IVTN01, IVTN02, MVTN02                                    00570201
                     61: C        THE ABOVE THREE STATEMENTS ARE REFERENCED IN TESTS 29 THRU 35. 00580201
                     62: C                                                                       00590201
                     63: C                                                                       00600201
                     64: C                                                                       00610201
                     65: C     INITIALIZATION SECTION.                                           00620201
                     66: C                                                                       00630201
                     67: C     INITIALIZE CONSTANTS                                              00640201
                     68: C     ********************                                              00650201
                     69: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00660201
                     70:       I01 = 5                                                           00670201
                     71: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00680201
                     72:       I02 = 6                                                           00690201
                     73: C     SYSTEM ENVIRONMENT SECTION                                        00700201
                     74: C                                                                       00710201
                     75:       I01 = 5                                                           00720201
                     76: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00730201
                     77: C     (UNIT NUMBER FOR CARD READER).                                    00740201
                     78: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00750201
                     79: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00760201
                     80: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00770201
                     81: C                                                                       00780201
                     82:       I02 = 6                                                           00790201
                     83: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00800201
                     84: C     (UNIT NUMBER FOR PRINTER).                                        00810201
                     85: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00820201
                     86: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00830201
                     87: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00840201
                     88: C                                                                       00850201
                     89:       IVPASS = 0                                                        00860201
                     90:       IVFAIL = 0                                                        00870201
                     91:       IVDELE = 0                                                        00880201
                     92:       ICZERO = 0                                                        00890201
                     93: C                                                                       00900201
                     94: C     WRITE OUT PAGE HEADERS                                            00910201
                     95: C                                                                       00920201
                     96:       WRITE (I02,90002)                                                 00930201
                     97:       WRITE (I02,90006)                                                 00940201
                     98:       WRITE (I02,90008)                                                 00950201
                     99:       WRITE (I02,90004)                                                 00960201
                    100:       WRITE (I02,90010)                                                 00970201
                    101:       WRITE (I02,90004)                                                 00980201
                    102:       WRITE (I02,90016)                                                 00990201
                    103:       WRITE (I02,90001)                                                 01000201
                    104:       WRITE (I02,90004)                                                 01010201
                    105:       WRITE (I02,90012)                                                 01020201
                    106:       WRITE (I02,90014)                                                 01030201
                    107:       WRITE (I02,90004)                                                 01040201
                    108: C                                                                       01050201
                    109: C                                                                       01060201
                    110: C        TEST 14 THROUGH TEST 17 COMPARE INTEGER VARIABLES WHICH ARE    01070201
                    111: C     SET TO SIGNED ZERO AND UNSIGNED ZERO VALUES BY THE FOLLOWING      01080201
                    112: C     STATEMENTS                                                        01090201
                    113: C                                                                       01100201
                    114:          IVON01 = 0                                                     01110201
                    115:          IVON02 = -0                                                    01120201
                    116:          IVON03 = +0                                                    01130201
                    117: C                                                                       01140201
                    118: C     REFERENCE   X3.9-1978, SECTION 4.1.3, DATA TYPE PROPERTIES        01150201
                    119: C                                                                       01160201
                    120: C     ****  FCVS PROGRAM 201  -  TEST 014  ****                         01170201
                    121: C                                                                       01180201
                    122: C        COMPARE 0 TO -0                                                01190201
                    123: C                                                                       01200201
                    124:       IVTNUM =  14                                                      01210201
                    125:       IF (ICZERO) 30140, 0140, 30140                                    01220201
                    126:  0140 CONTINUE                                                          01230201
                    127:       IVCOMP = 1                                                        01240201
                    128:       IVCORR = 0                                                        01250201
                    129:       IF (IVON01 .EQ. IVON02) IVCOMP = 0                                01260201
                    130: 40140 IF (IVCOMP) 20140, 10140, 20140                                   01270201
                    131: 30140 IVDELE = IVDELE + 1                                               01280201
                    132:       WRITE (I02,80000) IVTNUM                                          01290201
                    133:       IF (ICZERO) 10140, 0151, 20140                                    01300201
                    134: 10140 IVPASS = IVPASS + 1                                               01310201
                    135:       WRITE (I02,80002) IVTNUM                                          01320201
                    136:       GO TO 0151                                                        01330201
                    137: 20140 IVFAIL = IVFAIL + 1                                               01340201
                    138:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01350201
                    139:  0151 CONTINUE                                                          01360201
                    140: C                                                                       01370201
                    141: C     ****  FCVS PROGRAM 201  -  TEST 015  ****                         01380201
                    142: C                                                                       01390201
                    143: C        COMPARE 0 TO +0                                                01400201
                    144: C                                                                       01410201
                    145:       IVTNUM =  15                                                      01420201
                    146:       IF (ICZERO) 30150, 0150, 30150                                    01430201
                    147:  0150 CONTINUE                                                          01440201
                    148:       IVCOMP = 1                                                        01450201
                    149:       IVCORR = 0                                                        01460201
                    150:       IF (IVON01 .EQ. IVON03) IVCOMP = 0                                01470201
                    151: 40150 IF (IVCOMP) 20150, 10150, 20150                                   01480201
                    152: 30150 IVDELE = IVDELE + 1                                               01490201
                    153:       WRITE (I02,80000) IVTNUM                                          01500201
                    154:       IF (ICZERO) 10150, 0161, 20150                                    01510201
                    155: 10150 IVPASS = IVPASS + 1                                               01520201
                    156:       WRITE (I02,80002) IVTNUM                                          01530201
                    157:       GO TO 0161                                                        01540201
                    158: 20150 IVFAIL = IVFAIL + 1                                               01550201
                    159:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01560201
                    160:  0161 CONTINUE                                                          01570201
                    161: C                                                                       01580201
                    162: C     ****  FCVS PROGRAM 201  -  TEST 016  ****                         01590201
                    163: C                                                                       01600201
                    164: C        COMPARE -0 TO +0                                               01610201
                    165: C                                                                       01620201
                    166:       IVTNUM =  16                                                      01630201
                    167:       IF (ICZERO) 30160, 0160, 30160                                    01640201
                    168:  0160 CONTINUE                                                          01650201
                    169:       IVCOMP = 1                                                        01660201
                    170:       IVCORR = 0                                                        01670201
                    171:       IF (IVON02 .EQ. IVON03) IVCOMP = 0                                01680201
                    172: 40160 IF (IVCOMP) 20160, 10160, 20160                                   01690201
                    173: 30160 IVDELE = IVDELE + 1                                               01700201
                    174:       WRITE (I02,80000) IVTNUM                                          01710201
                    175:       IF (ICZERO) 10160, 0171, 20160                                    01720201
                    176: 10160 IVPASS = IVPASS + 1                                               01730201
                    177:       WRITE (I02,80002) IVTNUM                                          01740201
                    178:       GO TO 0171                                                        01750201
                    179: 20160 IVFAIL = IVFAIL + 1                                               01760201
                    180:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01770201
                    181:  0171 CONTINUE                                                          01780201
                    182: C                                                                       01790201
                    183: C     ****  FCVS PROGRAM 201  -  TEST 017  ****                         01800201
                    184: C                                                                       01810201
                    185: C        MINUS ZERO (-0) SHOULD NOT BE LESS THAN PLUS ZERO (+0)         01820201
                    186: C                                                                       01830201
                    187:       IVTNUM =  17                                                      01840201
                    188:       IF (ICZERO) 30170, 0170, 30170                                    01850201
                    189:  0170 CONTINUE                                                          01860201
                    190:       IVCOMP = 1                                                        01870201
                    191:       IVCORR = 0                                                        01880201
                    192:       IF (IVON02 .LT. IVON03) GO TO 20170                               01890201
                    193:       IVCOMP = 0                                                        01900201
                    194:       GO TO 10170                                                       01910201
                    195: 30170 IVDELE = IVDELE + 1                                               01920201
                    196:       WRITE (I02,80000) IVTNUM                                          01930201
                    197:       IF (ICZERO) 10170, 0181, 20170                                    01940201
                    198: 10170 IVPASS = IVPASS + 1                                               01950201
                    199:       WRITE (I02,80002) IVTNUM                                          01960201
                    200:       GO TO 0181                                                        01970201
                    201: 20170 IVFAIL = IVFAIL + 1                                               01980201
                    202:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01990201
                    203:  0181 CONTINUE                                                          02000201
                    204: C                                                                       02010201
                    205: C        TEST 18 THROUGH TEST 24 COMPARE REAL VARIABLES WHICH ARE SET   02020201
                    206: C     TO SIGNED ZERO AND UNSIGNED ZERO VALUES BY THE FOLLOWING          02030201
                    207: C     STATEMENTS                                                        02040201
                    208: C                                                                       02050201
                    209:          RVON01 = 0.0                                                   02060201
                    210:          RVON02 = -0.0                                                  02070201
                    211:          RVON03 = +0.0                                                  02080201
                    212:          RVON04 = -0.0E+01                                              02090201
                    213:          RVON05 = -0E+10                                                02100201
                    214: C                                                                       02110201
                    215: C     REFERENCE   X3.9-1978, SECTION 4.1.3, DATA TYPE PROPERTIES        02120201
                    216: C                                                                       02130201
                    217: C     ****  FCVS PROGRAM 201  -  TEST 018  ****                         02140201
                    218: C                                                                       02150201
                    219: C        COMPARE 0.0 TO -0.0                                            02160201
                    220: C                                                                       02170201
                    221:       IVTNUM =  18                                                      02180201
                    222:       IF (ICZERO) 30180, 0180, 30180                                    02190201
                    223:  0180 CONTINUE                                                          02200201
                    224:       IVCOMP = 1                                                        02210201
                    225:       IVCORR = 0                                                        02220201
                    226:       IF (RVON01 .EQ. RVON02) IVCOMP = 0                                02230201
                    227: 40180 IF (IVCOMP) 20180, 10180, 20180                                   02240201
                    228: 30180 IVDELE = IVDELE + 1                                               02250201
                    229:       WRITE (I02,80000) IVTNUM                                          02260201
                    230:       IF (ICZERO) 10180, 0191, 20180                                    02270201
                    231: 10180 IVPASS = IVPASS + 1                                               02280201
                    232:       WRITE (I02,80002) IVTNUM                                          02290201
                    233:       GO TO 0191                                                        02300201
                    234: 20180 IVFAIL = IVFAIL + 1                                               02310201
                    235:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02320201
                    236:  0191 CONTINUE                                                          02330201
                    237: C                                                                       02340201
                    238: C     ****  FCVS PROGRAM 201  -  TEST 019  ****                         02350201
                    239: C                                                                       02360201
                    240: C        COMPARE 0.0 TO +0.0                                            02370201
                    241: C                                                                       02380201
                    242:       IVTNUM =  19                                                      02390201
                    243:       IF (ICZERO) 30190, 0190, 30190                                    02400201
                    244:  0190 CONTINUE                                                          02410201
                    245:       IVCOMP = 1                                                        02420201
                    246:       IVCORR = 0                                                        02430201
                    247:       IF (RVON01 .EQ. RVON03)  IVCOMP = 0                               02440201
                    248: 40190 IF (IVCOMP) 20190, 10190, 20190                                   02450201
                    249: 30190 IVDELE = IVDELE + 1                                               02460201
                    250:       WRITE (I02,80000) IVTNUM                                          02470201
                    251:       IF (ICZERO) 10190, 0201, 20190                                    02480201
                    252: 10190 IVPASS = IVPASS + 1                                               02490201
                    253:       WRITE (I02,80002) IVTNUM                                          02500201
                    254:       GO TO 0201                                                        02510201
                    255: 20190 IVFAIL = IVFAIL + 1                                               02520201
                    256:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02530201
                    257:  0201 CONTINUE                                                          02540201
                    258: C                                                                       02550201
                    259: C     ****  FCVS PROGRAM 201  -  TEST 020  ****                         02560201
                    260: C                                                                       02570201
                    261: C        COMPARE -0.0 TO +0.0                                           02580201
                    262: C                                                                       02590201
                    263:       IVTNUM =  20                                                      02600201
                    264:       IF (ICZERO) 30200, 0200, 30200                                    02610201
                    265:  0200 CONTINUE                                                          02620201
                    266:       IVCOMP = 1                                                        02630201
                    267:       IVCORR = 0                                                        02640201
                    268:       IF (RVON02 .EQ. RVON03) IVCOMP = 0                                02650201
                    269: 40200 IF (IVCOMP) 20200, 10200, 20200                                   02660201
                    270: 30200 IVDELE = IVDELE + 1                                               02670201
                    271:       WRITE (I02,80000) IVTNUM                                          02680201
                    272:       IF (ICZERO) 10200, 0211, 20200                                    02690201
                    273: 10200 IVPASS = IVPASS + 1                                               02700201
                    274:       WRITE (I02,80002) IVTNUM                                          02710201
                    275:       GO TO 0211                                                        02720201
                    276: 20200 IVFAIL = IVFAIL + 1                                               02730201
                    277:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02740201
                    278:  0211 CONTINUE                                                          02750201
                    279: C                                                                       02760201
                    280: C     ****  FCVS PROGRAM 201  -  TEST 021  ****                         02770201
                    281: C                                                                       02780201
                    282: C        MINUS ZERO (-0.0) SHOULD NOT BE LESS THAN PLUS ZERO (+0.0)     02790201
                    283: C                                                                       02800201
                    284:       IVTNUM =  21                                                      02810201
                    285:       IF (ICZERO) 30210, 0210, 30210                                    02820201
                    286:  0210 CONTINUE                                                          02830201
                    287:       IVCOMP = 1                                                        02840201
                    288:       IVCORR = 0                                                        02850201
                    289:       IF (RVON02 .LT. RVON03) GO TO 20210                               02860201
                    290:       IVCOMP = 0                                                        02870201
                    291:       GO TO 10210                                                       02880201
                    292: 30210 IVDELE = IVDELE + 1                                               02890201
                    293:       WRITE (I02,80000) IVTNUM                                          02900201
                    294:       IF (ICZERO) 10210, 0221, 20210                                    02910201
                    295: 10210 IVPASS = IVPASS + 1                                               02920201
                    296:       WRITE (I02,80002) IVTNUM                                          02930201
                    297:       GO TO 0221                                                        02940201
                    298: 20210 IVFAIL = IVFAIL + 1                                               02950201
                    299:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02960201
                    300:  0221 CONTINUE                                                          02970201
                    301: C                                                                       02980201
                    302: C     ****  FCVS PROGRAM 201  -  TEST 022  ****                         02990201
                    303: C                                                                       03000201
                    304: C        COMPARE -0.0E+01 TO 0.0                                        03010201
                    305: C                                                                       03020201
                    306:       IVTNUM =  22                                                      03030201
                    307:       IF (ICZERO) 30220, 0220, 30220                                    03040201
                    308:  0220 CONTINUE                                                          03050201
                    309:       IVCOMP = 1                                                        03060201
                    310:       IVCORR = 0                                                        03070201
                    311:       IF (RVON04 .EQ. RVON01) IVCOMP = 0                                03080201
                    312: 40220 IF (IVCOMP) 20220, 10220, 20220                                   03090201
                    313: 30220 IVDELE = IVDELE + 1                                               03100201
                    314:       WRITE (I02,80000) IVTNUM                                          03110201
                    315:       IF (ICZERO) 10220, 0231, 20220                                    03120201
                    316: 10220 IVPASS = IVPASS + 1                                               03130201
                    317:       WRITE (I02,80002) IVTNUM                                          03140201
                    318:       GO TO 0231                                                        03150201
                    319: 20220 IVFAIL = IVFAIL + 1                                               03160201
                    320:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03170201
                    321:  0231 CONTINUE                                                          03180201
                    322: C                                                                       03190201
                    323: C     ****  FCVS PROGRAM 201  -  TEST 023  ****                         03200201
                    324: C                                                                       03210201
                    325: C        COMPARE -0E+10 TO 0.0                                          03220201
                    326: C                                                                       03230201
                    327:       IVTNUM =  23                                                      03240201
                    328:       IF (ICZERO) 30230, 0230, 30230                                    03250201
                    329:  0230 CONTINUE                                                          03260201
                    330:       IVCOMP = 1                                                        03270201
                    331:       IVCORR = 0                                                        03280201
                    332:       IF (RVON05 .EQ. RVON01) IVCOMP = 0                                03290201
                    333: 40230 IF (IVCOMP) 20230, 10230, 20230                                   03300201
                    334: 30230 IVDELE = IVDELE + 1                                               03310201
                    335:       WRITE (I02,80000) IVTNUM                                          03320201
                    336:       IF (ICZERO) 10230, 0241, 20230                                    03330201
                    337: 10230 IVPASS = IVPASS + 1                                               03340201
                    338:       WRITE (I02,80002) IVTNUM                                          03350201
                    339:       GO TO 0241                                                        03360201
                    340: 20230 IVFAIL = IVFAIL + 1                                               03370201
                    341:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03380201
                    342:  0241 CONTINUE                                                          03390201
                    343: C                                                                       03400201
                    344: C     ****  FCVS PROGRAM 201  -  TEST 024  ****                         03410201
                    345: C                                                                       03420201
                    346: C        COMPARE -0E+10 TO +0.0                                         03430201
                    347: C                                                                       03440201
                    348:       IVTNUM =  24                                                      03450201
                    349:       IF (ICZERO) 30240, 0240, 30240                                    03460201
                    350:  0240 CONTINUE                                                          03470201
                    351:       IVCOMP = 1                                                        03480201
                    352:       IVCORR = 0                                                        03490201
                    353:       IF (RVON05 .NE. RVON03) GO TO 20240                               03500201
                    354:       IVCOMP = 0                                                        03510201
                    355:       GO TO 10240                                                       03520201
                    356: 30240 IVDELE = IVDELE + 1                                               03530201
                    357:       WRITE (I02,80000) IVTNUM                                          03540201
                    358:       IF (ICZERO) 10240, 0251, 20240                                    03550201
                    359: 10240 IVPASS = IVPASS + 1                                               03560201
                    360:       WRITE (I02,80002) IVTNUM                                          03570201
                    361:       GO TO 0251                                                        03580201
                    362: 20240 IVFAIL = IVFAIL + 1                                               03590201
                    363:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03600201
                    364:  0251 CONTINUE                                                          03610201
                    365: C                                                                       03620201
                    366: C        TEST 25 THROUGH TEST 28 VERIFY THAT A BASIC REAL CONSTANT MAY  03630201
                    367: C     BE WRITTEN WITH MORE DIGITS THAN A PROCESSOR WILL USE TO APPROXI- 03640201
                    368: C     MATE THE VALUE OF THE CONSTANT.                                   03650201
                    369: C                                                                       03660201
                    370: C     REFERENCE   X3.9-1978, SECTION 4.4.1, BASIC REAL CONSTANT         03670201
                    371: C                                                                       03680201
                    372: C                                                                       03690201
                    373: C     ****  FCVS PROGRAM 201  -  TEST 025  ****                         03700201
                    374: C                                                                       03710201
                    375: C        EIGHT DIGITS IN BASIC REAL CONSTANT                            03720201
                    376: C                                                                       03730201
                    377:       IVTNUM =  25                                                      03740201
                    378:       IF (ICZERO) 30250, 0250, 30250                                    03750201
                    379:  0250 CONTINUE                                                          03760201
                    380:       RVON06 = 0.0                                                      03770201
                    381:       RVCOMP = 0.0                                                      03780201
                    382:       RVON06 = 3.1561234                                                03790201
                    383:       RVCOMP = RVON06                                                   03800201
                    384:       RVCORR = 3.1561                                                   03810201
                    385: 40250 IF (RVCOMP - 3.1556) 20250, 10250, 40251                          03820201
                    386: 40251 IF (RVCOMP - 3.1566) 10250, 10250, 20250                          03830201
                    387: 30250 IVDELE = IVDELE + 1                                               03840201
                    388:       WRITE (I02,80000) IVTNUM                                          03850201
                    389:       IF (ICZERO) 10250, 0261, 20250                                    03860201
                    390: 10250 IVPASS = IVPASS + 1                                               03870201
                    391:       WRITE (I02,80002) IVTNUM                                          03880201
                    392:       GO TO 0261                                                        03890201
                    393: 20250 IVFAIL = IVFAIL + 1                                               03900201
                    394:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          03910201
                    395:  0261 CONTINUE                                                          03920201
                    396: C                                                                       03930201
                    397: C     ****  FCVS PROGRAM 201  -  TEST 026  ****                         03940201
                    398: C                                                                       03950201
                    399: C        EIGHT DIGITS IN BASIC REAL CONSTANT PLUS A REAL EXPONENT.      03960201
                    400: C                                                                       03970201
                    401:       IVTNUM =  26                                                      03980201
                    402:       IF (ICZERO) 30260, 0260, 30260                                    03990201
                    403:  0260 CONTINUE                                                          04000201
                    404:       RVON06 = 0.0                                                      04010201
                    405:       RVCOMP = 0.0                                                      04020201
                    406:       RVON06 = .31561234E+01                                            04030201
                    407:       RVCOMP = RVON06                                                   04040201
                    408:       RVCORR = 3.1561                                                   04050201
                    409: 40260 IF (RVCOMP - 3.1556) 20260, 10260, 40261                          04060201
                    410: 40261 IF (RVCOMP - 3.1566) 10260, 10260, 20260                          04070201
                    411: 30260 IVDELE = IVDELE + 1                                               04080201
                    412:       WRITE (I02,80000) IVTNUM                                          04090201
                    413:       IF (ICZERO) 10260, 0271, 20260                                    04100201
                    414: 10260 IVPASS = IVPASS + 1                                               04110201
                    415:       WRITE (I02,80002) IVTNUM                                          04120201
                    416:       GO TO 0271                                                        04130201
                    417: 20260 IVFAIL = IVFAIL + 1                                               04140201
                    418:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04150201
                    419:  0271 CONTINUE                                                          04160201
                    420: C                                                                       04170201
                    421: C     ****  FCVS PROGRAM 201  -  TEST 027  ****                         04180201
                    422: C                                                                       04190201
                    423: C        TWELVE DIGITS IN BASIC REAL CONSTANT.                          04200201
                    424: C                                                                       04210201
                    425:       IVTNUM =  27                                                      04220201
                    426:       IF (ICZERO) 30270, 0270, 30270                                    04230201
                    427:  0270 CONTINUE                                                          04240201
                    428:       RVON06 = 0.0                                                      04250201
                    429:       RVCOMP = 0.0                                                      04260201
                    430:       RVON06 = 315612347833 E-11                                        04270201
                    431:       RVCOMP = RVON06                                                   04280201
                    432:       RVCORR = 3.1561                                                   04290201
                    433: 40270 IF (RVCOMP - 3.1556) 20270, 10270, 40271                          04300201
                    434: 40271 IF (RVCOMP - 3.1566) 10270, 10270, 20270                          04310201
                    435: 30270 IVDELE = IVDELE + 1                                               04320201
                    436:       WRITE (I02,80000) IVTNUM                                          04330201
                    437:       IF (ICZERO) 10270, 0281, 20270                                    04340201
                    438: 10270 IVPASS = IVPASS + 1                                               04350201
                    439:       WRITE (I02,80002) IVTNUM                                          04360201
                    440:       GO TO 0281                                                        04370201
                    441: 20270 IVFAIL = IVFAIL + 1                                               04380201
                    442:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04390201
                    443:  0281 CONTINUE                                                          04400201
                    444: C                                                                       04410201
                    445: C     ****  FCVS PROGRAM 201  -  TEST 028  ****                         04420201
                    446: C                                                                       04430201
                    447: C        TWENTY-FIVE DIGITS IN BASIC REAL CONSTANT.                     04440201
                    448: C                                                                       04450201
                    449:       IVTNUM =  28                                                      04460201
                    450:       IF (ICZERO) 30280, 0280, 30280                                    04470201
                    451:  0280 CONTINUE                                                          04480201
                    452:       RVON06 = 0.0                                                      04490201
                    453:       RVCOMP = 0.0                                                      04500201
                    454:       RVON06 = 31.56123478334867532834672E-1                            04510201
                    455:       RVCOMP = RVON06                                                   04520201
                    456:       RVCORR = 3.1561                                                   04530201
                    457: 40280 IF (RVCOMP - 3.1556) 20280, 10280, 40281                          04540201
                    458: 40281 IF (RVCOMP - 3.1566) 10280, 10280, 20280                          04550201
                    459: 30280 IVDELE = IVDELE + 1                                               04560201
                    460:       WRITE (I02,80000) IVTNUM                                          04570201
                    461:       IF (ICZERO) 10280, 0291, 20280                                    04580201
                    462: 10280 IVPASS = IVPASS + 1                                               04590201
                    463:       WRITE (I02,80002) IVTNUM                                          04600201
                    464:       GO TO 0291                                                        04610201
                    465: 20280 IVFAIL = IVFAIL + 1                                               04620201
                    466:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04630201
                    467:  0291 CONTINUE                                                          04640201
                    468: C                                                                       04650201
                    469: C        TEST 29 THROUGH TEST 33 REFERENCE VARIABLES WHOSE TYPE WAS     04660201
                    470: C     SPECIFIED BY AN IMPLICIT STATEMENT.  DIVISION IS USED TO VERIFY   04670201
                    471: C     THAT THE TYPE IS INTEGER OR REAL.                                 04680201
                    472: C                                                                       04690201
                    473: C     REFERENCE   X3.9-1978, SECTION 8.5, IMPLICIT STATEMENT            04700201
                    474: C                                                                       04710201
                    475: C                                                                       04720201
                    476: C     ****  FCVS PROGRAM 201  -  TEST 029  ****                         04730201
                    477: C                                                                       04740201
                    478: C        VERIFY YVIN01 IS AN INTEGER VARIABLE.                          04750201
                    479: C                                                                       04760201
                    480:       IVTNUM =  29                                                      04770201
                    481:       IF (ICZERO) 30290, 0290, 30290                                    04780201
                    482:  0290 CONTINUE                                                          04790201
                    483:       RVCOMP = 10.0                                                     04800201
                    484:       YVIN01 = 4.0                                                      04810201
                    485:       RVCOMP = YVIN01/5                                                 04820201
                    486:       RVCORR = 0.0                                                      04830201
                    487: 40290 IF (RVCOMP) 20290, 10290, 20290                                   04840201
                    488: 30290 IVDELE = IVDELE + 1                                               04850201
                    489:       WRITE (I02,80000) IVTNUM                                          04860201
                    490:       IF (ICZERO) 10290, 0301, 20290                                    04870201
                    491: 10290 IVPASS = IVPASS + 1                                               04880201
                    492:       WRITE (I02,80002) IVTNUM                                          04890201
                    493:       GO TO 0301                                                        04900201
                    494: 20290 IVFAIL = IVFAIL + 1                                               04910201
                    495:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04920201
                    496:  0301 CONTINUE                                                          04930201
                    497: C                                                                       04940201
                    498: C     ****  FCVS PROGRAM 201  -  TEST 030  ****                         04950201
                    499: C                                                                       04960201
                    500: C        VERIFY VVIN01 IS AN INTEGER VARIABLE                           04970201
                    501: C                                                                       04980201
                    502:       IVTNUM =  30                                                      04990201
                    503:       IF (ICZERO) 30300, 0300, 30300                                    05000201
                    504:  0300 CONTINUE                                                          05010201
                    505:       RVCOMP = 10.0                                                     05020201
                    506:       VVIN01 = 4.0                                                      05030201
                    507:       RVCOMP = VVIN01/5                                                 05040201
                    508:       RVCORR = 0.0                                                      05050201
                    509: 40300 IF (RVCOMP) 20300, 10300, 20300                                   05060201
                    510: 30300 IVDELE = IVDELE + 1                                               05070201
                    511:       WRITE (I02,80000) IVTNUM                                          05080201
                    512:       IF (ICZERO) 10300, 0311, 20300                                    05090201
                    513: 10300 IVPASS = IVPASS + 1                                               05100201
                    514:       WRITE (I02,80002) IVTNUM                                          05110201
                    515:       GO TO 0311                                                        05120201
                    516: 20300 IVFAIL = IVFAIL + 1                                               05130201
                    517:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05140201
                    518:  0311 CONTINUE                                                          05150201
                    519: C                                                                       05160201
                    520: C     ****  FCVS PROGRAM 201  -  TEST 031  ****                         05170201
                    521: C                                                                       05180201
                    522: C        VERIFY WVIN01 IS AN INTEGER VARIABLE.                          05190201
                    523: C                                                                       05200201
                    524:       IVTNUM =  31                                                      05210201
                    525:       IF (ICZERO) 30310, 0310, 30310                                    05220201
                    526:  0310 CONTINUE                                                          05230201
                    527:       RVCOMP = 10.0                                                     05240201
                    528:       WVIN01 = 4.0                                                      05250201
                    529:       RVCOMP = WVIN01/5                                                 05260201
                    530:       RVCORR = 0.0                                                      05270201
                    531: 40310 IF (RVCOMP) 20310, 10310, 20310                                   05280201
                    532: 30310 IVDELE = IVDELE + 1                                               05290201
                    533:       WRITE (I02,80000) IVTNUM                                          05300201
                    534:       IF (ICZERO) 10310, 0321, 20310                                    05310201
                    535: 10310 IVPASS = IVPASS + 1                                               05320201
                    536:       WRITE (I02,80002) IVTNUM                                          05330201
                    537:       GO TO 0321                                                        05340201
                    538: 20310 IVFAIL = IVFAIL + 1                                               05350201
                    539:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05360201
                    540:  0321 CONTINUE                                                          05370201
                    541: C                                                                       05380201
                    542: C     ****  FCVS PROGRAM 201  -  TEST 032  ****                         05390201
                    543: C                                                                       05400201
                    544: C        VERIFY XVIN01 IS AN INTEGER VARIABLE.                          05410201
                    545: C                                                                       05420201
                    546:       IVTNUM =  32                                                      05430201
                    547:       IF (ICZERO) 30320, 0320, 30320                                    05440201
                    548:  0320 CONTINUE                                                          05450201
                    549:       XVIN01 = 4                                                        05460201
                    550:       RVCOMP = 10.0                                                     05470201
                    551:       RVCOMP = XVIN01/5                                                 05480201
                    552:       RVCORR = 0.0                                                      05490201
                    553: 40320 IF (RVCOMP) 20320, 10320, 20320                                   05500201
                    554: 30320 IVDELE = IVDELE + 1                                               05510201
                    555:       WRITE (I02,80000) IVTNUM                                          05520201
                    556:       IF (ICZERO) 10320, 0331, 20320                                    05530201
                    557: 10320 IVPASS = IVPASS + 1                                               05540201
                    558:       WRITE (I02,80002) IVTNUM                                          05550201
                    559:       GO TO 0331                                                        05560201
                    560: 20320 IVFAIL = IVFAIL + 1                                               05570201
                    561:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05580201
                    562:  0331 CONTINUE                                                          05590201
                    563: C                                                                       05600201
                    564: C     ****  FCVS PROGRAM 201  -  TEST 033  ****                         05610201
                    565: C                                                                       05620201
                    566: C        VERIFY MVIN01 IS A REAL VARIABLE.                              05630201
                    567: C                                                                       05640201
                    568:       IVTNUM =  33                                                      05650201
                    569:       IF (ICZERO) 30330, 0330, 30330                                    05660201
                    570:  0330 CONTINUE                                                          05670201
                    571:       RVCOMP = 10.0                                                     05680201
                    572:       MVIN01 = 4                                                        05690201
                    573:       RVCOMP = MVIN01/5                                                 05700201
                    574:       RVCORR = 0.8                                                      05710201
                    575: 40330 IF (RVCOMP - 0.79995) 20330, 10330, 40331                         05720201
                    576: 40331 IF (RVCOMP - 0.80005) 10330, 10330, 20330                         05730201
                    577: 30330 IVDELE = IVDELE + 1                                               05740201
                    578:       WRITE (I02,80000) IVTNUM                                          05750201
                    579:       IF (ICZERO) 10330, 0341, 20330                                    05760201
                    580: 10330 IVPASS = IVPASS + 1                                               05770201
                    581:       WRITE (I02,80002) IVTNUM                                          05780201
                    582:       GO TO 0341                                                        05790201
                    583: 20330 IVFAIL = IVFAIL + 1                                               05800201
                    584:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05810201
                    585:  0341 CONTINUE                                                          05820201
                    586: C                                                                       05830201
                    587: C        TEST 34 AND TEST 35 VERIFY THAT THE IMPLICIT TYPE SPECIFICA-   05840201
                    588: C     TION FOR A VARIABLE IS OVERRIDDEN BY THE APPEARANCE OF THAT       05850201
                    589: C     VARIABLE NAME IN A TYPE-STATEMENT.                                05860201
                    590: C                                                                       05870201
                    591: C     REFERENCE   X3.9-1977, SECTION 8.4, TYPE-STATEMENTS               05880201
                    592: C                            SECTION 8.5, IMPLICIT STATEMENT            05890201
                    593: C                                                                       05900201
                    594: C                                                                       05910201
                    595: C     ****  FCVS PROGRAM 201  -  TEST 034  ****                         05920201
                    596: C                                                                       05930201
                    597: C        VERIFY YVTN02 IS A REAL VARIABLE.                              05940201
                    598: C                                                                       05950201
                    599:       IVTNUM =  34                                                      05960201
                    600:       IF (ICZERO) 30340, 0340, 30340                                    05970201
                    601:  0340 CONTINUE                                                          05980201
                    602:       RVCOMP = 10.0                                                     05990201
                    603:       YVTN02 = 4                                                        06000201
                    604:       RVCOMP = YVTN02/5                                                 06010201
                    605:       RVCORR = 0.8                                                      06020201
                    606: 40340 IF (RVCOMP - 0.79995) 20340, 10340, 40341                         06030201
                    607: 40341 IF (RVCOMP - 0.80005) 10340, 10340, 20340                         06040201
                    608: 30340 IVDELE = IVDELE + 1                                               06050201
                    609:       WRITE (I02,80000) IVTNUM                                          06060201
                    610:       IF (ICZERO) 10340, 0351, 20340                                    06070201
                    611: 10340 IVPASS = IVPASS + 1                                               06080201
                    612:       WRITE (I02,80002) IVTNUM                                          06090201
                    613:       GO TO 0351                                                        06100201
                    614: 20340 IVFAIL = IVFAIL + 1                                               06110201
                    615:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06120201
                    616:  0351 CONTINUE                                                          06130201
                    617: C                                                                       06140201
                    618: C     ****  FCVS PROGRAM 201  -  TEST 035  ****                         06150201
                    619: C                                                                       06160201
                    620: C        VERIFY MVTN02 IS AN INTEGER VARIABLE.                          06170201
                    621: C                                                                       06180201
                    622:       IVTNUM =  35                                                      06190201
                    623:       IF (ICZERO) 30350, 0350, 30350                                    06200201
                    624:  0350 CONTINUE                                                          06210201
                    625:       RVCOMP = 10.0                                                     06220201
                    626:       MVTN02 = 4.0                                                      06230201
                    627:       RVCOMP = MVTN02/5                                                 06240201
                    628:       RVCORR = 0.0                                                      06250201
                    629: 40350 IF (RVCOMP) 20350, 10350, 20350                                   06260201
                    630: 30350 IVDELE = IVDELE + 1                                               06270201
                    631:       WRITE (I02,80000) IVTNUM                                          06280201
                    632:       IF (ICZERO) 10350, 0361, 20350                                    06290201
                    633: 10350 IVPASS = IVPASS + 1                                               06300201
                    634:       WRITE (I02,80002) IVTNUM                                          06310201
                    635:       GO TO 0361                                                        06320201
                    636: 20350 IVFAIL = IVFAIL + 1                                               06330201
                    637:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06340201
                    638:  0361 CONTINUE                                                          06350201
                    639: C                                                                       06360201
                    640: C                                                                       06370201
                    641: C     WRITE OUT TEST SUMMARY                                            06380201
                    642: C                                                                       06390201
                    643:       WRITE (I02,90004)                                                 06400201
                    644:       WRITE (I02,90014)                                                 06410201
                    645:       WRITE (I02,90004)                                                 06420201
                    646:       WRITE (I02,90000)                                                 06430201
                    647:       WRITE (I02,90004)                                                 06440201
                    648:       WRITE (I02,90020) IVFAIL                                          06450201
                    649:       WRITE (I02,90022) IVPASS                                          06460201
                    650:       WRITE (I02,90024) IVDELE                                          06470201
                    651:       STOP                                                              06480201
                    652: 90001 FORMAT (1H ,24X,5HFM201)                                          06490201
                    653: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM201)                          06500201
                    654: C                                                                       06510201
                    655: C     FORMATS FOR TEST DETAIL LINES                                     06520201
                    656: C                                                                       06530201
                    657: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   06540201
                    658: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      06550201
                    659: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         06560201
                    660: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    06570201
                    661: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        06580201
                    662: C                                                                       06590201
                    663: C     FORMAT STATEMENTS FOR PAGE HEADERS                                06600201
                    664: C                                                                       06610201
                    665: 90002 FORMAT (1H1)                                                      06620201
                    666: 90004 FORMAT (1H )                                                      06630201
                    667: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            06640201
                    668: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   06650201
                    669: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         06660201
                    670: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  06670201
                    671: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 06680201
                    672: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             06690201
                    673: C                                                                       06700201
                    674: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 06710201
                    675: C                                                                       06720201
                    676: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              06730201
                    677: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              06740201
                    678: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             06750201
                    679:       END                                                               06760201

unix.superglobalmegacorp.com

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