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

1.1       root        1:       PROGRAM FM308                                                     00010308
                      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                                                                       00020308
                      6: C                                                                       00030308
                      7: C          THIS ROUTINE TESTS INTRINSIC FUNCTIONS WHERE THE ACTUAL      00040308
                      8: C     ARGUMENTS CONSIST OF INTRINSIC FUNCTION REFERENCES, EXTERNAL      00050308
                      9: C     FUNCTION REFERENCES, STATEMENT FUNCTION REFERENCES, AND           00060308
                     10: C     EXPRESSIONS INVOLVING OPERATORS.  THE ARGUMENT AND FUNCTION       00070308
                     11: C     TYPES OF ALL INTRINSIC FUNCTIONS TESTED ARE EITHER INTEGER OR     00080308
                     12: C     REAL.  THE INTRINSIC AND EXTERNAL SPECIFICATION STATEMENTS ARE    00090308
                     13: C     SPECIFIED IN ORDER TO ALLOW INTRINSIC AND EXTERNAL FUNCTIONS TO   00100308
                     14: C     BE USED AS ACTUAL ARGUMENTS.  THE IMPLICIT STATEMENT AND THE      00110308
                     15: C     TYPE-STATEMENT ARE TESTED TO ENSURE THAT THEY DO NOT CHANGE THE   00120308
                     16: C     TYPE OF AN INTRINSIC FUNCTION.  THE COMMON STATEMENT IS USED TO   00130308
                     17: C     PASS DATA ENTITIES TO AN EXTERNAL FUNCTION.  THE DATA STATEMENT   00140308
                     18: C     IS USED TO ENSURE THAT INITIALLY DEFINED ENTITIES CAN BE USED AS  00150308
                     19: C     ACTUAL ARGUMENTS.  THE EQUIVALENCE STATEMENT IS USED TO EQUATE A  00160308
                     20: C     VARIABLE USED AS AN ACTUAL ARGUMENT.  THE INTRINSIC FUNCTIONS     00170308
                     21: C     TESTED IN THIS ROUTINE INCLUDE.                                   00180308
                     22: C                                                                       00190308
                     23: C                                        SPECIFIC        TYPE OF        00200308
                     24: C          INTRINSIC FUNCTION            NAME        ARGUMENT   FUNCTION00210308
                     25: C          ------------------            --------    --------   --------00220308
                     26: C          TYPE CONVERSION               INT         REAL       INTEGER 00230308
                     27: C          TYPE CONVERSION               IFIX        REAL       INTEGER 00240308
                     28: C          TYPE CONVERSION               FLOAT       INTEGER    REAL    00250308
                     29: C          TYPE CONVERSION               REAL        INTEGER    REAL    00260308
                     30: C          TRUNCATION                    AINT        REAL       REAL    00270308
                     31: C          NEAREST WHOLE NUMBER          ANINT       REAL       REAL    00280308
                     32: C          NEAREST INTEGER               NINT        REAL       INTEGER 00290308
                     33: C          ABSOLUTE VALUE                IABS        INTEGER    INTEGER 00300308
                     34: C          ABSOLUTE VALUE                ABS         REAL       REAL    00310308
                     35: C          REMAINDERING                  MOD         INTEGER    INTEGER 00320308
                     36: C          REMAINDERING                  AMOD        REAL       REAL    00330308
                     37: C          TRANSFER OF SIGN              ISIGN       INTEGER    INTEGER 00340308
                     38: C          TRANSFER OF SIGN              SIGN        REAL       REAL    00350308
                     39: C          POSITIVE DIFFERENCE           IDIM        INTEGER    INTEGER 00360308
                     40: C          POSITIVE DIFFERENCE           DIM         REAL       REAL    00370308
                     41: C          CHOOSING LARGEST VALUE        MAX0        INTEGER    INTEGER 00380308
                     42: C          CHOOSING LARGEST VALUE        AMAX0       INTEGER    REAL    00390308
                     43: C          CHOOSING LARGEST VALUE        MAX1        REAL       INTEGER 00400308
                     44: C          CHOOSING SMALLEST VALUE       AMIN1       REAL       REAL    00410308
                     45: C          CHOOSING SMALLEST VALUE       MIN1        REAL       INTEGER 00420308
                     46: C          SQUARE ROOT                   SQRT        REAL       REAL    00430308
                     47: C          EXPONENTIAL                   EXP         REAL       REAL    00440308
                     48: C          NATURAL LOGARITHM             ALOG        REAL       REAL    00450308
                     49: C          SINE                          SIN         REAL       REAL    00460308
                     50: C          COSINE                        COS         REAL       REAL    00470308
                     51: C          TANGENT                       TAN         REAL       REAL    00480308
                     52: C          ARCSINE                       ASIN        REAL       REAL    00490308
                     53: C          ARCCOSINE                     ACOS        REAL      REAL     00500308
                     54: C          ARCTANGENT                    ATAN        REAL      REAL     00510308
                     55: C          HYPERBOLIC SINE               SINH        REAL      REAL     00520308
                     56: C          HYPERBOLIC COSINE             COSH        REAL      REAL     00530308
                     57: C          HYPERBOLIC TANGENT            TANH        REAL      REAL     00540308
                     58: C                                                                       00550308
                     59: C          SUBSET LEVEL ROUTINES FM097, FM098, FM099 AND FM307 TEST THE 00560308
                     60: C     USE OF INTEGER AND REAL INTRINSIC FUNCTIONS USING INTEGER AND REAL00570308
                     61: C     CONSTANTS, VARIABLES AND ARRAY ELEMENT ENTITIES AS ACTUAL         00580308
                     62: C     ARGUMENTS.                                                        00590308
                     63: C                                                                       00600308
                     64: C     REFERENCES.                                                       00610308
                     65: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00620308
                     66: C           X3.9-1978                                                   00630308
                     67: C                                                                       00640308
                     68: C        SECTION 8.2,     EQUIVALENCE STATEMENT                         00650308
                     69: C        SECTION 8.3,     COMMON STATEMENT                              00660308
                     70: C        SECTION 8.4,     TYPE-STATEMENTS                               00670308
                     71: C        SECTION 8.5,     IMPLICIT STATEMENT                            00680308
                     72: C        SECTION 8.7,     EXTERNAL STATEMENT                            00690308
                     73: C        SECTION 8.8,     INTRINSIC STATEMENT                           00700308
                     74: C        SECTION 9,       DATA STATEMENT                                00710308
                     75: C        SECTION 15.3,    INTRINSIC FUNCTION                            00720308
                     76: C        SECTION 15.4,    STATEMENT FUNCTION                            00730308
                     77: C        SECTION 15.5,    EXTERNAL FUNCTION                             00740308
                     78: C        SECTION 15.5.2, .REFERENCING AN EXTERNAL FUNCTION              00750308
                     79: C        SECTION 15.9.2,  ACTUAL ARGUMENTS                              00760308
                     80: C        SECTION 15.9.3,  ASSOCIATION OF DUMMY AND ACTUAL ARGUMENTS     00770308
                     81: C        TABLE 5,         INTRINSIC FUNCTIONS (INCLUDING NOTES)         00780308
                     82: C        SECTION 15.10.1, RESTRICTIONS ON RANGE OF ARGUMENTS AND RESULTS00790308
                     83: C                                                                       00800308
                     84: C                                                                       00810308
                     85: C     ******************************************************************00820308
                     86: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00830308
                     87: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00840308
                     88: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00850308
                     89: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00860308
                     90: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00870308
                     91: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00880308
                     92: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00890308
                     93: C     THE RESULT OF EXECUTING THESE TESTS.                              00900308
                     94: C                                                                       00910308
                     95: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00920308
                     96: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00930308
                     97: C                                                                       00940308
                     98: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00950308
                     99: C                    DEPARTMENT OF THE NAVY                             00960308
                    100: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00970308
                    101: C                    WASHINGTON, D.C.   20376                           00980308
                    102: C                                                                       00990308
                    103: C     ******************************************************************01000308
                    104: C                                                                       01010308
                    105: C                                                                       01020308
                    106:       IMPLICIT LOGICAL (L)                                              01030308
                    107:       IMPLICIT CHARACTER*14 (C)                                         01040308
                    108: C                                                                       01050308
                    109:       IMPLICIT INTEGER (E)                                              01060308
                    110:       IMPLICIT REAL (N)                                                 01070308
                    111:       INTEGER MAX1                                                      01080308
                    112:       REAL SINH                                                         01090308
                    113:       DIMENSION RADN11(5)                                               01100308
                    114:       DIMENSION IADN11(5)                                               01110308
                    115:       COMMON RVCN01                                                     01120308
                    116:       EQUIVALENCE (IVOE01,IVOE02)                                       01130308
                    117:       EXTERNAL FF309,FF310                                              01140308
                    118:       INTRINSIC ABS, AINT, IABS, ISIGN, SQRT                            01150308
                    119:       DATA RVON04/2.23/                                                 01160308
                    120:       RFOS01(RDON01) = RDON01 + 1.0                                     01170308
                    121: C                                                                       01180308
                    122: C                                                                       01190308
                    123: C                                                                       01200308
                    124: C     INITIALIZATION SECTION.                                           01210308
                    125: C                                                                       01220308
                    126: C     INITIALIZE CONSTANTS                                              01230308
                    127: C     ********************                                              01240308
                    128: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          01250308
                    129:       I01 = 5                                                           01260308
                    130: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              01270308
                    131:       I02 = 6                                                           01280308
                    132: C     SYSTEM ENVIRONMENT SECTION                                        01290308
                    133: C                                                                       01300308
                    134:       I01 = 5                                                           01310308
                    135: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      01320308
                    136: C     (UNIT NUMBER FOR CARD READER).                                    01330308
                    137: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD01340308
                    138: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01350308
                    139: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         01360308
                    140: C                                                                       01370308
                    141:       I02 = 6                                                           01380308
                    142: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      01390308
                    143: C     (UNIT NUMBER FOR PRINTER).                                        01400308
                    144: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.01410308
                    145: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01420308
                    146: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         01430308
                    147: C                                                                       01440308
                    148:       IVPASS = 0                                                        01450308
                    149:       IVFAIL = 0                                                        01460308
                    150:       IVDELE = 0                                                        01470308
                    151:       ICZERO = 0                                                        01480308
                    152: C                                                                       01490308
                    153: C     WRITE OUT PAGE HEADERS                                            01500308
                    154: C                                                                       01510308
                    155:       WRITE (I02,90002)                                                 01520308
                    156:       WRITE (I02,90006)                                                 01530308
                    157:       WRITE (I02,90008)                                                 01540308
                    158:       WRITE (I02,90004)                                                 01550308
                    159:       WRITE (I02,90010)                                                 01560308
                    160:       WRITE (I02,90004)                                                 01570308
                    161:       WRITE (I02,90016)                                                 01580308
                    162:       WRITE (I02,90001)                                                 01590308
                    163:       WRITE (I02,90004)                                                 01600308
                    164:       WRITE (I02,90012)                                                 01610308
                    165:       WRITE (I02,90014)                                                 01620308
                    166:       WRITE (I02,90004)                                                 01630308
                    167: C                                                                       01640308
                    168: C                                                                       01650308
                    169: C     TEST 032 THROUGH TEST 040 TEST INTRINSIC FUNCTIONS USING          01660308
                    170: C     INTRINSIC FUNCTION REFERENCES AS ACTUAL ARGUMENTS.                01670308
                    171: C                                                                       01680308
                    172: C                                                                       01690308
                    173: C     ****  FCVS PROGRAM 308  -  TEST 032  ****                         01700308
                    174: C                                                                       01710308
                    175: C                                                                       01720308
                    176:       IVTNUM =  32                                                      01730308
                    177:       IF (ICZERO) 30320, 0320, 30320                                    01740308
                    178:  0320 CONTINUE                                                          01750308
                    179:       RVCOMP = 10.0                                                     01760308
                    180:       RVCOMP = ANINT (ABS (-2.78) )                                     01770308
                    181:       RVCORR = 3.0                                                      01780308
                    182: 40320 IF (RVCOMP - 2.9995) 20320, 10320, 40321                          01790308
                    183: 40321 IF (RVCOMP - 3.0005) 10320, 10320, 20320                          01800308
                    184: 30320 IVDELE = IVDELE + 1                                               01810308
                    185:       WRITE (I02,80000) IVTNUM                                          01820308
                    186:       IF (ICZERO) 10320, 0331, 20320                                    01830308
                    187: 10320 IVPASS = IVPASS + 1                                               01840308
                    188:       WRITE (I02,80002) IVTNUM                                          01850308
                    189:       GO TO 0331                                                        01860308
                    190: 20320 IVFAIL = IVFAIL + 1                                               01870308
                    191:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          01880308
                    192:  0331 CONTINUE                                                          01890308
                    193: C                                                                       01900308
                    194: C     ****  FCVS PROGRAM 308  -  TEST 033  ****                         01910308
                    195: C                                                                       01920308
                    196: C                                                                       01930308
                    197:       IVTNUM =  33                                                      01940308
                    198:       IF (ICZERO) 30330, 0330, 30330                                    01950308
                    199:  0330 CONTINUE                                                          01960308
                    200:       RVCOMP = 10.0                                                     01970308
                    201:       RVCOMP = ATAN (AINT (1.2) )                                       01980308
                    202:       RVCORR = .78540                                                   01990308
                    203: 40330 IF (RVCOMP - .78535) 20330, 10330, 40331                          02000308
                    204: 40331 IF (RVCOMP - .78545) 10330, 10330, 20330                          02010308
                    205: 30330 IVDELE = IVDELE + 1                                               02020308
                    206:       WRITE (I02,80000) IVTNUM                                          02030308
                    207:       IF (ICZERO) 10330, 0341, 20330                                    02040308
                    208: 10330 IVPASS = IVPASS + 1                                               02050308
                    209:       WRITE (I02,80002) IVTNUM                                          02060308
                    210:       GO TO 0341                                                        02070308
                    211: 20330 IVFAIL = IVFAIL + 1                                               02080308
                    212:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          02090308
                    213:  0341 CONTINUE                                                          02100308
                    214: C                                                                       02110308
                    215: C     ****  FCVS PROGRAM 308  -  TEST 034  ****                         02120308
                    216: C                                                                       02130308
                    217: C                                                                       02140308
                    218:       IVTNUM =  34                                                      02150308
                    219:       IF (ICZERO) 30340, 0340, 30340                                    02160308
                    220:  0340 CONTINUE                                                          02170308
                    221:       RVCOMP = 10.0                                                     02180308
                    222:       RVCOMP = COS (ABS (-.78540) )                                     02190308
                    223:       RVCORR = .70711                                                   02200308
                    224: 40340 IF (RVCOMP - .70706) 20340, 10340, 40341                          02210308
                    225: 40341 IF (RVCOMP - .70716) 10340, 10340, 20340                          02220308
                    226: 30340 IVDELE = IVDELE + 1                                               02230308
                    227:       WRITE (I02,80000) IVTNUM                                          02240308
                    228:       IF (ICZERO) 10340, 0351, 20340                                    02250308
                    229: 10340 IVPASS = IVPASS + 1                                               02260308
                    230:       WRITE (I02,80002) IVTNUM                                          02270308
                    231:       GO TO 0351                                                        02280308
                    232: 20340 IVFAIL = IVFAIL + 1                                               02290308
                    233:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          02300308
                    234:  0351 CONTINUE                                                          02310308
                    235: C                                                                       02320308
                    236: C     ****  FCVS PROGRAM 308  -  TEST 035  ****                         02330308
                    237: C                                                                       02340308
                    238: C                                                                       02350308
                    239:       IVTNUM =  35                                                      02360308
                    240:       IF (ICZERO) 30350, 0350, 30350                                    02370308
                    241:  0350 CONTINUE                                                          02380308
                    242:       RVCOMP = 10.0                                                     02390308
                    243:       IVON01 = 6                                                        02400308
                    244:       RVCOMP = AMAX0 (1, IVON01, IABS(-7) )                             02410308
                    245:       RVCORR = 7.0                                                      02420308
                    246: 40350 IF (RVCOMP - 6.9995) 20350, 10350, 40351                          02430308
                    247: 40351 IF (RVCOMP - 7.0005) 10350, 10350, 20350                          02440308
                    248: 30350 IVDELE = IVDELE + 1                                               02450308
                    249:       WRITE (I02,80000) IVTNUM                                          02460308
                    250:       IF (ICZERO) 10350, 0361, 20350                                    02470308
                    251: 10350 IVPASS = IVPASS + 1                                               02480308
                    252:       WRITE (I02,80002) IVTNUM                                          02490308
                    253:       GO TO 0361                                                        02500308
                    254: 20350 IVFAIL = IVFAIL + 1                                               02510308
                    255:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          02520308
                    256:  0361 CONTINUE                                                          02530308
                    257: C                                                                       02540308
                    258: C     ****  FCVS PROGRAM 308  -  TEST 036  ****                         02550308
                    259: C                                                                       02560308
                    260: C                                                                       02570308
                    261:       IVTNUM =  36                                                      02580308
                    262:       IF (ICZERO) 30360, 0360, 30360                                    02590308
                    263:  0360 CONTINUE                                                          02600308
                    264:       IVCOMP = 10                                                       02610308
                    265:       IVCOMP = IABS (ISIGN (7, -2))                                     02620308
                    266:       IVCORR = 7                                                        02630308
                    267: 40360 IF (IVCOMP - 7) 20360, 10360, 20360                               02640308
                    268: 30360 IVDELE = IVDELE + 1                                               02650308
                    269:       WRITE (I02,80000) IVTNUM                                          02660308
                    270:       IF (ICZERO) 10360, 0371, 20360                                    02670308
                    271: 10360 IVPASS = IVPASS + 1                                               02680308
                    272:       WRITE (I02,80002) IVTNUM                                          02690308
                    273:       GO TO 0371                                                        02700308
                    274: 20360 IVFAIL = IVFAIL + 1                                               02710308
                    275:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02720308
                    276:  0371 CONTINUE                                                          02730308
                    277: C                                                                       02740308
                    278: C     ****  FCVS PROGRAM 308  -  TEST 037  ****                         02750308
                    279: C                                                                       02760308
                    280: C                                                                       02770308
                    281:       IVTNUM =  37                                                      02780308
                    282:       IF (ICZERO) 30370, 0370, 30370                                    02790308
                    283:  0370 CONTINUE                                                          02800308
                    284:       IVCOMP = 10                                                       02810308
                    285:       IVCOMP = MOD (5, IABS (-3) )                                      02820308
                    286:       IVCORR = 2                                                        02830308
                    287: 40370 IF (IVCOMP - 2) 20370, 10370, 20370                               02840308
                    288: 30370 IVDELE = IVDELE + 1                                               02850308
                    289:       WRITE (I02,80000) IVTNUM                                          02860308
                    290:       IF (ICZERO) 10370, 0381, 20370                                    02870308
                    291: 10370 IVPASS = IVPASS + 1                                               02880308
                    292:       WRITE (I02,80002) IVTNUM                                          02890308
                    293:       GO TO 0381                                                        02900308
                    294: 20370 IVFAIL = IVFAIL + 1                                               02910308
                    295:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02920308
                    296:  0381 CONTINUE                                                          02930308
                    297: C                                                                       02940308
                    298: C     ****  FCVS PROGRAM 308  -  TEST 038  ****                         02950308
                    299: C                                                                       02960308
                    300: C                                                                       02970308
                    301:       IVTNUM =  38                                                      02980308
                    302:       IF (ICZERO) 30380, 0380, 30380                                    02990308
                    303:  0380 CONTINUE                                                          03000308
                    304:       IVCOMP = 10                                                       03010308
                    305:       IVCOMP = ISIGN (-3, IABS (-5) )                                   03020308
                    306:       IVCORR = 3                                                        03030308
                    307: 40380 IF (IVCOMP - 3) 20380, 10380, 20380                               03040308
                    308: 30380 IVDELE = IVDELE + 1                                               03050308
                    309:       WRITE (I02,80000) IVTNUM                                          03060308
                    310:       IF (ICZERO) 10380, 0391, 20380                                    03070308
                    311: 10380 IVPASS = IVPASS + 1                                               03080308
                    312:       WRITE (I02,80002) IVTNUM                                          03090308
                    313:       GO TO 0391                                                        03100308
                    314: 20380 IVFAIL = IVFAIL + 1                                               03110308
                    315:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03120308
                    316:  0391 CONTINUE                                                          03130308
                    317: C                                                                       03140308
                    318: C     ****  FCVS PROGRAM 308  -  TEST 039  ****                         03150308
                    319: C                                                                       03160308
                    320: C     REPEAT FUNCTION REFERENCE TWICE IN ONE INTRINSIC FUNCTION         03170308
                    321: C     REFERENCE.                                                        03180308
                    322: C                                                                       03190308
                    323:       IVTNUM =  39                                                      03200308
                    324:       IF (ICZERO) 30390, 0390, 30390                                    03210308
                    325:  0390 CONTINUE                                                          03220308
                    326:       IVCOMP = 10                                                       03230308
                    327:       IVCOMP = MAX0 (IABS (-5), IABS (-6) )                             03240308
                    328:       IVCORR = 6                                                        03250308
                    329: 40390 IF (IVCOMP -6) 20390, 10390, 20390                                03260308
                    330: 30390 IVDELE = IVDELE + 1                                               03270308
                    331:       WRITE (I02,80000) IVTNUM                                          03280308
                    332:       IF (ICZERO) 10390, 0401, 20390                                    03290308
                    333: 10390 IVPASS = IVPASS + 1                                               03300308
                    334:       WRITE (I02,80002) IVTNUM                                          03310308
                    335:       GO TO 0401                                                        03320308
                    336: 20390 IVFAIL = IVFAIL + 1                                               03330308
                    337:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03340308
                    338:  0401 CONTINUE                                                          03350308
                    339: C                                                                       03360308
                    340: C     ****  FCVS PROGRAM 308  -  TEST 040  ****                         03370308
                    341: C                                                                       03380308
                    342: C     USE INTRINSIC FUNCTION REFERENCE AS ACTUAL ARGUMENT TO ITSELF.    03390308
                    343: C                                                                       03400308
                    344:       IVTNUM =  40                                                      03410308
                    345:       IF (ICZERO) 30400, 0400, 30400                                    03420308
                    346:  0400 CONTINUE                                                          03430308
                    347:       RVCOMP = 10.0                                                     03440308
                    348:       RVCOMP = SQRT (SQRT (25.) )                                       03450308
                    349:       RVCORR = 2.2361                                                   03460308
                    350: 40400 IF (RVCOMP - 2.2356) 20400, 10400, 40401                          03470308
                    351: 40401 IF (RVCOMP - 2.2366) 10400, 10400, 20400                          03480308
                    352: 30400 IVDELE = IVDELE + 1                                               03490308
                    353:       WRITE (I02,80000) IVTNUM                                          03500308
                    354:       IF (ICZERO) 10400, 0411, 20400                                    03510308
                    355: 10400 IVPASS = IVPASS + 1                                               03520308
                    356:       WRITE (I02,80002) IVTNUM                                          03530308
                    357:       GO TO 0411                                                        03540308
                    358: 20400 IVFAIL = IVFAIL + 1                                               03550308
                    359:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          03560308
                    360:  0411 CONTINUE                                                          03570308
                    361: C                                                                       03580308
                    362: C     TEST 041 THROUGH TEST 045 TEST INTRINSIC FUNCTIONS USING EXTERNAL 03590308
                    363: C     FUNCTION REFERENCES AS ACTUAL ARGUMENTS.                          03600308
                    364: C                                                                       03610308
                    365: C                                                                       03620308
                    366: C     ****  FCVS PROGRAM 308  -  TEST 041  ****                         03630308
                    367: C                                                                       03640308
                    368: C                                                                       03650308
                    369:       IVTNUM =  41                                                      03660308
                    370:       IF (ICZERO) 30410, 0410, 30410                                    03670308
                    371:  0410 CONTINUE                                                          03680308
                    372:       RVCOMP = 10.0                                                     03690308
                    373:       RVCOMP = ALOG (FF309 (29.0) )                                     03700308
                    374:       RVCORR = 3.4012                                                   03710308
                    375: 40410 IF (RVCOMP - 3.4007) 20410, 10410, 40411                          03720308
                    376: 40411 IF (RVCOMP - 3.4017) 10410, 10410, 20410                          03730308
                    377: 30410 IVDELE = IVDELE + 1                                               03740308
                    378:       WRITE (I02,80000) IVTNUM                                          03750308
                    379:       IF (ICZERO) 10410, 0421, 20410                                    03760308
                    380: 10410 IVPASS = IVPASS + 1                                               03770308
                    381:       WRITE (I02,80002) IVTNUM                                          03780308
                    382:       GO TO 0421                                                        03790308
                    383: 20410 IVFAIL = IVFAIL + 1                                               03800308
                    384:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          03810308
                    385:  0421 CONTINUE                                                          03820308
                    386: C                                                                       03830308
                    387: C     ****  FCVS PROGRAM 308  -  TEST 042  ****                         03840308
                    388: C                                                                       03850308
                    389: C                                                                       03860308
                    390:       IVTNUM =  42                                                      03870308
                    391:       IF (ICZERO) 30420, 0420, 30420                                    03880308
                    392:  0420 CONTINUE                                                          03890308
                    393:       RVCOMP = 10.0                                                     03900308
                    394:       RVCOMP = ASIN (FF309 (0.) )                                       03910308
                    395:       RVCORR = 1.5708                                                   03920308
                    396: 40420 IF (RVCOMP - 1.5703) 20420, 10420, 40421                          03930308
                    397: 40421 IF (RVCOMP - 1.5713) 10420, 10420, 20420                          03940308
                    398: 30420 IVDELE = IVDELE + 1                                               03950308
                    399:       WRITE (I02,80000) IVTNUM                                          03960308
                    400:       IF (ICZERO) 10420, 0431, 20420                                    03970308
                    401: 10420 IVPASS = IVPASS + 1                                               03980308
                    402:       WRITE (I02,80002) IVTNUM                                          03990308
                    403:       GO TO 0431                                                        04000308
                    404: 20420 IVFAIL = IVFAIL + 1                                               04010308
                    405:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04020308
                    406:  0431 CONTINUE                                                          04030308
                    407: C                                                                       04040308
                    408: C     ****  FCVS PROGRAM 308  -  TEST 043  ****                         04050308
                    409: C                                                                       04060308
                    410: C                                                                       04070308
                    411:       IVTNUM =  43                                                      04080308
                    412:       IF (ICZERO) 30430, 0430, 30430                                    04090308
                    413:  0430 CONTINUE                                                          04100308
                    414:       RVCOMP = 10.0                                                     04110308
                    415:       RVON01 = 1.5                                                      04120308
                    416:       RVCOMP = COSH (FF309 (RVON01) )                                   04130308
                    417:       RVCORR = 6.1323                                                   04140308
                    418: 40430 IF (RVCOMP - 6.1318) 20430, 10430, 40431                          04150308
                    419: 40431 IF (RVCOMP - 6.1328) 10430, 10430, 20430                          04160308
                    420: 30430 IVDELE = IVDELE + 1                                               04170308
                    421:       WRITE (I02,80000) IVTNUM                                          04180308
                    422:       IF (ICZERO) 10430, 0441, 20430                                    04190308
                    423: 10430 IVPASS = IVPASS + 1                                               04200308
                    424:       WRITE (I02,80002) IVTNUM                                          04210308
                    425:       GO TO 0441                                                        04220308
                    426: 20430 IVFAIL = IVFAIL + 1                                               04230308
                    427:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04240308
                    428:  0441 CONTINUE                                                          04250308
                    429: C                                                                       04260308
                    430: C     ****  FCVS PROGRAM 308  -  TEST 044  ****                         04270308
                    431: C                                                                       04280308
                    432: C                                                                       04290308
                    433:       IVTNUM =  44                                                      04300308
                    434:       IF (ICZERO) 30440, 0440, 30440                                    04310308
                    435:  0440 CONTINUE                                                          04320308
                    436:       IVCOMP = 10                                                       04330308
                    437:       IVCOMP = IFIX (FF309 (33.3) )                                     04340308
                    438:       IVCORR = 34                                                       04350308
                    439: 40440 IF (IVCOMP - 34) 20440, 10440, 20440                              04360308
                    440: 30440 IVDELE = IVDELE + 1                                               04370308
                    441:       WRITE (I02,80000) IVTNUM                                          04380308
                    442:       IF (ICZERO) 10440, 0451, 20440                                    04390308
                    443: 10440 IVPASS = IVPASS + 1                                               04400308
                    444:       WRITE (I02,80002) IVTNUM                                          04410308
                    445:       GO TO 0451                                                        04420308
                    446: 20440 IVFAIL = IVFAIL + 1                                               04430308
                    447:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04440308
                    448:  0451 CONTINUE                                                          04450308
                    449: C                                                                       04460308
                    450: C     ****  FCVS PROGRAM 308  -  TEST 045  ****                         04470308
                    451: C                                                                       04480308
                    452: C                                                                       04490308
                    453:       IVTNUM =  45                                                      04500308
                    454:       IF (ICZERO) 30450, 0450, 30450                                    04510308
                    455:  0450 CONTINUE                                                          04520308
                    456:       RVCOMP = 10.0                                                     04530308
                    457:       RADN11(2) = 2.1416                                                04540308
                    458:       RVCOMP = TAN (FF309 (RADN11(2)))                                  04550308
                    459:       RVCORR = 0.0                                                      04560308
                    460: 40450 IF (RVCOMP + .00005) 20450, 10450, 40451                          04570308
                    461: 40451 IF (RVCOMP - .00005) 10450, 10450, 20450                          04580308
                    462: 30450 IVDELE = IVDELE + 1                                               04590308
                    463:       WRITE (I02,80000) IVTNUM                                          04600308
                    464:       IF (ICZERO) 10450, 0461, 20450                                    04610308
                    465: 10450 IVPASS = IVPASS + 1                                               04620308
                    466:       WRITE (I02,80002) IVTNUM                                          04630308
                    467:       GO TO 0461                                                        04640308
                    468: 20450 IVFAIL = IVFAIL + 1                                               04650308
                    469:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04660308
                    470:  0461 CONTINUE                                                          04670308
                    471: C                                                                       04680308
                    472: C     TEST 046 THROUGH TEST 052 TEST INTRINSIC FUNCTIONS USING          04690308
                    473: C     EXPRESSIONS INVOLVING OPERATORS AS ACTUAL ARGUMENTS.              04700308
                    474: C                                                                       04710308
                    475: C                                                                       04720308
                    476: C     ****  FCVS PROGRAM 308  -  TEST 046  ****                         04730308
                    477: C                                                                       04740308
                    478: C                                                                       04750308
                    479:       IVTNUM =  46                                                      04760308
                    480:       IF (ICZERO) 30460, 0460, 30460                                    04770308
                    481:  0460 CONTINUE                                                          04780308
                    482:       RVCOMP = 10.0                                                     04790308
                    483:       RVCOMP = ABS (3.4 - 8.2)                                          04800308
                    484:       RVCORR = 4.8                                                      04810308
                    485: 40460 IF (RVCOMP - 4.7995) 20460, 10460, 40461                          04820308
                    486: 40461 IF (RVCOMP - 4.8005) 10460, 10460, 20460                          04830308
                    487: 30460 IVDELE = IVDELE + 1                                               04840308
                    488:       WRITE (I02,80000) IVTNUM                                          04850308
                    489:       IF (ICZERO) 10460, 0471, 20460                                    04860308
                    490: 10460 IVPASS = IVPASS + 1                                               04870308
                    491:       WRITE (I02,80002) IVTNUM                                          04880308
                    492:       GO TO 0471                                                        04890308
                    493: 20460 IVFAIL = IVFAIL + 1                                               04900308
                    494:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          04910308
                    495:  0471 CONTINUE                                                          04920308
                    496: C                                                                       04930308
                    497: C     ****  FCVS PROGRAM 308  -  TEST 047  ****                         04940308
                    498: C                                                                       04950308
                    499: C                                                                       04960308
                    500:       IVTNUM =  47                                                      04970308
                    501:       IF (ICZERO) 30470, 0470, 30470                                    04980308
                    502:  0470 CONTINUE                                                          04990308
                    503:       RVCOMP = 10.0                                                     05000308
                    504:       IVON01 = 2                                                        05010308
                    505:       RVON01 = 3.0                                                      05020308
                    506:       RVCOMP = ACOS (IVON01 - RVON01 * .5)                              05030308
                    507:       RVCORR = 1.0472                                                   05040308
                    508: 40470 IF (RVCOMP - 1.0467) 20470, 10470, 40471                          05050308
                    509: 40471 IF (RVCOMP - 1.0477) 10470, 10470, 20470                          05060308
                    510: 30470 IVDELE = IVDELE + 1                                               05070308
                    511:       WRITE (I02,80000) IVTNUM                                          05080308
                    512:       IF (ICZERO) 10470, 0481, 20470                                    05090308
                    513: 10470 IVPASS = IVPASS + 1                                               05100308
                    514:       WRITE (I02,80002) IVTNUM                                          05110308
                    515:       GO TO 0481                                                        05120308
                    516: 20470 IVFAIL = IVFAIL + 1                                               05130308
                    517:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05140308
                    518:  0481 CONTINUE                                                          05150308
                    519: C                                                                       05160308
                    520: C     ****  FCVS PROGRAM 308  -  TEST 048  ****                         05170308
                    521: C                                                                       05180308
                    522: C                                                                       05190308
                    523:       IVTNUM =  48                                                      05200308
                    524:       IF (ICZERO) 30480, 0480, 30480                                    05210308
                    525:  0480 CONTINUE                                                          05220308
                    526:       RVCOMP = 10.0                                                     05230308
                    527:       IVON01 = 2                                                        05240308
                    528:       RVON01 = -4.8                                                     05250308
                    529:       RVON02 = 4.5                                                      05260308
                    530:       RVCOMP = AMIN1 (RVON01, (IVON01 - 3.2) * RVON02)                  05270308
                    531:       RVCORR = -5.4                                                     05280308
                    532: 40480 IF (RVCOMP + 5.4005 ) 20480, 10480, 40481                         05290308
                    533: 40481 IF (RVCOMP + 5.3995 ) 10480, 10480, 20480                         05300308
                    534: 30480 IVDELE = IVDELE + 1                                               05310308
                    535:       WRITE (I02,80000) IVTNUM                                          05320308
                    536:       IF (ICZERO) 10480, 0491, 20480                                    05330308
                    537: 10480 IVPASS = IVPASS + 1                                               05340308
                    538:       WRITE (I02,80002) IVTNUM                                          05350308
                    539:       GO TO 0491                                                        05360308
                    540: 20480 IVFAIL = IVFAIL + 1                                               05370308
                    541:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05380308
                    542:  0491 CONTINUE                                                          05390308
                    543: C                                                                       05400308
                    544: C     ****  FCVS PROGRAM 308  -  TEST 049  ****                         05410308
                    545: C                                                                       05420308
                    546: C                                                                       05430308
                    547:       IVTNUM =  49                                                      05440308
                    548:       IF (ICZERO) 30490, 0490, 30490                                    05450308
                    549:  0490 CONTINUE                                                          05460308
                    550:       RVCOMP = 10.0                                                     05470308
                    551:       RVON01 = 12.0                                                     05480308
                    552:       IADN11(1) = 3                                                     05490308
                    553:       RADN11(2) = 2.5                                                   05500308
                    554:       RVCOMP = AMOD (RVON01 / IADN11(1), 12 / RADN11(2))                05510308
                    555:       RVCORR = 4.0                                                      05520308
                    556: 40490 IF (RVCOMP - 3.9995) 20490, 10490, 40491                          05530308
                    557: 40491 IF (RVCOMP - 4.0005) 10490, 10490, 20490                          05540308
                    558: 30490 IVDELE = IVDELE + 1                                               05550308
                    559:       WRITE (I02,80000) IVTNUM                                          05560308
                    560:       IF (ICZERO) 10490, 0501, 20490                                    05570308
                    561: 10490 IVPASS = IVPASS + 1                                               05580308
                    562:       WRITE (I02,80002) IVTNUM                                          05590308
                    563:       GO TO 0501                                                        05600308
                    564: 20490 IVFAIL = IVFAIL + 1                                               05610308
                    565:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          05620308
                    566:  0501 CONTINUE                                                          05630308
                    567: C                                                                       05640308
                    568: C     ****  FCVS PROGRAM 308  -  TEST 050  ****                         05650308
                    569: C                                                                       05660308
                    570: C                                                                       05670308
                    571:       IVTNUM =  50                                                      05680308
                    572:       IF (ICZERO) 30500, 0500, 30500                                    05690308
                    573:  0500 CONTINUE                                                          05700308
                    574:       IVCOMP = 10                                                       05710308
                    575:       IVON01 = 2                                                        05720308
                    576:       IVON02 = 9                                                        05730308
                    577:       IVCOMP = IDIM (IVON01 ** 3, IVON02)                               05740308
                    578:       IVCORR = 0                                                        05750308
                    579: 40500 IF (IVCOMP) 20500, 10500, 20500                                   05760308
                    580: 30500 IVDELE = IVDELE + 1                                               05770308
                    581:       WRITE (I02,80000) IVTNUM                                          05780308
                    582:       IF (ICZERO) 10500, 0511, 20500                                    05790308
                    583: 10500 IVPASS = IVPASS + 1                                               05800308
                    584:       WRITE (I02,80002) IVTNUM                                          05810308
                    585:       GO TO 0511                                                        05820308
                    586: 20500 IVFAIL = IVFAIL + 1                                               05830308
                    587:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05840308
                    588:  0511 CONTINUE                                                          05850308
                    589: C                                                                       05860308
                    590: C     ****  FCVS PROGRAM 308  -  TEST 051  ****                         05870308
                    591: C                                                                       05880308
                    592: C                                                                       05890308
                    593:       IVTNUM =  51                                                      05900308
                    594:       IF (ICZERO) 30510, 0510, 30510                                    05910308
                    595:  0510 CONTINUE                                                          05920308
                    596:       RVCOMP = 10.0                                                     05930308
                    597:       IVON01 = 6                                                        05940308
                    598:       RVCOMP = REAL (IABS (-3) + IVON01)                                05950308
                    599:       RVCORR = 9.0                                                      05960308
                    600: 40510 IF (RVCOMP - 8.9995) 20510, 10510, 40511                          05970308
                    601: 40511 IF (RVCOMP - 9.0005) 10510, 10510, 20510                          05980308
                    602: 30510 IVDELE = IVDELE + 1                                               05990308
                    603:       WRITE (I02,80000) IVTNUM                                          06000308
                    604:       IF (ICZERO) 10510, 0521, 20510                                    06010308
                    605: 10510 IVPASS = IVPASS + 1                                               06020308
                    606:       WRITE (I02,80002) IVTNUM                                          06030308
                    607:       GO TO 0521                                                        06040308
                    608: 20510 IVFAIL = IVFAIL + 1                                               06050308
                    609:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06060308
                    610:  0521 CONTINUE                                                          06070308
                    611: C                                                                       06080308
                    612: C     ****  FCVS PROGRAM 308  -  TEST 052  ****                         06090308
                    613: C                                                                       06100308
                    614: C                                                                       06110308
                    615:       IVTNUM =  52                                                      06120308
                    616:       IF (ICZERO) 30520, 0520, 30520                                    06130308
                    617:  0520 CONTINUE                                                          06140308
                    618:       RVCOMP = 10.0                                                     06150308
                    619:       RVON01 = 2.3                                                      06160308
                    620:       IVON01 = 150                                                      06170308
                    621:       IADN11(1) = 3                                                     06180308
                    622:       RVCOMP = SIGN(13+RVON01*IABS(-4)-IVON01/FF309(1.)**IADN11(1),-1.) 06190308
                    623:       RVCORR = -3.45                                                    06200308
                    624: 40520 IF (RVCOMP + 3.4505) 20520, 10520, 40521                          06210308
                    625: 40521 IF (RVCOMP + 3.4495) 10520, 10520, 20520                          06220308
                    626: 30520 IVDELE = IVDELE + 1                                               06230308
                    627:       WRITE (I02,80000) IVTNUM                                          06240308
                    628:       IF (ICZERO) 10520, 0531, 20520                                    06250308
                    629: 10520 IVPASS = IVPASS + 1                                               06260308
                    630:       WRITE (I02,80002) IVTNUM                                          06270308
                    631:       GO TO 0531                                                        06280308
                    632: 20520 IVFAIL = IVFAIL + 1                                               06290308
                    633:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06300308
                    634:  0531 CONTINUE                                                          06310308
                    635: C                                                                       06320308
                    636: C     TEST 053 THROUGH TEST 056 TEST INTRINSIC FUNCTIONS USING          06330308
                    637: C     STATEMENT FUNCTION REFERENCES AS ACTUAL ARGUMENTS.                06340308
                    638: C                                                                       06350308
                    639: C                                                                       06360308
                    640: C     ****  FCVS PROGRAM 308  -  TEST 053  ****                         06370308
                    641: C                                                                       06380308
                    642: C                                                                       06390308
                    643:       IVTNUM =  53                                                      06400308
                    644:       IF (ICZERO) 30530, 0530, 30530                                    06410308
                    645:  0530 CONTINUE                                                          06420308
                    646:       RVCOMP = 10.0                                                     06430308
                    647:       RVCOMP = DIM (RFOS01(5.4), 6.0)                                   06440308
                    648:       RVCORR = .4                                                       06450308
                    649: 40530 IF (RVCOMP - .39995) 20530, 10530, 40531                          06460308
                    650: 40531 IF (RVCOMP - .40005) 10530, 10530, 20530                          06470308
                    651: 30530 IVDELE = IVDELE + 1                                               06480308
                    652:       WRITE (I02,80000) IVTNUM                                          06490308
                    653:       IF (ICZERO) 10530, 0541, 20530                                    06500308
                    654: 10530 IVPASS = IVPASS + 1                                               06510308
                    655:       WRITE (I02,80002) IVTNUM                                          06520308
                    656:       GO TO 0541                                                        06530308
                    657: 20530 IVFAIL = IVFAIL + 1                                               06540308
                    658:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06550308
                    659:  0541 CONTINUE                                                          06560308
                    660: C                                                                       06570308
                    661: C     ****  FCVS PROGRAM 308  -  TEST 054  ****                         06580308
                    662: C                                                                       06590308
                    663: C                                                                       06600308
                    664:       IVTNUM =  54                                                      06610308
                    665:       IF (ICZERO) 30540, 0540, 30540                                    06620308
                    666:  0540 CONTINUE                                                          06630308
                    667:       IVCOMP = 10                                                       06640308
                    668:       IVCOMP = INT(RFOS01(2.01))                                        06650308
                    669:       IVCORR = 3                                                        06660308
                    670: 40540 IF (IVCOMP - 3) 20540, 10540, 20540                               06670308
                    671: 30540 IVDELE = IVDELE + 1                                               06680308
                    672:       WRITE (I02,80000) IVTNUM                                          06690308
                    673:       IF (ICZERO) 10540, 0551, 20540                                    06700308
                    674: 10540 IVPASS = IVPASS + 1                                               06710308
                    675:       WRITE (I02,80002) IVTNUM                                          06720308
                    676:       GO TO 0551                                                        06730308
                    677: 20540 IVFAIL = IVFAIL + 1                                               06740308
                    678:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06750308
                    679:  0551 CONTINUE                                                          06760308
                    680: C                                                                       06770308
                    681: C     ****  FCVS PROGRAM 308  -  TEST 055  ****                         06780308
                    682: C                                                                       06790308
                    683: C                                                                       06800308
                    684:       IVTNUM =  55                                                      06810308
                    685:       IF (ICZERO) 30550, 0550, 30550                                    06820308
                    686:  0550 CONTINUE                                                          06830308
                    687:       RVCOMP = 10.0                                                     06840308
                    688:       RVON01 = 0.5708                                                   06850308
                    689:       RVCOMP = SIN (RFOS01 (RVON01) / 2)                                06860308
                    690:       RVCORR = .70711                                                   06870308
                    691: 40550 IF (RVCOMP - .70706) 20550, 10550, 40551                          06880308
                    692: 40551 IF (RVCOMP - .70716) 10550, 10550, 20550                          06890308
                    693: 30550 IVDELE = IVDELE + 1                                               06900308
                    694:       WRITE (I02,80000) IVTNUM                                          06910308
                    695:       IF (ICZERO) 10550, 0561, 20550                                    06920308
                    696: 10550 IVPASS = IVPASS + 1                                               06930308
                    697:       WRITE (I02,80002) IVTNUM                                          06940308
                    698:       GO TO 0561                                                        06950308
                    699: 20550 IVFAIL = IVFAIL + 1                                               06960308
                    700:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          06970308
                    701:  0561 CONTINUE                                                          06980308
                    702: C                                                                       06990308
                    703: C     ****  FCVS PROGRAM 308  -  TEST 056  ****                         07000308
                    704: C                                                                       07010308
                    705: C                                                                       07020308
                    706:       IVTNUM =  56                                                      07030308
                    707:       IF (ICZERO) 30560, 0560, 30560                                    07040308
                    708:  0560 CONTINUE                                                          07050308
                    709:       RVCOMP = 10.0                                                     07060308
                    710:       RADN11(2) = 1.5                                                   07070308
                    711:       RVCOMP = TANH(RFOS01(RADN11(2)))                                  07080308
                    712:       RVCORR = .98661                                                   07090308
                    713: 40560 IF (RVCOMP - .98656) 20560, 10560, 40561                          07100308
                    714: 40561 IF (RVCOMP - .98666) 10560, 10560, 20560                          07110308
                    715: 30560 IVDELE = IVDELE + 1                                               07120308
                    716:       WRITE (I02,80000) IVTNUM                                          07130308
                    717:       IF (ICZERO) 10560, 0571, 20560                                    07140308
                    718: 10560 IVPASS = IVPASS + 1                                               07150308
                    719:       WRITE (I02,80002) IVTNUM                                          07160308
                    720:       GO TO 0571                                                        07170308
                    721: 20560 IVFAIL = IVFAIL + 1                                               07180308
                    722:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07190308
                    723:  0571 CONTINUE                                                          07200308
                    724: C                                                                       07210308
                    725: C     ****  FCVS PROGRAM 308  -  TEST 057  ****                         07220308
                    726: C                                                                       07230308
                    727: C     TEST 057 TESTS THE INTRINSIC FUNCTION AINT USING AN EXTERNAL      07240308
                    728: C     FUNCTION REFERENCE AS AN ACTUAL ARGUMENT AND THE COMMON           07250308
                    729: C     STATEMENT AS A MEANS OF PASSING DATA TO THE EXTERNAL FUNCTION.    07260308
                    730: C                                                                       07270308
                    731:       IVTNUM =  57                                                      07280308
                    732:       IF (ICZERO) 30570, 0570, 30570                                    07290308
                    733:  0570 CONTINUE                                                          07300308
                    734:       RVCOMP = 10.0                                                     07310308
                    735:       RVCN01 = 25.3                                                     07320308
                    736:       RVCOMP = AINT(FF310( ))                                           07330308
                    737:       RVCORR = 26.0                                                     07340308
                    738: 40570 IF (RVCOMP - 25.995) 20570, 10570, 40571                          07350308
                    739: 40571 IF (RVCOMP - 26.005) 10570, 10570, 20570                          07360308
                    740: 30570 IVDELE = IVDELE + 1                                               07370308
                    741:       WRITE (I02,80000) IVTNUM                                          07380308
                    742:       IF (ICZERO) 10570, 0581, 20570                                    07390308
                    743: 10570 IVPASS = IVPASS + 1                                               07400308
                    744:       WRITE (I02,80002) IVTNUM                                          07410308
                    745:       GO TO 0581                                                        07420308
                    746: 20570 IVFAIL = IVFAIL + 1                                               07430308
                    747:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07440308
                    748:  0581 CONTINUE                                                          07450308
                    749: C                                                                       07460308
                    750: C     ****  FCVS PROGRAM 308  -  TEST 058  ****                         07470308
                    751: C                                                                       07480308
                    752: C     TEST 058 TESTS THE INTRINSIC FUNCTION FLOAT BY USING A VARIABLE   07490308
                    753: C     EQUATED BY EQUIVALENCE ASSOCIATION AS AN ACTUAL ARGUMENT.         07500308
                    754: C                                                                       07510308
                    755:       IVTNUM =  58                                                      07520308
                    756:       IF (ICZERO) 30580, 0580, 30580                                    07530308
                    757:  0580 CONTINUE                                                          07540308
                    758:       RVCOMP = 10.0                                                     07550308
                    759:       IVOE01 = 5                                                        07560308
                    760:       RVCOMP = FLOAT(IVOE01)                                            07570308
                    761:       RVCORR = 5.0                                                      07580308
                    762: 40580 IF (RVCOMP - 4.9995) 20580, 10580, 40581                          07590308
                    763: 40581 IF (RVCOMP - 5.0005) 10580, 10580, 20580                          07600308
                    764: 30580 IVDELE = IVDELE + 1                                               07610308
                    765:       WRITE (I02,80000) IVTNUM                                          07620308
                    766:       IF (ICZERO) 10580, 0591, 20580                                    07630308
                    767: 10580 IVPASS = IVPASS + 1                                               07640308
                    768:       WRITE (I02,80002) IVTNUM                                          07650308
                    769:       GO TO 0591                                                        07660308
                    770: 20580 IVFAIL = IVFAIL + 1                                               07670308
                    771:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          07680308
                    772:  0591 CONTINUE                                                          07690308
                    773: C                                                                       07700308
                    774: C     ****  FCVS PROGRAM 308  -  TEST 059  ****                         07710308
                    775: C                                                                       07720308
                    776: C     TEST 059 TESTS THE INTRINSIC FUNCTION MIN1 BY USING A VARIABLE    07730308
                    777: C     INITIALIZED BY THE DATA STATEMENT AS AN ACTUAL ARGUMENT.          07740308
                    778: C                                                                       07750308
                    779:       IVTNUM =  59                                                      07760308
                    780:       IF (ICZERO) 30590, 0590, 30590                                    07770308
                    781:  0590 CONTINUE                                                          07780308
                    782:       IVCOMP = 10                                                       07790308
                    783:       IVCOMP = MIN1(6., RVON04, 7.3)                                    07800308
                    784:       IVCORR = 2                                                        07810308
                    785: 40590 IF (IVCOMP - 2) 20590, 10590, 20590                               07820308
                    786: 30590 IVDELE = IVDELE + 1                                               07830308
                    787:       WRITE (I02,80000) IVTNUM                                          07840308
                    788:       IF (ICZERO) 10590, 0601, 20590                                    07850308
                    789: 10590 IVPASS = IVPASS + 1                                               07860308
                    790:       WRITE (I02,80002) IVTNUM                                          07870308
                    791:       GO TO 0601                                                        07880308
                    792: 20590 IVFAIL = IVFAIL + 1                                               07890308
                    793:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07900308
                    794:  0601 CONTINUE                                                          07910308
                    795: C                                                                       07920308
                    796: C     ****  FCVS PROGRAM 308  -  TEST 060  ****                         07930308
                    797: C                                                                       07940308
                    798: C     TEST 060 ATTEMPTS TO OVERRIDE THE TYPING OF REAL FOR THE          07950308
                    799: C     INTRINSIC FUNCTION EXP WITH IMPLICIT INTEGER TYPING.              07960308
                    800: C                                                                       07970308
                    801:       IVTNUM =  60                                                      07980308
                    802:       IF (ICZERO) 30600, 0600, 30600                                    07990308
                    803:  0600 CONTINUE                                                          08000308
                    804:       RVCOMP = 10.0                                                     08010308
                    805:       RVON01 = 2.05                                                     08020308
                    806:       RVCOMP = EXP(RVON01)                                              08030308
                    807:       RVCORR = 7.7679                                                   08040308
                    808: 40600 IF (RVCOMP - 7.7674) 20600, 10600, 40601                          08050308
                    809: 40601 IF (RVCOMP - 7.7684) 10600, 10600, 20600                          08060308
                    810: 30600 IVDELE = IVDELE + 1                                               08070308
                    811:       WRITE (I02,80000) IVTNUM                                          08080308
                    812:       IF (ICZERO) 10600, 0611, 20600                                    08090308
                    813: 10600 IVPASS = IVPASS + 1                                               08100308
                    814:       WRITE (I02,80002) IVTNUM                                          08110308
                    815:       GO TO 0611                                                        08120308
                    816: 20600 IVFAIL = IVFAIL + 1                                               08130308
                    817:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          08140308
                    818:  0611 CONTINUE                                                          08150308
                    819: C                                                                       08160308
                    820: C     ****  FCVS PROGRAM 308  -  TEST 061  ****                         08170308
                    821: C                                                                       08180308
                    822: C     TEST 061 ATTEMPTS TO OVERRIDE THE TYPING OF INTEGER FOR THE       08190308
                    823: C     INTRINSIC FUNCTION NINT WITH IMPLICIT REAL TYPING.                08200308
                    824: C                                                                       08210308
                    825:       IVTNUM =  61                                                      08220308
                    826:       IF (ICZERO) 30610, 0610, 30610                                    08230308
                    827:  0610 CONTINUE                                                          08240308
                    828:       RVCOMP = 10.0                                                     08250308
                    829:       RVON01 = 3.78                                                     08260308
                    830:       RVCOMP = NINT(RVON01) / 5                                         08270308
                    831:       RVCORR = 0.0                                                      08280308
                    832: 40610 IF (RVCOMP + .00005) 20610, 10610, 40611                          08290308
                    833: 40611 IF (RVCOMP - .00005) 10610, 10610, 20610                          08300308
                    834: 30610 IVDELE = IVDELE + 1                                               08310308
                    835:       WRITE (I02,80000) IVTNUM                                          08320308
                    836:       IF (ICZERO) 10610, 0621, 20610                                    08330308
                    837: 10610 IVPASS = IVPASS + 1                                               08340308
                    838:       WRITE (I02,80002) IVTNUM                                          08350308
                    839:       GO TO 0621                                                        08360308
                    840: 20610 IVFAIL = IVFAIL + 1                                               08370308
                    841:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          08380308
                    842:  0621 CONTINUE                                                          08390308
                    843: C                                                                       08400308
                    844: C     ****  FCVS PROGRAM 308  -  TEST 062  ****                         08410308
                    845: C                                                                       08420308
                    846: C     TEST 062 ATTEMPTS TO OVERRIDE THE TYPING OF REAL FOR THE          08430308
                    847: C     INTRINSIC FUNCTION SINH WITH TYPE-STATEMENT TYPING OF INTEGER.    08440308
                    848: C                                                                       08450308
                    849:       IVTNUM =  62                                                      08460308
                    850:       IF (ICZERO) 30620, 0620, 30620                                    08470308
                    851:  0620 CONTINUE                                                          08480308
                    852:       RVCOMP = 10.0                                                     08490308
                    853:       RVCOMP = SINH(2.0)                                                08500308
                    854:       RVCORR = 3.6269                                                   08510308
                    855: 40620 IF (RVCOMP - 3.6264) 20620, 10620, 40621                          08520308
                    856: 40621 IF (RVCOMP - 3.6274) 10620, 10620, 20620                          08530308
                    857: 30620 IVDELE = IVDELE + 1                                               08540308
                    858:       WRITE (I02,80000) IVTNUM                                          08550308
                    859:       IF (ICZERO) 10620, 0631, 20620                                    08560308
                    860: 10620 IVPASS = IVPASS + 1                                               08570308
                    861:       WRITE (I02,80002) IVTNUM                                          08580308
                    862:       GO TO 0631                                                        08590308
                    863: 20620 IVFAIL = IVFAIL + 1                                               08600308
                    864:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          08610308
                    865:  0631 CONTINUE                                                          08620308
                    866: C                                                                       08630308
                    867: C     ****  FCVS PROGRAM 308  -  TEST 063  ****                         08640308
                    868: C                                                                       08650308
                    869: C     TEST 063 ATTEMPTS TO OVERRIDE THE TYPING OF INTEGER FOR THE       08660308
                    870: C     INTRINSIC FUNCTION MAX1 WITH TYPE-STATEMENT TYPING OF REAL.       08670308
                    871: C                                                                       08680308
                    872:       IVTNUM =  63                                                      08690308
                    873:       IF (ICZERO) 30630, 0630, 30630                                    08700308
                    874:  0630 CONTINUE                                                          08710308
                    875:       RVCOMP = 10.0                                                     08720308
                    876:       RVCOMP = MAX1(2.3, 3.1, 4.4) / 5                                  08730308
                    877:       RVCORR = 0.0                                                      08740308
                    878: 40630 IF (RVCOMP + .00005) 20630, 10630, 40631                          08750308
                    879: 40631 IF (RVCOMP - .00005) 10630, 10630, 20630                          08760308
                    880: 30630 IVDELE = IVDELE + 1                                               08770308
                    881:       WRITE (I02,80000) IVTNUM                                          08780308
                    882:       IF (ICZERO) 10630, 0641, 20630                                    08790308
                    883: 10630 IVPASS = IVPASS + 1                                               08800308
                    884:       WRITE (I02,80002) IVTNUM                                          08810308
                    885:       GO TO 0641                                                        08820308
                    886: 20630 IVFAIL = IVFAIL + 1                                               08830308
                    887:       WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR                          08840308
                    888:  0641 CONTINUE                                                          08850308
                    889: C                                                                       08860308
                    890: C                                                                       08870308
                    891: C     WRITE OUT TEST SUMMARY                                            08880308
                    892: C                                                                       08890308
                    893:       WRITE (I02,90004)                                                 08900308
                    894:       WRITE (I02,90014)                                                 08910308
                    895:       WRITE (I02,90004)                                                 08920308
                    896:       WRITE (I02,90000)                                                 08930308
                    897:       WRITE (I02,90004)                                                 08940308
                    898:       WRITE (I02,90020) IVFAIL                                          08950308
                    899:       WRITE (I02,90022) IVPASS                                          08960308
                    900:       WRITE (I02,90024) IVDELE                                          08970308
                    901:       STOP                                                              08980308
                    902: 90001 FORMAT (1H ,24X,5HFM308)                                          08990308
                    903: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM308)                          09000308
                    904: C                                                                       09010308
                    905: C     FORMATS FOR TEST DETAIL LINES                                     09020308
                    906: C                                                                       09030308
                    907: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   09040308
                    908: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      09050308
                    909: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         09060308
                    910: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    09070308
                    911: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        09080308
                    912: C                                                                       09090308
                    913: C     FORMAT STATEMENTS FOR PAGE HEADERS                                09100308
                    914: C                                                                       09110308
                    915: 90002 FORMAT (1H1)                                                      09120308
                    916: 90004 FORMAT (1H )                                                      09130308
                    917: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            09140308
                    918: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   09150308
                    919: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         09160308
                    920: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  09170308
                    921: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 09180308
                    922: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             09190308
                    923: C                                                                       09200308
                    924: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 09210308
                    925: C                                                                       09220308
                    926: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              09230308
                    927: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              09240308
                    928: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             09250308
                    929:       END                                                               09260308
                    930:       REAL FUNCTION FF309(RDON01)                                       00010309
                    931: C     DATE***82/08/02*18.33.46
                    932: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    933: C     AUDIT  FCVS78 V2.0
                    934: C          THIS FUNCTION IS USED TO INCREMENT THE ARGUMENT VALUE BY     00020309
                    935: C     ONE AND RETURN THE RESULT AS THE FUNCTION VALUE.                  00030309
                    936:       FF309 = RDON01 + 1.0                                              00040309
                    937:       RETURN                                                            00050309
                    938:       END                                                               00060309
                    939:       REAL FUNCTION FF310 ( )                                           00010310
                    940: C     DATE***82/08/02*18.33.46
                    941: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    942: C     AUDIT  FCVS78 V2.0
                    943: C          THIS FUNCTION IS USED TO INCREMENT BY ONE A VALUE PASSED     00020310
                    944: C     TO THE FUNCTION THROUGH COMMON.                                   00030310
                    945:       COMMON RVCN01                                                     00040310
                    946:       FF310 = RVCN01 + 1.0                                              00050310
                    947:       RETURN                                                            00060310
                    948:       END                                                               00070310

unix.superglobalmegacorp.com

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