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

1.1       root        1:       PROGRAM FM328                                                     00010328
                      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                                                                       00020328
                      6: C                                                                       00030328
                      7: C          THIS ROUTINE TEST SUBSET LEVEL FEATURES OF                   00040328
                      8: C     SUBROUTINE SUBPROGRAMS.  TESTS ARE DESIGNED TO CHECK THE          00050328
                      9: C     ASSOCIATION OF ALL PERMISSIBLE FORMS OF ACTUAL ARGUMENTS WITH     00060328
                     10: C     VARIABLE, ARRAY AND PROCEDURE NAME DUMMY ARGUMENTS.  THESE        00070328
                     11: C     INCLUDE,                                                          00080328
                     12: C                                                                       00090328
                     13: C          1) ACTUAL ARGUMENTS ASSOCIATED TO VARIABLE NAME DUMMY        00100328
                     14: C             ARGUMENT INCLUDE,                                         00110328
                     15: C                                                                       00120328
                     16: C             A) CONSTANT                                               00130328
                     17: C             B) VARIABLE NAME                                          00140328
                     18: C             C) ARRAY ELEMENT NAME                                     00150328
                     19: C             D) EXPRESSION INVOLVING OPERATORS                         00160328
                     20: C             E) EXPRESSION ENCLOSED IN PARENTHESES                     00170328
                     21: C             F) INTRINSIC FUNCTION REFERENCE                           00180328
                     22: C             G) EXTERNAL FUNCTION REFERENCE                            00190328
                     23: C             H) STATEMENT FUNCTION REFERENCE                           00200328
                     24: C             I) ACTUAL ARGUMENT NAME SAME AS DUMMY ARGUMENT NAME       00210328
                     25: C                                                                       00220328
                     26: C          2) ACTUAL ARGUMENTS ASSOCIATED TO ARRAY NAME DUMMY           00230328
                     27: C             ARGUMENT INCLUDE,                                         00240328
                     28: C                                                                       00250328
                     29: C             A) ARRAY NAME                                             00260328
                     30: C             B) ARRAY ELEMENT NAME                                     00270328
                     31: C                                                                       00280328
                     32: C          3) ACTUAL ARGUMENTS ASSOCIATED TO PROCEDURE NAME DUMMY       00290328
                     33: C             ARGUMENT INCLUDE,                                         00300328
                     34: C                                                                       00310328
                     35: C             A) EXTERNAL FUNCTION NAME                                 00320328
                     36: C             B) INTRINSIC FUNCTION NAME                                00330328
                     37: C             C) SUBROUTINE NAME                                        00340328
                     38: C                                                                       00350328
                     39: C     ALL DATA PASSED TO THE REFERENCED SUBPROGRAMS ARE PASSED VIA      00360328
                     40: C     ARGUMENT VALUES, WHILE ALL RESULTS RETURNED TO FM328 ARE          00370328
                     41: C     RETURNED VIA VARIABLES IN NAMED COMMON.   SUBSET LEVEL ROUTINES   00380328
                     42: C     FM026, FM050 AND FM056 ALSO TEST THE USE OF SUBROUTINES.          00390328
                     43: C                                                                       00400328
                     44: C     REFERENCES.                                                       00410328
                     45: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00420328
                     46: C           X3.9-1978                                                   00430328
                     47: C                                                                       00440328
                     48: C        SECTION 2.8,     DUMMY ARGUMENTS                               00450328
                     49: C        SECTION 5.1.2.2, DUMMY ARRAY DECLARATOR                        00460328
                     50: C        SECTION 5.5,     DUMMY AND ACTUAL ARRAYS                       00470328
                     51: C        SECTION 8.1,     DIMENSION STATEMENT                           00480328
                     52: C        SECTION 8.3,     COMMON STATEMENT                              00490328
                     53: C        SECTION 8.4,     TYPE-STATEMENT                                00500328
                     54: C        SECTION 8.7,     EXTERNAL STATEMENT                            00510328
                     55: C        SECTION 8.8,     INTRINSIC STATEMENT                           00520328
                     56: C        SECTION 15.2,    REFERENCING A FUNCTION                        00530328
                     57: C        SECTION 15.3,    INTRINSIC FUNCTIONS                           00540328
                     58: C        SECTION 15.5,    EXTERNAL FUNCTIONS                            00550328
                     59: C        SECTION 15.6,    SUBROUTINES                                   00560328
                     60: C        SECTION 15.9,    ARGUMENTS AND COMMON BLOCKS                   00570328
                     61: C                                                                       00580328
                     62: C                                                                       00590328
                     63: C     ******************************************************************00600328
                     64: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00610328
                     65: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00620328
                     66: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00630328
                     67: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00640328
                     68: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00650328
                     69: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00660328
                     70: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00670328
                     71: C     THE RESULT OF EXECUTING THESE TESTS.                              00680328
                     72: C                                                                       00690328
                     73: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00700328
                     74: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00710328
                     75: C                                                                       00720328
                     76: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00730328
                     77: C                    DEPARTMENT OF THE NAVY                             00740328
                     78: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00750328
                     79: C                    WASHINGTON, D.C.   20376                           00760328
                     80: C                                                                       00770328
                     81: C     ******************************************************************00780328
                     82: C                                                                       00790328
                     83: C                                                                       00800328
                     84:       IMPLICIT LOGICAL (L)                                              00810328
                     85:       IMPLICIT CHARACTER*14 (C)                                         00820328
                     86: C                                                                       00830328
                     87:       INTEGER IATN11(2,3)                                               00840328
                     88:       REAL RATN11(3,4)                                                  00850328
                     89:       INTEGER FF330                                                     00860328
                     90:       DIMENSION IADN11(4), IADN12(4)                                    00870328
                     91:       DIMENSION RADN11(4), RADN12(4)                                    00880328
                     92:       DIMENSION LADN11(4)                                               00890328
                     93:       COMMON /BLK1/IVCN01, RVCN01, LVCN01                               00900328
                     94:       COMMON IACN11(6), RACN11(10)                                      00910328
                     95:       EXTERNAL FF330, FS335                                             00920328
                     96:       INTRINSIC  ABS, IABS, NINT                                        00930328
                     97:       IFOS01(IDON04) = IDON04 + 1                                       00940328
                     98:       RFOS01(RDON04) = RDON04 + 1.0                                     00950328
                     99:       LFOS01(LDON04) = .NOT. LDON04                                     00960328
                    100: C                                                                       00970328
                    101: C                                                                       00980328
                    102: C                                                                       00990328
                    103: C     INITIALIZATION SECTION.                                           01000328
                    104: C                                                                       01010328
                    105: C     INITIALIZE CONSTANTS                                              01020328
                    106: C     ********************                                              01030328
                    107: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          01040328
                    108:       I01 = 5                                                           01050328
                    109: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              01060328
                    110:       I02 = 6                                                           01070328
                    111: C     SYSTEM ENVIRONMENT SECTION                                        01080328
                    112: C                                                                       01090328
                    113:       I01 = 5                                                           01100328
                    114: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      01110328
                    115: C     (UNIT NUMBER FOR CARD READER).                                    01120328
                    116: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD01130328
                    117: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01140328
                    118: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         01150328
                    119: C                                                                       01160328
                    120:       I02 = 6                                                           01170328
                    121: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      01180328
                    122: C     (UNIT NUMBER FOR PRINTER).                                        01190328
                    123: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.01200328
                    124: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01210328
                    125: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         01220328
                    126: C                                                                       01230328
                    127:       IVPASS = 0                                                        01240328
                    128:       IVFAIL = 0                                                        01250328
                    129:       IVDELE = 0                                                        01260328
                    130:       ICZERO = 0                                                        01270328
                    131: C                                                                       01280328
                    132: C     WRITE OUT PAGE HEADERS                                            01290328
                    133: C                                                                       01300328
                    134:       WRITE (I02,90002)                                                 01310328
                    135:       WRITE (I02,90006)                                                 01320328
                    136:       WRITE (I02,90008)                                                 01330328
                    137:       WRITE (I02,90004)                                                 01340328
                    138:       WRITE (I02,90010)                                                 01350328
                    139:       WRITE (I02,90004)                                                 01360328
                    140:       WRITE (I02,90016)                                                 01370328
                    141:       WRITE (I02,90001)                                                 01380328
                    142:       WRITE (I02,90004)                                                 01390328
                    143:       WRITE (I02,90012)                                                 01400328
                    144:       WRITE (I02,90014)                                                 01410328
                    145:       WRITE (I02,90004)                                                 01420328
                    146: C                                                                       01430328
                    147: C                                                                       01440328
                    148: C     TEST 001 THROUGH TEST 013 ARE DESIGNED TO ASSOCIATE VARIOUS FORMS 01450328
                    149: C     OF ACTUAL ARGUMENTS TO VARIABLE NAMES USED AS SUBROUTINE          01460328
                    150: C     DUMMY ARGUMENTS.  INTEGER, REAL AND LOGICAL DUMMY ARGUMENTS ARE   01470328
                    151: C     TESTED.                                                           01480328
                    152: C                                                                       01490328
                    153: C                                                                       01500328
                    154: C     ****  FCVS PROGRAM 328  -  TEST 001  ****                         01510328
                    155: C                                                                       01520328
                    156: C     USE INTEGER, REAL AND LOGICAL CONSTANTS AS ACTUAL ARGUMENTS.      01530328
                    157: C                                                                       01540328
                    158:       IVTNUM =   1                                                      01550328
                    159:       IF (ICZERO) 30010, 0010, 30010                                    01560328
                    160:  0010 CONTINUE                                                          01570328
                    161:       CALL FS329(3, 3.0, .FALSE.)                                       01580328
                    162:       IVCOMP = 1                                                        01590328
                    163:       IF (IVCN01 .EQ. 4) IVCOMP = IVCOMP * 2                            01600328
                    164:       IF (RVCN01 .GE. 3.9995 .AND. RVCN01 .LE. 4.0005) IVCOMP = IVCOMP*301610328
                    165:       IF (LVCN01) IVCOMP = IVCOMP * 5                                   01620328
                    166:       IVCORR = 30                                                       01630328
                    167: 40010 IF (IVCOMP - 30) 20010, 10010, 20010                              01640328
                    168: 30010 IVDELE = IVDELE + 1                                               01650328
                    169:       WRITE (I02,80000) IVTNUM                                          01660328
                    170:       IF (ICZERO) 10010, 0021, 20010                                    01670328
                    171: 10010 IVPASS = IVPASS + 1                                               01680328
                    172:       WRITE (I02,80002) IVTNUM                                          01690328
                    173:       GO TO 0021                                                        01700328
                    174: 20010 IVFAIL = IVFAIL + 1                                               01710328
                    175:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01720328
                    176:  0021 CONTINUE                                                          01730328
                    177: C                                                                       01740328
                    178: C     ****  FCVS PROGRAM 328  -  TEST 002  ****                         01750328
                    179: C                                                                       01760328
                    180: C     USE INTEGER, REAL AND LOGICAL VARIABLES AS ACTUAL ARGUMENTS.      01770328
                    181: C                                                                       01780328
                    182:       IVTNUM =   2                                                      01790328
                    183:       IF (ICZERO) 30020, 0020, 30020                                    01800328
                    184:  0020 CONTINUE                                                          01810328
                    185:       IVON01 = 7                                                        01820328
                    186:       RVON01 = 7.0                                                      01830328
                    187:       LVON01 = .TRUE.                                                   01840328
                    188:       CALL FS329(IVON01, RVON01, LVON01)                                01850328
                    189:       IVCOMP = 1                                                        01860328
                    190:       IF (IVCN01 .EQ. 8) IVCOMP =IVCOMP * 2                             01870328
                    191:       IF (RVCN01 .GE. 7.9995 .AND. RVCN01 .LE. 8.0005) IVCOMP = IVCOMP*301880328
                    192:       IF (.NOT. LVCN01) IVCOMP = IVCOMP * 5                             01890328
                    193:       IVCORR = 30                                                       01900328
                    194: 40020 IF (IVCOMP - 30) 20020, 10020, 20020                              01910328
                    195: 30020 IVDELE = IVDELE + 1                                               01920328
                    196:       WRITE (I02,80000) IVTNUM                                          01930328
                    197:       IF (ICZERO) 10020, 0031, 20020                                    01940328
                    198: 10020 IVPASS = IVPASS + 1                                               01950328
                    199:       WRITE (I02,80002) IVTNUM                                          01960328
                    200:       GO TO 0031                                                        01970328
                    201: 20020 IVFAIL = IVFAIL + 1                                               01980328
                    202:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01990328
                    203:  0031 CONTINUE                                                          02000328
                    204: C                                                                       02010328
                    205: C     ****  FCVS PROGRAM 328  -  TEST 003  ****                         02020328
                    206: C                                                                       02030328
                    207: C     USE INTEGER, REAL AND LOGICAL ARRAY ELEMENT NAMES AS ACTUAL       02040328
                    208: C     ARGUMENTS.                                                        02050328
                    209: C                                                                       02060328
                    210:       IVTNUM =   3                                                      02070328
                    211:       IF (ICZERO) 30030, 0030, 30030                                    02080328
                    212:  0030 CONTINUE                                                          02090328
                    213:       IADN11(2) = 2                                                     02100328
                    214:       RADN11(4) = 4.0                                                   02110328
                    215:       LADN11(1) = .FALSE.                                               02120328
                    216:       CALL FS329(IADN11(2), RADN11(4), LADN11(1))                       02130328
                    217:       IVCOMP = 1                                                        02140328
                    218:       IF (IVCN01 .EQ. 3) IVCOMP = IVCOMP * 2                            02150328
                    219:       IF (RVCN01 .GE. 4.9995 .AND. RVCN01 .LE. 5.0005) IVCOMP = IVCOMP*302160328
                    220:       IF (LVCN01) IVCOMP = IVCOMP * 5                                   02170328
                    221:       IVCORR = 30                                                       02180328
                    222: 40030 IF (IVCOMP - 30) 20030, 10030, 20030                              02190328
                    223: 30030 IVDELE = IVDELE + 1                                               02200328
                    224:       WRITE (I02,80000) IVTNUM                                          02210328
                    225:       IF (ICZERO) 10030, 0041, 20030                                    02220328
                    226: 10030 IVPASS = IVPASS + 1                                               02230328
                    227:       WRITE (I02,80002) IVTNUM                                          02240328
                    228:       GO TO 0041                                                        02250328
                    229: 20030 IVFAIL = IVFAIL + 1                                               02260328
                    230:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02270328
                    231:  0041 CONTINUE                                                          02280328
                    232: C                                                                       02290328
                    233: C     ****  FCVS PROGRAM 328  -  TEST 004  ****                         02300328
                    234: C                                                                       02310328
                    235: C     INTEGER AND REAL EXPRESSIONS INVOLVING OPERATORS AS ACTUAL        02320328
                    236: C     ARGUMENTS.                                                        02330328
                    237: C                                                                       02340328
                    238:       IVTNUM =   4                                                      02350328
                    239:       IF (ICZERO) 30040, 0040, 30040                                    02360328
                    240:  0040 CONTINUE                                                          02370328
                    241:       IVON02 = 2                                                        02380328
                    242:       IVON03 = 3                                                        02390328
                    243:       RVON02 = 2.                                                       02400328
                    244:       RVON03 = 1.2                                                      02410328
                    245:       CALL FS329(IVON02 + 3 * IVON03 - 7, RVON02 *RVON03 / .6, .TRUE.)  02420328
                    246:       IVCOMP = 1                                                        02430328
                    247:       IF (IVCN01 .EQ. 5) IVCOMP = IVCOMP * 2                            02440328
                    248:       IF (RVCN01 .GE. 4.9995 .AND. RVCN01 .LE. 5.0005) IVCOMP = IVCOMP*302450328
                    249:       IVCORR = 6                                                        02460328
                    250: 40040 IF (IVCOMP -  6) 20040, 10040, 20040                              02470328
                    251: 30040 IVDELE = IVDELE + 1                                               02480328
                    252:       WRITE (I02,80000) IVTNUM                                          02490328
                    253:       IF (ICZERO) 10040, 0051, 20040                                    02500328
                    254: 10040 IVPASS = IVPASS + 1                                               02510328
                    255:       WRITE (I02,80002) IVTNUM                                          02520328
                    256:       GO TO 0051                                                        02530328
                    257: 20040 IVFAIL = IVFAIL + 1                                               02540328
                    258:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02550328
                    259:  0051 CONTINUE                                                          02560328
                    260: C                                                                       02570328
                    261: C     ****  FCVS PROGRAM 328  -  TEST 005  ****                         02580328
                    262: C                                                                       02590328
                    263: C     REAL EXPRESSION INVOLVING INTEGER AND REAL PRIMARIES AND OPERATORS02600328
                    264: C     AS ACTUAL ARGUMENT.                                               02610328
                    265: C                                                                       02620328
                    266:       IVTNUM =   5                                                      02630328
                    267:       IF (ICZERO) 30050, 0050, 30050                                    02640328
                    268:  0050 CONTINUE                                                          02650328
                    269:       RVCOMP = 0.0                                                      02660328
                    270:       IVON01 = 2                                                        02670328
                    271:       RADN11(2) = 2.5                                                   02680328
                    272:       CALL FS329(1, IVON01**3 * (RADN11(2) - 1) + 2.0, .TRUE.)          02690328
                    273:       RVCOMP = RVCN01                                                   02700328
                    274:       RVCORR = 15.0                                                     02710328
                    275: 40050 IF (RVCOMP - 14.995) 20050, 10050, 40051                          02720328
                    276: 40051 IF (RVCOMP - 15.005) 10050, 10050, 20050                          02730328
                    277: 30050 IVDELE = IVDELE + 1                                               02740328
                    278:       WRITE (I02,80000) IVTNUM                                          02750328
                    279:       IF (ICZERO) 10050, 0061, 20050                                    02760328
                    280: 10050 IVPASS = IVPASS + 1                                               02770328
                    281:       WRITE (I02,80002) IVTNUM                                          02780328
                    282:       GO TO 0061                                                        02790328
                    283: 20050 IVFAIL = IVFAIL + 1                                               02800328
                    284:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          02810328
                    285:  0061 CONTINUE                                                          02820328
                    286: C                                                                       02830328
                    287: C     ****  FCVS PROGRAM 328  -  TEST 006  ****                         02840328
                    288: C                                                                       02850328
                    289: C     LOGICAL EXPRESSION INVOLVING LOGICAL OPERATOR (.NOT.) AS ACTUAL   02860328
                    290: C     ARGUMENT.                                                         02870328
                    291: C                                                                       02880328
                    292:       IVTNUM =   6                                                      02890328
                    293:       IF (ICZERO) 30060, 0060, 30060                                    02900328
                    294:  0060 CONTINUE                                                          02910328
                    295:       LVON01 = .TRUE.                                                   02920328
                    296:       CALL FS329(1, 1.0, .NOT. LVON01)                                  02930328
                    297:       IVCOMP = 0                                                        02940328
                    298:       IF (LVCN01) IVCOMP = 1                                            02950328
                    299:       IVCORR = 1                                                        02960328
                    300: 40060 IF (IVCOMP - 1) 20060, 10060, 20060                               02970328
                    301: 30060 IVDELE = IVDELE + 1                                               02980328
                    302:       WRITE (I02,80000) IVTNUM                                          02990328
                    303:       IF (ICZERO) 10060, 0071, 20060                                    03000328
                    304: 10060 IVPASS = IVPASS + 1                                               03010328
                    305:       WRITE (I02,80002) IVTNUM                                          03020328
                    306:       GO TO 0071                                                        03030328
                    307: 20060 IVFAIL = IVFAIL + 1                                               03040328
                    308:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03050328
                    309:  0071 CONTINUE                                                          03060328
                    310: C                                                                       03070328
                    311: C     ****  FCVS PROGRAM 328  -  TEST 007  ****                         03080328
                    312: C                                                                       03090328
                    313: C     LOGICAL EXPRESSION INVOLVING LOGICAL OPERATOR (.OR.) AS ACTIVE    03100328
                    314: C     ARGUMENT.                                                         03110328
                    315: C                                                                       03120328
                    316:       IVTNUM =   7                                                      03130328
                    317:       IF (ICZERO) 30070, 0070, 30070                                    03140328
                    318:  0070 CONTINUE                                                          03150328
                    319:       LVON01 = .TRUE.                                                   03160328
                    320:       LVON02 = .FALSE.                                                  03170328
                    321:       CALL FS329(1, 1.0, LVON01 .OR. LVON02)                            03180328
                    322:       IVCOMP = 0                                                        03190328
                    323:       IF (.NOT. LVCN01) IVCOMP = 1                                      03200328
                    324:       IVCORR = 1                                                        03210328
                    325: 40070 IF (IVCOMP - 1) 20070, 10070, 20070                               03220328
                    326: 30070 IVDELE = IVDELE + 1                                               03230328
                    327:       WRITE (I02,80000) IVTNUM                                          03240328
                    328:       IF (ICZERO) 10070, 0081, 20070                                    03250328
                    329: 10070 IVPASS = IVPASS + 1                                               03260328
                    330:       WRITE (I02,80002) IVTNUM                                          03270328
                    331:       GO TO 0081                                                        03280328
                    332: 20070 IVFAIL = IVFAIL + 1                                               03290328
                    333:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03300328
                    334:  0081 CONTINUE                                                          03310328
                    335: C                                                                       03320328
                    336: C     ****  FCVS PROGRAM 328  -  TEST 008  ****                         03330328
                    337: C                                                                       03340328
                    338: C     LOGICAL EXPRESSION INVOLVING LOGICAL OPERATOR (.AND.) AS ACTUAL   03350328
                    339: C     ARGUMENT.                                                         03360328
                    340: C                                                                       03370328
                    341:       IVTNUM =   8                                                      03380328
                    342:       IF (ICZERO) 30080, 0080, 30080                                    03390328
                    343:  0080 CONTINUE                                                          03400328
                    344:       LVON01 = .FALSE.                                                  03410328
                    345:       LVON02 = .TRUE.                                                   03420328
                    346:       CALL FS329(1, 1.0, LVON01 .AND. LVON02)                           03430328
                    347:       IVCOMP = 0                                                        03440328
                    348:       IF (LVCN01) IVCOMP = 1                                            03450328
                    349:       IVCORR = 1                                                        03460328
                    350: 40080 IF (IVCOMP - 1) 20080, 10080, 20080                               03470328
                    351: 30080 IVDELE = IVDELE + 1                                               03480328
                    352:       WRITE (I02,80000) IVTNUM                                          03490328
                    353:       IF (ICZERO) 10080, 0091, 20080                                    03500328
                    354: 10080 IVPASS = IVPASS + 1                                               03510328
                    355:       WRITE (I02,80002) IVTNUM                                          03520328
                    356:       GO TO 0091                                                        03530328
                    357: 20080 IVFAIL = IVFAIL + 1                                               03540328
                    358:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03550328
                    359:  0091 CONTINUE                                                          03560328
                    360: C                                                                       03570328
                    361: C     ****  FCVS PROGRAM 328  -  TEST 009  ****                         03580328
                    362: C                                                                       03590328
                    363: C     EXPRESSION ENCLOSED IN PARENTHESES AS ACTUAL ARGUMENT.            03600328
                    364: C                                                                       03610328
                    365:       IVTNUM =   9                                                      03620328
                    366:       IF (ICZERO) 30090, 0090, 30090                                    03630328
                    367:  0090 CONTINUE                                                          03640328
                    368:       IVCOMP = 0                                                        03650328
                    369:       IVON01 = 6                                                        03660328
                    370:       CALL FS329((IVON01 + 3), 1.0, .TRUE.)                             03670328
                    371:       IVCOMP = IVCN01                                                   03680328
                    372:       IVCORR = 10                                                       03690328
                    373: 40090 IF (IVCOMP - 10) 20090, 10090, 20090                              03700328
                    374: 30090 IVDELE = IVDELE + 1                                               03710328
                    375:       WRITE (I02,80000) IVTNUM                                          03720328
                    376:       IF (ICZERO) 10090, 0101, 20090                                    03730328
                    377: 10090 IVPASS = IVPASS + 1                                               03740328
                    378:       WRITE (I02,80002) IVTNUM                                          03750328
                    379:       GO TO 0101                                                        03760328
                    380: 20090 IVFAIL = IVFAIL + 1                                               03770328
                    381:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03780328
                    382:  0101 CONTINUE                                                          03790328
                    383: C                                                                       03800328
                    384: C     ****  FCVS PROGRAM 328  -  TEST 010  ****                         03810328
                    385: C                                                                       03820328
                    386: C     INTEGER AND REAL INTRINSIC FUNCTION REFERENCES AS ACTUAL ARGUMENTS03830328
                    387: C                                                                       03840328
                    388:       IVTNUM =  10                                                      03850328
                    389:       IF (ICZERO) 30100, 0100, 30100                                    03860328
                    390:  0100 CONTINUE                                                          03870328
                    391:       RVON01 = 4.7                                                      03880328
                    392:       RVON02 = -5.2                                                     03890328
                    393:       CALL FS329(NINT(RVON01), ABS(RVON02), .TRUE.)                     03900328
                    394:       IVCOMP = 1                                                        03910328
                    395:       IF (IVCN01 .EQ. 6) IVCOMP = IVCOMP * 2                            03920328
                    396:       IF (RVCN01 .GE. 6.1995 .AND. RVCN01 .LE. 6.2005) IVCOMP = IVCOMP*303930328
                    397:       IVCORR = 6                                                        03940328
                    398: 40100 IF (IVCOMP -  6) 20100, 10100, 20100                              03950328
                    399: 30100 IVDELE = IVDELE + 1                                               03960328
                    400:       WRITE (I02,80000) IVTNUM                                          03970328
                    401:       IF (ICZERO) 10100, 0111, 20100                                    03980328
                    402: 10100 IVPASS = IVPASS + 1                                               03990328
                    403:       WRITE (I02,80002) IVTNUM                                          04000328
                    404:       GO TO 0111                                                        04010328
                    405: 20100 IVFAIL = IVFAIL + 1                                               04020328
                    406:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04030328
                    407:  0111 CONTINUE                                                          04040328
                    408: C                                                                       04050328
                    409: C     ****  FCVS PROGRAM 328  -  TEST 011  ****                         04060328
                    410: C                                                                       04070328
                    411: C     EXTERNAL FUNCTION REFERENCE AS ACTUAL ARGUMENT.                   04080328
                    412: C                                                                       04090328
                    413:       IVTNUM =  11                                                      04100328
                    414:       IF (ICZERO) 30110, 0110, 30110                                    04110328
                    415:  0110 CONTINUE                                                          04120328
                    416:       IVCOMP = 0                                                        04130328
                    417:       IVON01 = 4                                                        04140328
                    418:       CALL FS329(FF330(IVON01), 1.0, .TRUE.)                            04150328
                    419:       IVCOMP = IVCN01                                                   04160328
                    420:       IVCORR = 6                                                        04170328
                    421: 40110 IF (IVCOMP - 6) 20110, 10110, 20110                               04180328
                    422: 30110 IVDELE = IVDELE + 1                                               04190328
                    423:       WRITE (I02,80000) IVTNUM                                          04200328
                    424:       IF (ICZERO) 10110, 0121, 20110                                    04210328
                    425: 10110 IVPASS = IVPASS + 1                                               04220328
                    426:       WRITE (I02,80002) IVTNUM                                          04230328
                    427:       GO TO 0121                                                        04240328
                    428: 20110 IVFAIL = IVFAIL + 1                                               04250328
                    429:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04260328
                    430:  0121 CONTINUE                                                          04270328
                    431: C                                                                       04280328
                    432: C     ****  FCVS PROGRAM 328  -  TEST 012  ****                         04290328
                    433: C                                                                       04300328
                    434: C     USE ACTUAL ARGUMENT NAMES WHICH ARE IDENTICAL TO THE DUMMY        04310328
                    435: C     ARGUMENT NAMES.                                                   04320328
                    436: C                                                                       04330328
                    437:       IVTNUM =  12                                                      04340328
                    438:       IF (ICZERO) 30120, 0120, 30120                                    04350328
                    439:  0120 CONTINUE                                                          04360328
                    440:       IDON01 = 10                                                       04370328
                    441:       RDON01 = 10.0                                                     04380328
                    442:       LDON01 = .FALSE.                                                  04390328
                    443:       CALL FS329(IDON01, RDON01, LDON01)                                04400328
                    444:       IVCOMP = 1                                                        04410328
                    445:       IF (IVCN01 .EQ. 11) IVCOMP = IVCOMP * 2                           04420328
                    446:       IF (RVCN01 .GE. 10.995 .AND. RVCN01 .LE. 11.005) IVCOMP = IVCOMP*304430328
                    447:       IF (LVCN01) IVCOMP = IVCOMP * 5                                   04440328
                    448:       IVCORR = 30                                                       04450328
                    449: 40120 IF (IVCOMP - 30) 20120, 10120, 20120                              04460328
                    450: 30120 IVDELE = IVDELE + 1                                               04470328
                    451:       WRITE (I02,80000) IVTNUM                                          04480328
                    452:       IF (ICZERO) 10120, 0131, 20120                                    04490328
                    453: 10120 IVPASS = IVPASS + 1                                               04500328
                    454:       WRITE (I02,80002) IVTNUM                                          04510328
                    455:       GO TO 0131                                                        04520328
                    456: 20120 IVFAIL = IVFAIL + 1                                               04530328
                    457:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04540328
                    458:  0131 CONTINUE                                                          04550328
                    459: C                                                                       04560328
                    460: C     ****  FCVS PROGRAM 328  -  TEST 013  ****                         04570328
                    461: C                                                                       04580328
                    462: C     USE INTEGER, REAL AND LOGICAL STATEMENT FUNCTION REFERENCES AS    04590328
                    463: C     ARGUMENT NAMES.                                                   04600328
                    464: C                                                                       04610328
                    465:       IVTNUM =  13                                                      04620328
                    466:       IF (ICZERO) 30130, 0130, 30130                                    04630328
                    467:  0130 CONTINUE                                                          04640328
                    468:       RVON01 = 5.0                                                      04650328
                    469:       CALL FS329(IFOS01(4), RFOS01(RVON01), LFOS01(.TRUE.))             04660328
                    470:       IVCOMP = 1                                                        04670328
                    471:       IF (IVCN01 .EQ. 6) IVCOMP = IVCOMP * 2                            04680328
                    472:       IF (RVCN01 .GE. 6.9995 .AND. RVCN01 .LE. 7.0005) IVCOMP = IVCOMP*304690328
                    473:       IF (LVCN01) IVCOMP = IVCOMP * 5                                   04700328
                    474:       IVCORR = 30                                                       04710328
                    475: 40130 IF (IVCOMP - 30) 20130, 10130, 20130                              04720328
                    476: 30130 IVDELE = IVDELE + 1                                               04730328
                    477:       WRITE (I02,80000) IVTNUM                                          04740328
                    478:       IF (ICZERO) 10130, 0141, 20130                                    04750328
                    479: 10130 IVPASS = IVPASS + 1                                               04760328
                    480:       WRITE (I02,80002) IVTNUM                                          04770328
                    481:       GO TO 0141                                                        04780328
                    482: 20130 IVFAIL = IVFAIL + 1                                               04790328
                    483:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04800328
                    484:  0141 CONTINUE                                                          04810328
                    485: C                                                                       04820328
                    486: C     TEST 014 THROUGH TEST 019 ARE DESIGNED TO ASSOCIATE VARIOUS FORMS 04830328
                    487: C     OF ACTUAL ARGUMENTS TO ARRAY NAMES USED AS SUBROUTINE DUMMY       04840328
                    488: C     ARGUMENTS.                                                        04850328
                    489: C                                                                       04860328
                    490: C                                                                       04870328
                    491: C     ****  FCVS PROGRAM 328  -  TEST 014  ****                         04880328
                    492: C                                                                       04890328
                    493: C     USE AN ARRAY NAME AS AN ACTUAL ARGUMENT IN WHICH THE ACTUAL       04900328
                    494: C     ARGUMENT ARRAY DECLARATOR IS IDENTICAL TO THE ASSOCIATED DUMMY    04910328
                    495: C     ARGUMENT ARRAY DECLARATOR.                                        04920328
                    496: C                                                                       04930328
                    497:       IVTNUM =  14                                                      04940328
                    498:       IF (ICZERO) 30140, 0140, 30140                                    04950328
                    499:  0140 CONTINUE                                                          04960328
                    500:       IVCOMP = 0                                                        04970328
                    501:       IADN12(1) = 1                                                     04980328
                    502:       IADN12(2) = 10                                                    04990328
                    503:       IADN12(3) = 100                                                   05000328
                    504:       IADN12(4) = 1000                                                  05010328
                    505:       CALL FS331(IADN12)                                                05020328
                    506:       IVCOMP = IVCN01                                                   05030328
                    507:       IVCORR = 1111                                                     05040328
                    508: 40140 IF (IVCOMP - 1111) 20140, 10140, 20140                            05050328
                    509: 30140 IVDELE = IVDELE + 1                                               05060328
                    510:       WRITE (I02,80000) IVTNUM                                          05070328
                    511:       IF (ICZERO) 10140, 0151, 20140                                    05080328
                    512: 10140 IVPASS = IVPASS + 1                                               05090328
                    513:       WRITE (I02,80002) IVTNUM                                          05100328
                    514:       GO TO 0151                                                        05110328
                    515: 20140 IVFAIL = IVFAIL + 1                                               05120328
                    516:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05130328
                    517:  0151 CONTINUE                                                          05140328
                    518: C                                                                       05150328
                    519: C     ****  FCVS PROGRAM 328  -  TEST 015  ****                         05160328
                    520: C                                                                       05170328
                    521: C     USE AN ARRAY NAME AS AN ACTUAL ARGUMENT IN WHICH THE SIZE OF THE  05180328
                    522: C     ACTUAL ARGUMENT ARRAY IS LARGER THAN THE SIZE OF THE ASSOCIATED   05190328
                    523: C     DUMMY ARGUMENT ARRAY.                                             05200328
                    524: C                                                                       05210328
                    525:       IVTNUM =  15                                                      05220328
                    526:       IF (ICZERO) 30150, 0150, 30150                                    05230328
                    527:  0150 CONTINUE                                                          05240328
                    528:       IVCOMP = 0                                                        05250328
                    529:       IACN11(1) = 1                                                     05260328
                    530:       IACN11(2) = 10                                                    05270328
                    531:       IACN11(3) = 100                                                   05280328
                    532:       IACN11(4) = 1000                                                  05290328
                    533:       IACN11(5) = 10000                                                 05300328
                    534:       CALL FS331(IACN11)                                                05310328
                    535:       IVCOMP = IVCN01                                                   05320328
                    536:       IVCORR = 1111                                                     05330328
                    537: 40150 IF (IVCOMP - 1111) 20150, 10150, 20150                            05340328
                    538: 30150 IVDELE = IVDELE + 1                                               05350328
                    539:       WRITE (I02,80000) IVTNUM                                          05360328
                    540:       IF (ICZERO) 10150, 0161, 20150                                    05370328
                    541: 10150 IVPASS = IVPASS + 1                                               05380328
                    542:       WRITE (I02,80002) IVTNUM                                          05390328
                    543:       GO TO 0161                                                        05400328
                    544: 20150 IVFAIL = IVFAIL + 1                                               05410328
                    545:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05420328
                    546:  0161 CONTINUE                                                          05430328
                    547: C                                                                       05440328
                    548: C     ****  FCVS PROGRAM 328  -  TEST 016  ****                         05450328
                    549: C                                                                       05460328
                    550: C     USE AN ARRAY NAME AS AN ACTUAL ARGUMENT IN WHICH THE ACTUAL       05470328
                    551: C     ARGUMENT ARRAY DECLARATOR IS LARGER AND HAS MORE SUBSCRIPT        05480328
                    552: C     EXPRESSIONS THAN THE ASSOCIATED DUMMY ARGUMENT ARRAY DECLARATOR.  05490328
                    553: C                                                                       05500328
                    554:       IVTNUM =  16                                                      05510328
                    555:       IF (ICZERO) 30160, 0160, 30160                                    05520328
                    556:  0160 CONTINUE                                                          05530328
                    557:       IVCOMP = 0                                                        05540328
                    558:       IATN11(1,1) = 1                                                   05550328
                    559:       IATN11(2,1) = 10                                                  05560328
                    560:       IATN11(1,2) = 100                                                 05570328
                    561:       IATN11(2,2) = 1000                                                05580328
                    562:       IATN11(1,3) = 10000                                               05590328
                    563:       CALL FS331(IATN11)                                                05600328
                    564:       IVCOMP = IVCN01                                                   05610328
                    565:       IVCORR = 1111                                                     05620328
                    566: 40160 IF (IVCOMP - 1111) 20160, 10160, 20160                            05630328
                    567: 30160 IVDELE = IVDELE + 1                                               05640328
                    568:       WRITE (I02,80000) IVTNUM                                          05650328
                    569:       IF (ICZERO) 10160, 0171, 20160                                    05660328
                    570: 10160 IVPASS = IVPASS + 1                                               05670328
                    571:       WRITE (I02,80002) IVTNUM                                          05680328
                    572:       GO TO 0171                                                        05690328
                    573: 20160 IVFAIL = IVFAIL + 1                                               05700328
                    574:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05710328
                    575:  0171 CONTINUE                                                          05720328
                    576: C                                                                       05730328
                    577: C     ****  FCVS PROGRAM 328  -  TEST 017  ****                         05740328
                    578: C                                                                       05750328
                    579: C     USE AN ARRAY ELEMENT NAME AS AN ACTUAL ARGUMENT IN WHICH THE      05760328
                    580: C     ASSOCIATED ACTUAL AND DUMMY ARRAY DECLARATORS ARE IDENTICAL.  ALL 05770328
                    581: C     ARRAY ELEMENTS OF THE ACTUAL ARRAY SHOULD BE PASSED TO THE        05780328
                    582: C     DUMMY ARRAY OF THE SUBROUTINE.                                    05790328
                    583: C                                                                       05800328
                    584:       IVTNUM =  17                                                      05810328
                    585:       IF (ICZERO) 30170, 0170, 30170                                    05820328
                    586:  0170 CONTINUE                                                          05830328
                    587:       RVCOMP = 0.0                                                      05840328
                    588:       RADN12(1) = 1.                                                    05850328
                    589:       RADN12(2) = 10.                                                   05860328
                    590:       RADN12(3) = 100.                                                  05870328
                    591:       RADN12(4) = 1000.                                                 05880328
                    592:       CALL FS332(RADN12(1))                                             05890328
                    593:       RVCOMP = RVCN01                                                   05900328
                    594:       RVCORR = 1111.                                                    05910328
                    595: 40170 IF (RVCOMP - 1110.5) 20170, 10170, 40171                          05920328
                    596: 40171 IF (RVCOMP - 1111.5) 10170, 10170, 20170                          05930328
                    597: 30170 IVDELE = IVDELE + 1                                               05940328
                    598:       WRITE (I02,80000) IVTNUM                                          05950328
                    599:       IF (ICZERO) 10170, 0181, 20170                                    05960328
                    600: 10170 IVPASS = IVPASS + 1                                               05970328
                    601:       WRITE (I02,80002) IVTNUM                                          05980328
                    602:       GO TO 0181                                                        05990328
                    603: 20170 IVFAIL = IVFAIL + 1                                               06000328
                    604:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06010328
                    605:  0181 CONTINUE                                                          06020328
                    606: C                                                                       06030328
                    607: C     ****  FCVS PROGRAM 328  -  TEST 018  ****                         06040328
                    608: C                                                                       06050328
                    609: C     USE AN ARRAY ELEMENT NAME AS AN ACTUAL ARGUMENT IN WHICH THE SIZE 06060328
                    610: C     OF THE ACTUAL ARGUMENT ARRAY IS LARGER AND HAS FEWER SUBSCRIPT    06070328
                    611: C     EXPRESSIONS THAN THE ASSOCIATED DUMMY ARRAY.  ONLY ACTUAL ARRAY   06080328
                    612: C     ELEMENTS WITH SUBSCRIPT VALUES OF 5, 6, 7 AND 8 ( OUT OF A        06090328
                    613: C     POSSIBLE 10 ELEMENTS) SHOULD BE PASSED TO THE DUMMY ARRAY OF      06100328
                    614: C     THE SUBROUTINE.                                                   06110328
                    615: C                                                                       06120328
                    616:       IVTNUM =  18                                                      06130328
                    617:       IF (ICZERO) 30180, 0180, 30180                                    06140328
                    618:  0180 CONTINUE                                                          06150328
                    619:       RVCOMP = 0.0                                                      06160328
                    620:       RACN11(4) = 1.                                                    06170328
                    621:       RACN11(5) = 10.                                                   06180328
                    622:       RACN11(6) = 100.                                                  06190328
                    623:       RACN11(7) = 1000.                                                 06200328
                    624:       RACN11(8) = 10000.                                                06210328
                    625:       RACN11(9) = 100000.                                               06220328
                    626:       CALL FS332(RACN11(5))                                             06230328
                    627:       RVCOMP = RVCN01                                                   06240328
                    628:       RVCORR =  11110.                                                  06250328
                    629: 40180 IF (RVCOMP - 11105.) 20180, 10180, 40181                          06260328
                    630: 40181 IF (RVCOMP - 11115.) 10180, 10180, 20180                          06270328
                    631: 30180 IVDELE = IVDELE + 1                                               06280328
                    632:       WRITE (I02,80000) IVTNUM                                          06290328
                    633:       IF (ICZERO) 10180, 0191, 20180                                    06300328
                    634: 10180 IVPASS = IVPASS + 1                                               06310328
                    635:       WRITE (I02,80002) IVTNUM                                          06320328
                    636:       GO TO 0191                                                        06330328
                    637: 20180 IVFAIL = IVFAIL + 1                                               06340328
                    638:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06350328
                    639:  0191 CONTINUE                                                          06360328
                    640: C                                                                       06370328
                    641: C     ****  FCVS PROGRAM 328  -  TEST 019  ****                         06380328
                    642: C                                                                       06390328
                    643: C     USE AN ARRAY ELEMENT NAME AS AN ACTUAL ARGUMENT IN WHICH THE SIZE 06400328
                    644: C     OF THE ACTUAL ARGUMENT ARRAY IS LARGE THAN THE SIZE OF THE        06410328
                    645: C     ASSOCIATED DUMMY ARGUMENT ARRAY.  ONLY ACTUAL ARRAY ELEMENTS WITH 06420328
                    646: C     SUBSCRIPT VALUES OF 9, 10, 11 AND 12 (OUT OF A POSSIBLE 12        06430328
                    647: C     ELEMENTS) SHOULD BE PASSED TO THE DUMMY ARRAY OF THE SUBROUTINE.  06440328
                    648: C                                                                       06450328
                    649:       IVTNUM =  19                                                      06460328
                    650:       IF (ICZERO) 30190, 0190, 30190                                    06470328
                    651:  0190 CONTINUE                                                          06480328
                    652:       RVCOMP = 0.0                                                      06490328
                    653:       RATN11(2,3) = 1.                                                  06500328
                    654:       RATN11(3,3) = 10.                                                 06510328
                    655:       RATN11(1,4) = 100.                                                06520328
                    656:       RATN11(2,4) = 1000.                                               06530328
                    657:       RATN11(3,4) = 10000.                                              06540328
                    658:       CALL FS332(RATN11(3,3))                                           06550328
                    659:       RVCOMP = RVCN01                                                   06560328
                    660:       RVCORR = 11110.                                                   06570328
                    661: 40190 IF (RVCOMP - 11105.) 20190, 10190, 40191                          06580328
                    662: 40191 IF (RVCOMP - 11115.) 10190, 10190, 20190                          06590328
                    663: 30190 IVDELE = IVDELE + 1                                               06600328
                    664:       WRITE (I02,80000) IVTNUM                                          06610328
                    665:       IF (ICZERO) 10190, 0201, 20190                                    06620328
                    666: 10190 IVPASS = IVPASS + 1                                               06630328
                    667:       WRITE (I02,80002) IVTNUM                                          06640328
                    668:       GO TO 0201                                                        06650328
                    669: 20190 IVFAIL = IVFAIL + 1                                               06660328
                    670:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06670328
                    671:  0201 CONTINUE                                                          06680328
                    672: C                                                                       06690328
                    673: C     TEST 020 THROUGH TEST 022 ARE DESIGNED TO ASSOCIATE VARIOUS FORMS 06700328
                    674: C     OF ACTUAL ARGUMENTS TO PROCEDURES USED AS SUBROUTINE DUMMY        06710328
                    675: C     ARGUMENTS.  ACTUAL ARGUMENTS TESTED INCLUDE THE NAMES OF AN       06720328
                    676: C     EXTERNAL FUNCTION, AN INTRINSIC FUNCTION AND A SUBROUTINE.        06730328
                    677: C                                                                       06740328
                    678: C                                                                       06750328
                    679: C     ****  FCVS PROGRAM 328  -  TEST 020  ****                         06760328
                    680: C                                                                       06770328
                    681: C     USE AN EXTERNAL FUNCTION NAME AS AN ACTUAL ARGUMENT.              06780328
                    682: C                                                                       06790328
                    683:       IVTNUM =  20                                                      06800328
                    684:       IF (ICZERO) 30200, 0200, 30200                                    06810328
                    685:  0200 CONTINUE                                                          06820328
                    686:       IVCOMP = 0                                                        06830328
                    687:       CALL FS333(FF330, 5)                                              06840328
                    688:       IVCOMP = IVCN01                                                   06850328
                    689:       IVCORR = 7                                                        06860328
                    690: 40200 IF (IVCOMP - 7) 20200, 10200, 20200                               06870328
                    691: 30200 IVDELE = IVDELE + 1                                               06880328
                    692:       WRITE (I02,80000) IVTNUM                                          06890328
                    693:       IF (ICZERO) 10200, 0211, 20200                                    06900328
                    694: 10200 IVPASS = IVPASS + 1                                               06910328
                    695:       WRITE (I02,80002) IVTNUM                                          06920328
                    696:       GO TO 0211                                                        06930328
                    697: 20200 IVFAIL = IVFAIL + 1                                               06940328
                    698:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06950328
                    699:  0211 CONTINUE                                                          06960328
                    700: C                                                                       06970328
                    701: C     ****  FCVS PROGRAM 328  -  TEST 021  ****                         06980328
                    702: C                                                                       06990328
                    703: C     USE AN INTRINSIC FUNCTION NAME AS AN ACTUAL ARGUMENT.             07000328
                    704: C                                                                       07010328
                    705:       IVTNUM =  21                                                      07020328
                    706:       IF (ICZERO) 30210, 0210, 30210                                    07030328
                    707:  0210 CONTINUE                                                          07040328
                    708:       IVCOMP = 0                                                        07050328
                    709:       CALL FS333(IABS, -7)                                              07060328
                    710:       IVCOMP = IVCN01                                                   07070328
                    711:       IVCORR = 8                                                        07080328
                    712: 40210 IF (IVCOMP - 8) 20210, 10210, 20210                               07090328
                    713: 30210 IVDELE = IVDELE + 1                                               07100328
                    714:       WRITE (I02,80000) IVTNUM                                          07110328
                    715:       IF (ICZERO) 10210, 0221, 20210                                    07120328
                    716: 10210 IVPASS = IVPASS + 1                                               07130328
                    717:       WRITE (I02,80002) IVTNUM                                          07140328
                    718:       GO TO 0221                                                        07150328
                    719: 20210 IVFAIL = IVFAIL + 1                                               07160328
                    720:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07170328
                    721:  0221 CONTINUE                                                          07180328
                    722: C                                                                       07190328
                    723: C     ****  FCVS PROGRAM 328  -  TEST 022  ****                         07200328
                    724: C                                                                       07210328
                    725: C     USE A SUBROUTINE NAME AS AN ACTUAL ARGUMENT.                      07220328
                    726: C                                                                       07230328
                    727:       IVTNUM =  22                                                      07240328
                    728:       IF (ICZERO) 30220, 0220, 30220                                    07250328
                    729:  0220 CONTINUE                                                          07260328
                    730:       RVCOMP = 0.0                                                      07270328
                    731:       RVON01 = 3.5                                                      07280328
                    732:       CALL FS334(FS335, RVON01)                                         07290328
                    733:       RVCOMP = RVCN01                                                   07300328
                    734:       RVCORR = 5.5                                                      07310328
                    735: 40220 IF (RVCOMP - 5.4995) 20220, 10220, 40221                          07320328
                    736: 40221 IF (RVCOMP - 5.5005) 10220, 10220, 20220                          07330328
                    737: 30220 IVDELE = IVDELE + 1                                               07340328
                    738:       WRITE (I02,80000) IVTNUM                                          07350328
                    739:       IF (ICZERO) 10220, 0231, 20220                                    07360328
                    740: 10220 IVPASS = IVPASS + 1                                               07370328
                    741:       WRITE (I02,80002) IVTNUM                                          07380328
                    742:       GO TO 0231                                                        07390328
                    743: 20220 IVFAIL = IVFAIL + 1                                               07400328
                    744:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07410328
                    745:  0231 CONTINUE                                                          07420328
                    746: C                                                                       07430328
                    747: C                                                                       07440328
                    748: C     WRITE OUT TEST SUMMARY                                            07450328
                    749: C                                                                       07460328
                    750:       WRITE (I02,90004)                                                 07470328
                    751:       WRITE (I02,90014)                                                 07480328
                    752:       WRITE (I02,90004)                                                 07490328
                    753:       WRITE (I02,90000)                                                 07500328
                    754:       WRITE (I02,90004)                                                 07510328
                    755:       WRITE (I02,90020) IVFAIL                                          07520328
                    756:       WRITE (I02,90022) IVPASS                                          07530328
                    757:       WRITE (I02,90024) IVDELE                                          07540328
                    758:       STOP                                                              07550328
                    759: 90001 FORMAT (1H ,24X,5HFM328)                                          07560328
                    760: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM328)                          07570328
                    761: C                                                                       07580328
                    762: C     FORMATS FOR TEST DETAIL LINES                                     07590328
                    763: C                                                                       07600328
                    764: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   07610328
                    765: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      07620328
                    766: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         07630328
                    767: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    07640328
                    768: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        07650328
                    769: C                                                                       07660328
                    770: C     FORMAT STATEMENTS FOR PAGE HEADERS                                07670328
                    771: C                                                                       07680328
                    772: 90002 FORMAT (1H1)                                                      07690328
                    773: 90004 FORMAT (1H )                                                      07700328
                    774: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            07710328
                    775: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   07720328
                    776: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         07730328
                    777: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  07740328
                    778: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 07750328
                    779: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             07760328
                    780: C                                                                       07770328
                    781: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 07780328
                    782: C                                                                       07790328
                    783: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              07800328
                    784: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              07810328
                    785: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             07820328
                    786:       END                                                               07830328
                    787:       SUBROUTINE FS329(IDON01, RDON01, LDON01)                          00010329
                    788: C     DATE***82/08/02*18.33.46
                    789: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    790: C     AUDIT  FCVS78 V2.0
                    791: C          THIS SUBROUTINE IS USED BY VARIOUS TESTS IN THE MAIN PROGRAM 00020329
                    792: C     FM328 TO TEST THE DIFFERENT FORMS OF INTEGER, REAL AND LOGICAL    00030329
                    793: C     ACTUAL ARGUMENTS THAT CAN BE ASSOCIATED WITH INTEGER, REAL AND    00040329
                    794: C     LOGICAL DUMMY ARGUMENTS.  THIS ROUTINE INCREMENTS THE INTEGER     00050329
                    795: C     AND REAL ARGUMENTS BY ONE AND NEGATES THE LOGICAL ARGUMENT.  ALL  00060329
                    796: C     RESULTS ARE THEN RETURNED TO FM328 VIA VARIABLES IN NAMED COMMON. 00070329
                    797:       IMPLICIT LOGICAL (L)                                              00080329
                    798:       COMMON /BLK1/ IVCN01, RVCN01, LVCN01                              00090329
                    799:       IVCN01 = IDON01 + 1                                               00100329
                    800:       RVCN01 = RDON01 + 1.0                                             00110329
                    801:       LVCN01 = .NOT. LDON01                                             00120329
                    802:       RETURN                                                            00130329
                    803:       END                                                               00140329
                    804:       INTEGER FUNCTION FF330(IDON02)                                    00010330
                    805: C     DATE***82/08/02*18.33.46
                    806: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    807: C     AUDIT  FCVS78 V2.0
                    808: C         THIS FUNCTION IS USED BY TEST 011 OF THE MAIN PROGRAM FM328 TO00020330
                    809: C     TEST THE USE OF AN EXTERNAL FUNCTION REFERENCE AS AN ACTUAL       00030330
                    810: C     ARGUMENT WHEN THE ASSOCIATED DUMMY ARGUMENT IS A VARIABLE NAME.   00040330
                    811: C     THIS FUNCTION IS ALSO REFERENCED FROM SUBROUTINE FS333 VIA A      00050330
                    812: C     DUMMY PROCEDURE NAME REFERENCE.  THIS FUNCTION INCREMENTS THE     00060330
                    813: C     ARGUMENT VALUE BY ONE AND RETURNS THE RESULT AS THE FUNCTION      00070330
                    814: C     VALUE.                                                            00080330
                    815:       FF330 = IDON02 + 1                                                00090330
                    816:       RETURN                                                            00100330
                    817:       END                                                               00110330
                    818:       SUBROUTINE FS331(IDDN11)                                          00010331
                    819: C     DATE***82/08/02*18.33.46
                    820: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    821: C     AUDIT  FCVS78 V2.0
                    822: C          THIS SUBROUTINE IS USED BY VARIOUS TESTS IN THE MAIN PROGRAM 00020331
                    823: C     FM328 TO TEST THE USE OF AN ARRAY NAME AS AN ACTUAL ARGUMENT WHEN 00030331
                    824: C     THE ASSOCIATED DUMMY ARGUMENT IS AN ARRAY NAME.  THIS ROUTINE     00040331
                    825: C     ADDS TOGETHER THE FOUR ELEMENTS IN THE DUMMY ARGUMENT ARRAY AND   00050331
                    826: C     RETURNS THE RESULTS VIA A VARIABLE IN NAMED COMMON.               00060331
                    827:       LOGICAL LVCN01                                                    00070331
                    828:       DIMENSION IDDN11(4)                                               00080331
                    829:       COMMON /BLK1/IVCN01, RVCN01, LVCN01                               00090331
                    830:       IVCN01 = IDDN11(1) + IDDN11(2) + IDDN11(3) + IDDN11(4)            00100331
                    831:       RETURN                                                            00110331
                    832:       END                                                               00120331
                    833:       SUBROUTINE FS332(RDTN21)                                          00010332
                    834: C     DATE***82/08/02*18.33.46
                    835: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    836: C     AUDIT  FCVS78 V2.0
                    837: C          THIS SUBROUTINE IS USED BY VARIOUS TESTS IN THE MAIN PROGRAM 00020332
                    838: C     FM328 TO TEST THE USE OF AN ARRAY ELEMENT NAME AS AN ACTUAL       00030332
                    839: C     ARGUMENT WHEN THE ASSOCIATED DUMMY ARGUMENT IS AN ARRAY NAME.     00040332
                    840: C     THIS ROUTINE ADDS TOGETHER THE FOUR ELEMENTS IN THE DUMMY         00050332
                    841: C     ARGUMENT ARRAY AND RETURNS THE RESULT VIA A VARIABLE IN NAMED     00060332
                    842: C     COMMON.                                                           00070332
                    843:       IMPLICIT LOGICAL (L)                                              00080332
                    844:       REAL RDTN21(2,2)                                                  00090332
                    845:       COMMON /BLK1/IVCN01, RVCN01, LVCN01                               00100332
                    846:       RVCN01 = RDTN21(1,1) + RDTN21(2,1) + RDTN21(1,2) + RDTN21(2,2)    00110332
                    847:       RETURN                                                            00120332
                    848:       END                                                               00130332
                    849:       SUBROUTINE FS333(NINT, IDON03)                                    00010333
                    850: C     DATE***82/08/02*18.33.46
                    851: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    852: C     AUDIT  FCVS78 V2.0
                    853: C          THIS SUBROUTINE IS USED BY TESTS 020 AND 021 OF THE MAIN     00020333
                    854: C     PROGRAM FM328 TO TEST THE USE OF EXTERNAL AND INTRINSIC FUNCTION  00030333
                    855: C     NAMES AS ACTUAL ARGUMENTS WHEN THE ASSOCIATED DUMMY ARGUMENT IS A 00040333
                    856: C     PROCEDURE NAME.  THIS SUBROUTINE REFERENCES THE EXTERNAL FUNCTION 00050333
                    857: C     FF330 OR THE INTRINSIC FUNCTION IABS DEPENDING ON THE ACTUAL      00060333
                    858: C     ARGUMENT PASSED TO IT.  THE RESULT OF THIS FUNCTION REFERENCE IS  00070333
                    859: C     THEN INCREMENTED BY ONE AND THE RESULT IS RETURNED TO FS328 VIA   00080333
                    860: C     A VARIABLE IN NAMED COMMON.                                       00090333
                    861:       IMPLICIT LOGICAL (L)                                              00100333
                    862:       COMMON /BLK1/IVCN01, RVCN01, LVCN01                               00110333
                    863:       IVCN01 = NINT(IDON03) + 1                                         00120333
                    864: C              **** THE NAME NINT IS A DUMMY ARGUMENT NAME              00130333
                    865: C                     AND NOT AN INTRINSIC FUNCTION REFERENCE ****      00140333
                    866:       RETURN                                                            00150333
                    867:       END                                                               00160333
                    868:       SUBROUTINE FS334(IDON06, RDON03)                                  00010334
                    869: C     DATE***82/08/02*18.33.46
                    870: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    871: C     AUDIT  FCVS78 V2.0
                    872: C          THIS SUBROUTINE IS USED BY TEST 022 OF THE MAIN PROGRAM      00020334
                    873: C     FM328 TO TEST THE USE OF A SUBROUTINE NAME AS AN ACTUAL ARGUMENT  00030334
                    874: C     WHEN THE ASSOCIATED DUMMY ARGUMENT IS A PROCEDURE NAME.  THIS     00040334
                    875: C     SUBROUTINE CALLS THE SUBROUTINE FS335 VIA A DUMMY PROCEDURE NAME  00050334
                    876: C     REFERENCE.  THE ARGUMENT VALUE WHICH IS RETURNED FROM THE FS335   00060334
                    877: C     REFERENCE IS THEN INCREMENTED BY ONE AND RETURNED TO FM328 VIA    00070334
                    878: C     A VARIABLE IN NAMED COMMON.                                       00080334
                    879:       IMPLICIT LOGICAL (L)                                              00090334
                    880:       COMMON /BLK1/IVCN01, RVCN01, LVCN01                               00100334
                    881:       CALL IDON06(RDON03)                                               00110334
                    882:       RVCN01 = RDON03 + 1.0                                             00120334
                    883:       RETURN                                                            00130334
                    884:       END                                                               00140334
                    885:       SUBROUTINE FS335(RDON04)                                          00010335
                    886: C     DATE***82/08/02*18.33.46
                    887: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    888: C     AUDIT  FCVS78 V2.0
                    889: C          THIS SUBROUITNE IS USED BY TEST 022 OF THE MAIN PROGRAM FM32800020335
                    890: C     TO TEST THE USE OF A SUBROUTINE NAME AS AN ACTUAL ARGUMENT WHEN   00030335
                    891: C     THE ASSOCIATED DUMMY ARGUMENT IS A PROCEDURE NAME.  FS335 IS      00040335
                    892: C     CALLED FROM SUBROUTINE FS334 VIA A DUMMY PROCEDURE NAME REFERENCE.00050335
                    893: C     THIS ROUTINE INCREMENTS THE ARGUMENT VALUE BY ONE.                00060335
                    894:       RDON04 = RDON04 + 1.0                                             00070335
                    895:       RETURN                                                            00080335
                    896:       END                                                               00090335

unix.superglobalmegacorp.com

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