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

1.1       root        1: C***********************************************************************00010356
                      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*****  FORTRAN 77                                                      00020356
                      6: C*****   FM356               XABS - (156)                               00030356
                      7: C*****                                                                  00040356
                      8: C***********************************************************************00050356
                      9: C*****  GENERAL PURPOSE                                       SUBSET REF00060356
                     10: C*****    TEST INTRINSIC FUNCTION ABS,IABS (ABSOLUTE VALUE)      15.3   00070356
                     11: C*****                                                         (TABLE 5)00080356
                     12: C*****                                                                  00090356
                     13: CBB** ********************** BBCCOMNT **********************************00100356
                     14: C****                                                                   00110356
                     15: C****            1978 FORTRAN COMPILER VALIDATION SYSTEM                00120356
                     16: C****                          VERSION 2.0                              00130356
                     17: C****                                                                   00140356
                     18: C****                                                                   00150356
                     19: C****           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO         00160356
                     20: C****                   GENERAL SERVICES ADMINISTRATION                 00170356
                     21: C****                   FEDERAL SOFTWARE TESTING CENTER                 00180356
                     22: C****                   5203 LEESBURG PIKE, SUITE 1100                  00190356
                     23: C****                      FALLS CHURCH, VA. 22041                      00200356
                     24: C****                                                                   00210356
                     25: C****                          (703) 756-6153                           00220356
                     26: C****                                                                   00230356
                     27: CBE** ********************** BBCCOMNT **********************************00240356
                     28: CBB** ********************** BBCINITA **********************************00250356
                     29: C**** SPECIFICATION STATEMENTS                                          00260356
                     30: C****                                                                   00270356
                     31:       CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20,      00280356
                     32:      1          ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13      00290356
                     33: CBE** ********************** BBCINITA **********************************00300356
                     34: CBB** ********************** BBCINITB **********************************00310356
                     35: C**** INITIALIZE SECTION                                                00320356
                     36:       DATA  ZVERS,                  ZVERSD,             ZDATE           00330356
                     37:      1      /'VERSION 2.0  ',  '82/08/02*18.33.46',  '*NO DATE*TIME'/   00340356
                     38:       DATA       ZCOMPL,             ZNAME,             ZTAPE           00350356
                     39:      1      /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/      00360356
                     40:       DATA       ZPROJ,           ZTAPED,         ZPROG                 00370356
                     41:      1      /'*NO PROJECT*',   '*NO TAPE DATE',  'XXXXX'/               00380356
                     42:       DATA   REMRKS /'                               '/                 00390356
                     43: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED   00400356
                     44: C**** FOR IDENTIFYING THE TEST ENVIRONMENT                              00410356
                     45: C****                                                                   00420356
                     46: CZ01  ZVERS  = 'VERSION OF THE COMPILER VALIDATION SYSTEM'              00430356
                     47: CZ02  ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM'   00440356
                     48: CZ03  ZPROG  = 'PROGRAM NAME'                                           00450356
                     49:       ZDATE  = '07-Nov-85        '                                           *RP
                     50:       ZCOMPL = 'CCI 5.2             '                                        *RP
                     51:       ZPROJ  = 'TC-85-   -410'                                               *RP
                     52:       ZNAME  = '                    '                                        *RP
                     53:       ZTAPE  = '          '                                                  *RP
                     54:       ZTAPED = '850703       '                                               *RP
                     55: C                                                                       00520356
                     56:       IVPASS = 0                                                        00530356
                     57:       IVFAIL = 0                                                        00540356
                     58:       IVDELE = 0                                                        00550356
                     59:       IVINSP = 0                                                        00560356
                     60:       IVTOTL = 0                                                        00570356
                     61:       IVTOTN = 0                                                        00580356
                     62:       ICZERO = 0                                                        00590356
                     63: C                                                                       00600356
                     64: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00610356
                     65:       I01 = 05                                                          00620356
                     66: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00630356
                     67:       I02 = 06                                                          00640356
                     68: C                                                                       00650356
                     69:       I01 = 5                                                           00660356
                     70: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00670356
                     71: CX011   REPLACED BY FEXEC X-011 CONTROL CARD.  CX011 IS FOR SYSTEMS     00680356
                     72: C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010.  00690356
                     73: C                                                                       00700356
                     74:       I02 = 6                                                           00710356
                     75: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6       00720356
                     76: CX021   REPLACED BY FEXEC X-021 CONTROL CARD.  CX021 IS FOR SYSTEMS     00730356
                     77: C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020.  00740356
                     78: C                                                                       00750356
                     79: CBE** ********************** BBCINITB **********************************00760356
                     80:       NUVI = I02                                                        00770356
                     81:       IVTOTL = 10                                                       00780356
                     82:       ZPROG = 'FM356'                                                   00790356
                     83: CBB** ********************** BBCHED0A **********************************00800356
                     84: C****                                                                   00810356
                     85: C**** WRITE REPORT TITLE                                                00820356
                     86: C****                                                                   00830356
                     87:       WRITE (I02, 90002)                                                00840356
                     88:       WRITE (I02, 90006)                                                00850356
                     89:       WRITE (I02, 90007)                                                00860356
                     90:       WRITE (I02, 90008)  ZVERS, ZVERSD                                 00870356
                     91:       WRITE (I02, 90009)  ZPROG, ZPROG                                  00880356
                     92:       WRITE (I02, 90010)  ZDATE, ZCOMPL                                 00890356
                     93: CBE** ********************** BBCHED0A **********************************00900356
                     94: C*****                                                                  00910356
                     95: C*****    HEADER FOR SEGMENT 156                                        00920356
                     96:         WRITE(NUVI,15601)                                               00930356
                     97: 15601   FORMAT( 1H , // 36H  XABS - (156) INTRINSIC FUNCTIONS--// 11X,  00940356
                     98:      1         26HABS, IABS (ABSOLUTE VALUE)//                          00950356
                     99:      2         20H  SUBSET REF. - 15.3)                                 00960356
                    100: CBB** ********************** BBCHED0B **********************************00970356
                    101: C**** WRITE DETAIL REPORT HEADERS                                       00980356
                    102: C****                                                                   00990356
                    103:       WRITE (I02,90004)                                                 01000356
                    104:       WRITE (I02,90004)                                                 01010356
                    105:       WRITE (I02,90013)                                                 01020356
                    106:       WRITE (I02,90014)                                                 01030356
                    107:       WRITE (I02,90015) IVTOTL                                          01040356
                    108: CBE** ********************** BBCHED0B **********************************01050356
                    109: C*****                                                                  01060356
                    110: C*****    TEST OF ABS                                                   01070356
                    111: C*****                                                                  01080356
                    112:         WRITE(NUVI, 15602)                                              01090356
                    113: 15602   FORMAT (/ 8X, 11HTEST OF ABS)                                   01100356
                    114: CT001*  TEST 1                                           THE VALUE ZERO 01110356
                    115:            IVTNUM = 1                                                   01120356
                    116:         RDDVS = 0.0                                                     01130356
                    117:         RDAVS = ABS(RDDVS)                                              01140356
                    118:            IF (RDAVS + .00005) 20010, 10010, 40010                      01150356
                    119: 40010      IF (RDAVS - .00005) 10010, 10010, 20010                      01160356
                    120: 10010      IVPASS = IVPASS + 1                                          01170356
                    121:            WRITE (NUVI, 80002) IVTNUM                                   01180356
                    122:            GO TO 0011                                                   01190356
                    123: 20010      IVFAIL = IVFAIL + 1                                          01200356
                    124:            RVCORR = 0.0                                                 01210356
                    125:            WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR                    01220356
                    126:  0011      CONTINUE                                                     01230356
                    127: CT002*  TEST 2                        ZERO PREFIXED WITH A MINUS SIGN   01240356
                    128:            IVTNUM = 2                                                   01250356
                    129:         RDDVS = 0.0                                                     01260356
                    130:         RDAVS = ABS(-RDDVS)                                             01270356
                    131:            IF (RDAVS + .00005) 20020, 10020, 40020                      01280356
                    132: 40020      IF (RDAVS - .00005) 10020, 10020, 20020                      01290356
                    133: 10020      IVPASS = IVPASS + 1                                          01300356
                    134:            WRITE (NUVI, 80002) IVTNUM                                   01310356
                    135:            GO TO 0021                                                   01320356
                    136: 20020      IVFAIL = IVFAIL + 1                                          01330356
                    137:            RVCORR = 0.0                                                 01340356
                    138:            WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR                    01350356
                    139:  0021      CONTINUE                                                     01360356
                    140: CT003*  TEST 3                          A POSITIVE NON-INTEGRAL VALUE   01370356
                    141:            IVTNUM = 3                                                   01380356
                    142:         RDDVS = 35.875                                                  01390356
                    143:         RDAVS = ABS(RDDVS)                                              01400356
                    144:            IF (RDAVS - 35.873) 20030, 10030, 40030                      01410356
                    145: 40030      IF (RDAVS - 35.877) 10030, 10030, 20030                      01420356
                    146: 10030      IVPASS = IVPASS + 1                                          01430356
                    147:            WRITE (NUVI, 80002) IVTNUM                                   01440356
                    148:            GO TO 0031                                                   01450356
                    149: 20030      IVFAIL = IVFAIL + 1                                          01460356
                    150:            RVCORR = 35.875                                              01470356
                    151:            WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR                    01480356
                    152:  0031      CONTINUE                                                     01490356
                    153: CT004*  TEST 4                          A NEGATIVE NON-INTEGRAL VALUE   01500356
                    154:            IVTNUM = 4                                                   01510356
                    155:         RDBVS = -35.875                                                 01520356
                    156:         RDAVS = ABS(RDBVS)                                              01530356
                    157:            IF (RDAVS - 35.873) 20040, 10040, 40040                      01540356
                    158: 40040      IF (RDAVS - 35.877) 10040, 10040, 20040                      01550356
                    159: 10040      IVPASS = IVPASS + 1                                          01560356
                    160:            WRITE (NUVI, 80002) IVTNUM                                   01570356
                    161:            GO TO 0041                                                   01580356
                    162: 20040      IVFAIL = IVFAIL + 1                                          01590356
                    163:            RVCORR = 35.875                                              01600356
                    164:            WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR                    01610356
                    165:  0041      CONTINUE                                                     01620356
                    166: CT005*  TEST 5            ARITHMETIC EXPRESSION PRESENTED TO FUNCTION   01630356
                    167:            IVTNUM = 5                                                   01640356
                    168:         RDDVS = 2.625                                                   01650356
                    169:         RDEVS = 3.0                                                     01660356
                    170:         RDAVS = ABS(-RDDVS - RDEVS ** 3)                                01670356
                    171:            IF (RDAVS - 29.623) 20050, 10050, 40050                      01680356
                    172: 40050      IF (RDAVS - 29.627) 10050, 10050, 20050                      01690356
                    173: 10050      IVPASS = IVPASS + 1                                          01700356
                    174:            WRITE (NUVI, 80002) IVTNUM                                   01710356
                    175:            GO TO 0051                                                   01720356
                    176: 20050      IVFAIL = IVFAIL + 1                                          01730356
                    177:            RVCORR = 29.625                                              01740356
                    178:            WRITE (NUVI, 80012) IVTNUM, RDAVS, RVCORR                    01750356
                    179:  0051      CONTINUE                                                     01760356
                    180: C*****                                                                  01770356
                    181: C*****    TEST OF IABS                                                  01780356
                    182: C*****                                                                  01790356
                    183:         WRITE(NUVI, 15604)                                              01800356
                    184: 15604   FORMAT (/ 8X, 12HTEST OF IABS)                                  01810356
                    185: C*****                                                                  01820356
                    186: CT006*  TEST 6                                         THE VALUE ZERO   01830356
                    187:            IVTNUM = 6                                                   01840356
                    188:         IDDVI = 0                                                       01850356
                    189:         IDAVI = IABS(IDDVI)                                             01860356
                    190:            IF (IDAVI - 0) 20060, 10060, 20060                           01870356
                    191: 10060      IVPASS = IVPASS + 1                                          01880356
                    192:            WRITE (NUVI, 80002) IVTNUM                                   01890356
                    193:            GO TO 0061                                                   01900356
                    194: 20060      IVFAIL = IVFAIL + 1                                          01910356
                    195:            IVCORR = 0                                                   01920356
                    196:            WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR                    01930356
                    197:  0061      CONTINUE                                                     01940356
                    198: CT007*  TEST 7                        ZERO PREFIXED WITH A MINUS SIGN   01950356
                    199:            IVTNUM = 7                                                   01960356
                    200:         IDDVI = 0                                                       01970356
                    201:         IDAVI = IABS(-IDDVI)                                            01980356
                    202:            IF (IDAVI - 0) 20070, 10070, 20070                           01990356
                    203: 10070      IVPASS = IVPASS + 1                                          02000356
                    204:            WRITE (NUVI, 80002) IVTNUM                                   02010356
                    205:            GO TO 0071                                                   02020356
                    206: 20070      IVFAIL = IVFAIL + 1                                          02030356
                    207:            IVCORR = 0                                                   02040356
                    208:            WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR                    02050356
                    209:  0071      CONTINUE                                                     02060356
                    210: CT008*  TEST 8                                     A POSITIVE INTEGER   02070356
                    211:            IVTNUM = 8                                                   02080356
                    212:         IDBVI = 73                                                      02090356
                    213:         IDAVI = IABS(IDBVI)                                             02100356
                    214:            IF (IDAVI - 73) 20080, 10080, 20080                          02110356
                    215: 10080      IVPASS = IVPASS + 1                                          02120356
                    216:            WRITE (NUVI, 80002) IVTNUM                                   02130356
                    217:            GO TO 0081                                                   02140356
                    218: 20080      IVFAIL = IVFAIL + 1                                          02150356
                    219:            IVCORR = 73                                                  02160356
                    220:            WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR                    02170356
                    221:  0081      CONTINUE                                                     02180356
                    222: CT009*  TEST 9                                     A NEGATIVE INTEGER   02190356
                    223:            IVTNUM = 9                                                   02200356
                    224:         IDDVI = -10                                                     02210356
                    225:         IDAVI = IABS(IDDVI)                                             02220356
                    226:            IF (IDAVI - 10) 20090, 10090, 20090                          02230356
                    227: 10090      IVPASS = IVPASS + 1                                          02240356
                    228:            WRITE (NUVI, 80002) IVTNUM                                   02250356
                    229:            GO TO 0091                                                   02260356
                    230: 20090      IVFAIL = IVFAIL + 1                                          02270356
                    231:            IVCORR = 10                                                  02280356
                    232:            WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR                    02290356
                    233:  0091      CONTINUE                                                     02300356
                    234: CT010*  TEST 10           ARITHMETIC EXPRESSION PRESENTED TO FUNCTION   02310356
                    235:            IVTNUM = 10                                                  02320356
                    236:         IDDVI = -3                                                      02330356
                    237:         IDAVI = IABS(IDDVI ** 3)                                        02340356
                    238:            IF (IDAVI - 27) 20100, 10100, 20100                          02350356
                    239: 10100      IVPASS = IVPASS + 1                                          02360356
                    240:            WRITE (NUVI, 80002) IVTNUM                                   02370356
                    241:            GO TO 0101                                                   02380356
                    242: 20100      IVFAIL = IVFAIL + 1                                          02390356
                    243:            IVCORR = 27                                                  02400356
                    244:            WRITE (NUVI, 80010) IVTNUM, IDAVI, IVCORR                    02410356
                    245:  0101      CONTINUE                                                     02420356
                    246: C*****                                                                  02430356
                    247: CBB** ********************** BBCSUM0  **********************************02440356
                    248: C**** WRITE OUT TEST SUMMARY                                            02450356
                    249: C****                                                                   02460356
                    250:       IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP                        02470356
                    251:       WRITE (I02, 90004)                                                02480356
                    252:       WRITE (I02, 90014)                                                02490356
                    253:       WRITE (I02, 90004)                                                02500356
                    254:       WRITE (I02, 90020) IVPASS                                         02510356
                    255:       WRITE (I02, 90022) IVFAIL                                         02520356
                    256:       WRITE (I02, 90024) IVDELE                                         02530356
                    257:       WRITE (I02, 90026) IVINSP                                         02540356
                    258:       WRITE (I02, 90028) IVTOTN, IVTOTL                                 02550356
                    259: CBE** ********************** BBCSUM0  **********************************02560356
                    260: CBB** ********************** BBCFOOT0 **********************************02570356
                    261: C**** WRITE OUT REPORT FOOTINGS                                         02580356
                    262: C****                                                                   02590356
                    263:       WRITE (I02,90016) ZPROG, ZPROG                                    02600356
                    264:       WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED                     02610356
                    265:       WRITE (I02,90019)                                                 02620356
                    266: CBE** ********************** BBCFOOT0 **********************************02630356
                    267: CBB** ********************** BBCFMT0A **********************************02640356
                    268: C**** FORMATS FOR TEST DETAIL LINES                                     02650356
                    269: C****                                                                   02660356
                    270: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31)                           02670356
                    271: 80002 FORMAT (1H ,2X,I3,4X,7H PASS  ,32X,A31)                           02680356
                    272: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31)                           02690356
                    273: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL  ,32X,A31)                           02700356
                    274: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL  ,/,1H ,15X,10HCOMPUTED= ,           02710356
                    275:      1I6,/,1H ,15X,10HCORRECT=  ,I6)                                    02720356
                    276: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL  ,/,1H ,16X,10HCOMPUTED= ,           02730356
                    277:      1E12.5,/,1H ,16X,10HCORRECT=  ,E12.5)                              02740356
                    278: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL  ,/,1H ,16X,10HCOMPUTED= ,           02750356
                    279:      1A21,/,1H ,16X,10HCORRECT=  ,A21)                                  02760356
                    280: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31)                         02770356
                    281: 80022 FORMAT (1H ,16X,10HCORRECT=  ,A21,1X,A31)                         02780356
                    282: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31)                         02790356
                    283: 80026 FORMAT (1H ,16X,10HCORRECT=  ,I6,16X,A31)                         02800356
                    284: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31)                      02810356
                    285: 80030 FORMAT (1H ,16X,10HCORRECT=  ,E12.5,10X,A31)                      02820356
                    286: 80050 FORMAT (1H ,48X,A31)                                              02830356
                    287: CBE** ********************** BBCFMT0A **********************************02840356
                    288: CBB** ********************** BBCFMT0B **********************************02850356
                    289: C**** FORMAT STATEMENTS FOR PAGE HEADERS                                02860356
                    290: C****                                                                   02870356
                    291: 90002 FORMAT (1H1)                                                      02880356
                    292: 90004 FORMAT (1H )                                                      02890356
                    293: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER)               02900356
                    294: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM)            02910356
                    295: 90008 FORMAT (1H ,21X,A13,A17)                                          02920356
                    296: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/)       02930356
                    297: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H  -  COMPILER= ,A20)    02940356
                    298: 90013 FORMAT (1H ,8H TEST   ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS,     02950356
                    299:      1       7X,7HREMARKS,24X)                                          02960356
                    300: 90014 FORMAT (1H ,46H----------------------------------------------,    02970356
                    301:      1        33H---------------------------------)                     02980356
                    302: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/)               02990356
                    303: C****                                                                   03000356
                    304: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS                             03010356
                    305: C****                                                                   03020356
                    306: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/)          03030356
                    307: 90018 FORMAT (1H ,A13,13X,A20,7H   *   ,A10,1H/,                        03040356
                    308:      1        A13)                                                      03050356
                    309: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY     ,35X,15HCOPYRIGHT  1982) 03060356
                    310: C****                                                                   03070356
                    311: C**** FORMAT STATEMENTS FOR RUN SUMMARY                                 03080356
                    312: C****                                                                   03090356
                    313: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED)                              03100356
                    314: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED)                              03110356
                    315: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED)                             03120356
                    316: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION)                  03130356
                    317: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED)                  03140356
                    318: CBE** ********************** BBCFMT0B **********************************03150356
                    319: C*****                                                                  03160356
                    320: C*****    END OF TEST SEGMENT 156                                       03170356
                    321:       STOP                                                              03180356
                    322:       END                                                               03190356
                    323:                                                                         03200356

unix.superglobalmegacorp.com

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