Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm021.f, revision 1.1

1.1     ! root        1: c
        !             2: c     comment section.
        !             3: c
        !             4: c     fm021
        !             5: c
        !             6: c           this routine tests the fortran  data initialization
        !             7: c     statement.  integer, real, and logical data types are tested
        !             8: c     using unsigned constants, signed constants, and logical
        !             9: c     constants..   integer, real, logical, and mixed type arrays
        !            10: c     are also tested.
        !            11: c
        !            12: c      references
        !            13: c        american national standard programming language fortran,
        !            14: c              x3.9-1978
        !            15: c
        !            16: c        section 4.1.3, data type preparation
        !            17: c        section 4.4.3, real constant
        !            18: c        section 9, data statement
        !            19: c
        !            20:       integer ratn11(3)
        !            21:       logical lctn01, lctn02, latn11(3), ladn11
        !            22:       real iatn11(3)
        !            23:       dimension iadn11(3), radn11(4), ladn11(6), radn13(4), iadn12(4)
        !            24:       dimension iadn13(4)
        !            25: c
        !            26:       data icon01/0/
        !            27:       data icon02/3/
        !            28:       data icon03/76/
        !            29:       data icon04/587/
        !            30:       data icon05/9999/
        !            31:       data icon06/32767/
        !            32:       data icon07/-0/
        !            33:       data icon08/-32766/
        !            34:       data icon09/00003/
        !            35:       data icon10/ 3 2 7 6 7 /
        !            36:       data lctn01/.true./
        !            37:       data lctn02/.false./
        !            38:       data rcon01/0./
        !            39:       data rcon02 /.0/
        !            40:       data rcon03/0.0/
        !            41:       data rcon04/32767./
        !            42:       data rcon05/-32766./
        !            43:       data rcon06/-000587./
        !            44:       data rcon07/99.99/
        !            45:       data rcon08/ -03. 2  7  6   6/
        !            46:       data iadn11(1)/3/, iadn11(3)/-587/, iadn11(2)/32767/
        !            47:       data iadn12/4*9999/
        !            48:       data iadn13/0,2*-32766,-587/
        !            49:       data ladn11/.true., .false., 2*.true., 2*.false./
        !            50:       data radn11/32767., -32.766, 2*587./
        !            51:       data latn11/.true., 2*.false./, iatn11/2*32767., -32766./
        !            52:       data ratn11/3*-32766/
        !            53:       data radn13/32.767e03, -3.2766e-01, .587e+03, 9e1/
        !            54: c
        !            55: c
        !            56: c      **********************************************************
        !            57: c
        !            58: c         a compiler validation system for the fortran language
        !            59: c     based on specifications as defined in american national standard
        !            60: c     programming language fortran x3.9-1978, has been developed by the
        !            61: c     federal cobol compiler testing service.  the fortran compiler
        !            62: c     validation system (fcvs) consists of audit routines, their related
        !            63: c     data, and an executive system.  each audit routine is a fortran
        !            64: c     program, subprogram or function which includes tests of specific
        !            65: c     language elements and supporting procedures indicating the result
        !            66: c     of executing these tests.
        !            67: c
        !            68: c         this particular program/subprogram/function contains features
        !            69: c     found only in the subset as defined in x3.9-1978.
        !            70: c
        !            71: c         suggestions and comments should be forwarded to -
        !            72: c
        !            73: c                  department of the navy
        !            74: c                  federal cobol compiler testing service
        !            75: c                  washington, d.c.  20376
        !            76: c
        !            77: c      **********************************************************
        !            78: c
        !            79: c
        !            80: c
        !            81: c     initialization section
        !            82: c
        !            83: c     initialize constants
        !            84: c      **************
        !            85: c     i01 contains the logical unit number for the card reader.
        !            86:       i01 = 5
        !            87: c     i02 contains the logical unit number for the printer.
        !            88:       i02 = 6
        !            89: c     system environment section
        !            90: c
        !            91: cx010    this card is replaced by contents of fexec x-010 control card.
        !            92: c     the cx010 card is for overriding the program default i01 = 5
        !            93: c     (unit number for card reader).
        !            94: cx011    this card is replaced by contents of fexec x-011 control card.
        !            95: c     the cx011 card is for systems which require additional
        !            96: c     fortran statements for files associated with cx010 above.
        !            97: c
        !            98: cx020    this card is replaced by contents of fexec x-020 control card.
        !            99: c     the cx020 card is for overriding the program default i02 = 6
        !           100: c     (unit number for printer).
        !           101: cx021    this card is replaced by contents of fexec x-021 control card.
        !           102: c     the cx021 card is for systems which require additional
        !           103: c     fortran statements for files associated with cx020 above.
        !           104: c
        !           105:       ivpass=0
        !           106:       ivfail=0
        !           107:       ivdele=0
        !           108:       iczero=0
        !           109: c
        !           110: c     write page headers
        !           111:       write (i02,90000)
        !           112:       write (i02,90001)
        !           113:       write (i02,90002)
        !           114:       write (i02, 90002)
        !           115:       write (i02,90003)
        !           116:       write (i02,90002)
        !           117:       write (i02,90004)
        !           118:       write (i02,90002)
        !           119:       write (i02,90011)
        !           120:       write (i02,90002)
        !           121:       write (i02,90002)
        !           122:       write (i02,90005)
        !           123:       write (i02,90006)
        !           124:       write (i02,90002)
        !           125:       ivtnum = 565
        !           126: c
        !           127: c      ****  test 565  ****
        !           128: c     test 565  -  test of an integer variable set to the integer
        !           129: c         constant zero.
        !           130: c
        !           131: c
        !           132:       if (iczero) 35650, 5650, 35650
        !           133:  5650 continue
        !           134:       go to 45650
        !           135: 35650 ivdele = ivdele + 1
        !           136:       write (i02,80003) ivtnum
        !           137:       if (iczero) 45650, 5661, 45650
        !           138: 45650 if ( icon01 - 0 )  25650, 15650, 25650
        !           139: 15650 ivpass = ivpass + 1
        !           140:       write (i02,80001) ivtnum
        !           141:       go to 5661
        !           142: 25650 ivfail = ivfail + 1
        !           143:       ivcomp = icon01
        !           144:       ivcorr = 0
        !           145:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           146:  5661 continue
        !           147:       ivtnum = 566
        !           148: c
        !           149: c      ****  test 566  ****
        !           150: c     test 566  -  test of an integer variable set to the integer
        !           151: c         constant 3.
        !           152: c
        !           153: c
        !           154:       if (iczero) 35660, 5660, 35660
        !           155:  5660 continue
        !           156:       go to 45660
        !           157: 35660 ivdele = ivdele + 1
        !           158:       write (i02,80003) ivtnum
        !           159:       if (iczero) 45660, 5671, 45660
        !           160: 45660 if ( icon02 - 3 )  25660, 15660, 25660
        !           161: 15660 ivpass = ivpass + 1
        !           162:       write (i02,80001) ivtnum
        !           163:       go to 5671
        !           164: 25660 ivfail = ivfail + 1
        !           165:       ivcomp = icon02
        !           166:       ivcorr = 3
        !           167:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           168:  5671 continue
        !           169:       ivtnum = 567
        !           170: c
        !           171: c      ****  test 567  ****
        !           172: c     test 567  -  test of an integer variable set to the integer
        !           173: c         constant 76.
        !           174: c
        !           175: c
        !           176:       if (iczero) 35670, 5670, 35670
        !           177:  5670 continue
        !           178:       go to 45670
        !           179: 35670 ivdele = ivdele + 1
        !           180:       write (i02,80003) ivtnum
        !           181:       if (iczero) 45670, 5681, 45670
        !           182: 45670 if ( icon03 - 76 )  25670, 15670, 25670
        !           183: 15670 ivpass = ivpass + 1
        !           184:       write (i02,80001) ivtnum
        !           185:       go to 5681
        !           186: 25670 ivfail = ivfail + 1
        !           187:       ivcomp = icon03
        !           188:       ivcorr = 76
        !           189:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           190:  5681 continue
        !           191:       ivtnum = 568
        !           192: c
        !           193: c      ****  test 568  ****
        !           194: c     test 568  -  test of an integer variable set to the integer
        !           195: c         constant  587.
        !           196: c
        !           197: c
        !           198:       if (iczero) 35680, 5680, 35680
        !           199:  5680 continue
        !           200:       go to 45680
        !           201: 35680 ivdele = ivdele + 1
        !           202:       write (i02,80003) ivtnum
        !           203:       if (iczero) 45680, 5691, 45680
        !           204: 45680 if ( icon04 - 587 )  25680, 15680, 25680
        !           205: 15680 ivpass = ivpass + 1
        !           206:       write (i02,80001) ivtnum
        !           207:       go to 5691
        !           208: 25680 ivfail = ivfail + 1
        !           209:       ivcomp = icon04
        !           210:       ivcorr = 587
        !           211:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           212:  5691 continue
        !           213:       ivtnum = 569
        !           214: c
        !           215: c      ****  test 569  ****
        !           216: c     test 569  -  test of an integer variable set to the integer
        !           217: c         constant  9999.
        !           218: c
        !           219: c
        !           220:       if (iczero) 35690, 5690, 35690
        !           221:  5690 continue
        !           222:       go to 45690
        !           223: 35690 ivdele = ivdele + 1
        !           224:       write (i02,80003) ivtnum
        !           225:       if (iczero) 45690, 5701, 45690
        !           226: 45690 if ( icon05 - 9999 )  25690, 15690, 25690
        !           227: 15690 ivpass = ivpass + 1
        !           228:       write (i02,80001) ivtnum
        !           229:       go to 5701
        !           230: 25690 ivfail = ivfail + 1
        !           231:       ivcomp = icon05
        !           232:       ivcorr = 9999
        !           233:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           234:  5701 continue
        !           235:       ivtnum = 570
        !           236: c
        !           237: c      ****  test 570  ****
        !           238: c     test 570  -  test of an integer variable set to the integer
        !           239: c         constant  32767.
        !           240: c
        !           241: c
        !           242:       if (iczero) 35700, 5700, 35700
        !           243:  5700 continue
        !           244:       go to 45700
        !           245: 35700 ivdele = ivdele + 1
        !           246:       write (i02,80003) ivtnum
        !           247:       if (iczero) 45700, 5711, 45700
        !           248: 45700 if ( icon06 - 32767 )  25700, 15700, 25700
        !           249: 15700 ivpass = ivpass + 1
        !           250:       write (i02,80001) ivtnum
        !           251:       go to 5711
        !           252: 25700 ivfail = ivfail + 1
        !           253:       ivcomp = icon06
        !           254:       ivcorr = 32767
        !           255:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           256:  5711 continue
        !           257:       ivtnum = 571
        !           258: c
        !           259: c      ****  test 571  ****
        !           260: c     test 571  -  test of an integer variable set to the integer
        !           261: c         constant -0.  note that signed zero and unsigned zero
        !           262: c         should be equal for any integer operation.
        !           263: c
        !           264: c
        !           265:       if (iczero) 35710, 5710, 35710
        !           266:  5710 continue
        !           267:       go to 45710
        !           268: 35710 ivdele = ivdele + 1
        !           269:       write (i02,80003) ivtnum
        !           270:       if (iczero) 45710, 5721, 45710
        !           271: 45710 if ( icon07 - 0 )  25710, 15710, 25710
        !           272: 15710 ivpass = ivpass + 1
        !           273:       write (i02,80001) ivtnum
        !           274:       go to 5721
        !           275: 25710 ivfail = ivfail + 1
        !           276:       ivcomp = icon07
        !           277:       ivcorr = -0
        !           278:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           279:  5721 continue
        !           280:       ivtnum = 572
        !           281: c
        !           282: c      ****  test 572  ****
        !           283: c     test 572  -  test of an integer variable set to the integer
        !           284: c         constant  (signed)  -32766.
        !           285: c
        !           286: c
        !           287:       if (iczero) 35720, 5720, 35720
        !           288:  5720 continue
        !           289:       go to 45720
        !           290: 35720 ivdele = ivdele + 1
        !           291:       write (i02,80003) ivtnum
        !           292:       if (iczero) 45720, 5731, 45720
        !           293: 45720 if ( icon08 + 32766 )  25720, 15720, 25720
        !           294: 15720 ivpass = ivpass + 1
        !           295:       write (i02,80001) ivtnum
        !           296:       go to 5731
        !           297: 25720 ivfail = ivfail + 1
        !           298:       ivcomp = icon08
        !           299:       ivcorr = -32766
        !           300:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           301:  5731 continue
        !           302:       ivtnum = 573
        !           303: c
        !           304: c      ****  test 573  ****
        !           305: c     test 573  -  test the effect of leading zero on an integer
        !           306: c         constant  00003.
        !           307: c
        !           308: c
        !           309:       if (iczero) 35730, 5730, 35730
        !           310:  5730 continue
        !           311:       go to 45730
        !           312: 35730 ivdele = ivdele + 1
        !           313:       write (i02,80003) ivtnum
        !           314:       if (iczero) 45730, 5741, 45730
        !           315: 45730 if ( icon09 - 3 )  25730, 15730, 25730
        !           316: 15730 ivpass = ivpass + 1
        !           317:       write (i02,80001) ivtnum
        !           318:       go to 5741
        !           319: 25730 ivfail = ivfail + 1
        !           320:       ivcomp = icon09
        !           321:       ivcorr = 3
        !           322:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           323:  5741 continue
        !           324:       ivtnum = 574
        !           325: c
        !           326: c      ****  test 574  ****
        !           327: c     test 574  -  test of blanks imbedded in an integer constant
        !           328: c         which was / 3 2 7 6 7/ in the data initialization statement.
        !           329: c
        !           330: c
        !           331:       if (iczero) 35740, 5740, 35740
        !           332:  5740 continue
        !           333:       go to 45740
        !           334: 35740 ivdele = ivdele + 1
        !           335:       write (i02,80003) ivtnum
        !           336:       if (iczero) 45740, 5751, 45740
        !           337: 45740 if ( icon10 - 32767 )  25740, 15740, 25740
        !           338: 15740 ivpass = ivpass + 1
        !           339:       write (i02,80001) ivtnum
        !           340:       go to 5751
        !           341: 25740 ivfail = ivfail + 1
        !           342:       ivcomp = icon10
        !           343:       ivcorr = 32767
        !           344:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           345:  5751 continue
        !           346:       ivtnum = 575
        !           347: c
        !           348: c      ****  test 575  ****
        !           349: c     test 575  -  test of a logical variable set to the logical
        !           350: c         constant  .true.
        !           351: c         true path of a logical if statement is used in the test.
        !           352: c
        !           353: c
        !           354:       if (iczero) 35750, 5750, 35750
        !           355:  5750 continue
        !           356:       ivon01 = 0
        !           357:       if ( lctn01 )  ivon01 = 1
        !           358:       go to 45750
        !           359: 35750 ivdele = ivdele + 1
        !           360:       write (i02,80003) ivtnum
        !           361:       if (iczero) 45750, 5761, 45750
        !           362: 45750 if ( ivon01 - 1 )  25750, 15750, 25750
        !           363: 15750 ivpass = ivpass + 1
        !           364:       write (i02,80001) ivtnum
        !           365:       go to 5761
        !           366: 25750 ivfail = ivfail + 1
        !           367:       ivcomp = ivon01
        !           368:       ivcorr = 1
        !           369:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           370:  5761 continue
        !           371:       ivtnum = 576
        !           372: c
        !           373: c      ****  test 576  ****
        !           374: c     test 576  -  test of a logical variable set to the logical
        !           375: c         constant .false.  the false path of a logical if statement
        !           376: c         is also used in the test.
        !           377: c
        !           378: c
        !           379:       if (iczero) 35760, 5760, 35760
        !           380:  5760 continue
        !           381:       ivon01 = 1
        !           382:       if ( lctn02 )  ivon01 = 0
        !           383:       go to 45760
        !           384: 35760 ivdele = ivdele + 1
        !           385:       write (i02,80003) ivtnum
        !           386:       if (iczero) 45760, 5771, 45760
        !           387: 45760 if ( ivon01 - 1 )  25760, 15760, 25760
        !           388: 15760 ivpass = ivpass + 1
        !           389:       write (i02,80001) ivtnum
        !           390:       go to 5771
        !           391: 25760 ivfail = ivfail + 1
        !           392:       ivcomp = ivon01
        !           393:       ivcorr = 1
        !           394:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           395:  5771 continue
        !           396:       ivtnum = 577
        !           397: c
        !           398: c      ****  test 577  ****
        !           399: c     test 577  -  real variable set to 0.
        !           400: c
        !           401: c
        !           402:       if (iczero) 35770, 5770, 35770
        !           403:  5770 continue
        !           404:       go to 45770
        !           405: 35770 ivdele = ivdele + 1
        !           406:       write (i02,80003) ivtnum
        !           407:       if (iczero) 45770, 5781, 45770
        !           408: 45770 if ( rcon01 - 0. )  25770, 15770, 25770
        !           409: 15770 ivpass = ivpass + 1
        !           410:       write (i02,80001) ivtnum
        !           411:       go to 5781
        !           412: 25770 ivfail = ivfail + 1
        !           413:       ivcomp = rcon01
        !           414:       ivcorr = 0
        !           415:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           416:  5781 continue
        !           417:       ivtnum = 578
        !           418: c
        !           419: c      ****  test 578  ****
        !           420: c     test 578  -  real variable set to  .0
        !           421: c
        !           422: c
        !           423:       if (iczero) 35780, 5780, 35780
        !           424:  5780 continue
        !           425:       go to 45780
        !           426: 35780 ivdele = ivdele + 1
        !           427:       write (i02,80003) ivtnum
        !           428:       if (iczero) 45780, 5791, 45780
        !           429: 45780 if ( rcon02 - .0 )  25780, 15780, 25780
        !           430: 15780 ivpass = ivpass + 1
        !           431:       write (i02,80001) ivtnum
        !           432:       go to 5791
        !           433: 25780 ivfail = ivfail + 1
        !           434:       ivcomp = rcon02
        !           435:       ivcorr = 0
        !           436:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           437:  5791 continue
        !           438:       ivtnum = 579
        !           439: c
        !           440: c      ****  test 579  ****
        !           441: c     test 579  -  real variable set to 0.0
        !           442: c
        !           443: c
        !           444:       if (iczero) 35790, 5790, 35790
        !           445:  5790 continue
        !           446:       go to 45790
        !           447: 35790 ivdele = ivdele + 1
        !           448:       write (i02,80003) ivtnum
        !           449:       if (iczero) 45790, 5801, 45790
        !           450: 45790 if ( rcon03 - 0.0 )  25790, 15790, 25790
        !           451: 15790 ivpass = ivpass + 1
        !           452:       write (i02,80001) ivtnum
        !           453:       go to 5801
        !           454: 25790 ivfail = ivfail + 1
        !           455:       ivcomp = rcon03
        !           456:       ivcorr = 0
        !           457:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           458:  5801 continue
        !           459:       ivtnum = 580
        !           460: c
        !           461: c      ****  test 580  ****
        !           462: c     test 580  -  real variable set to 32767.
        !           463: c
        !           464: c
        !           465:       if (iczero) 35800, 5800, 35800
        !           466:  5800 continue
        !           467:       go to 45800
        !           468: 35800 ivdele = ivdele + 1
        !           469:       write (i02,80003) ivtnum
        !           470:       if (iczero) 45800, 5811, 45800
        !           471: 45800 if ( rcon04 - 32767. )  25800, 15800, 25800
        !           472: 15800 ivpass = ivpass + 1
        !           473:       write (i02,80001) ivtnum
        !           474:       go to 5811
        !           475: 25800 ivfail = ivfail + 1
        !           476:       ivcomp = rcon04
        !           477:       ivcorr = 32767
        !           478:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           479:  5811 continue
        !           480:       ivtnum = 581
        !           481: c
        !           482: c      ****  test 581  ****
        !           483: c     test 581  -  real variable set to -32766.
        !           484: c
        !           485: c
        !           486:       if (iczero) 35810, 5810, 35810
        !           487:  5810 continue
        !           488:       go to 45810
        !           489: 35810 ivdele = ivdele + 1
        !           490:       write (i02,80003) ivtnum
        !           491:       if (iczero) 45810, 5821, 45810
        !           492: 45810 if ( rcon05 + 32766 )  25810, 15810, 25810
        !           493: 15810 ivpass = ivpass + 1
        !           494:       write (i02,80001) ivtnum
        !           495:       go to 5821
        !           496: 25810 ivfail = ivfail + 1
        !           497:       ivcomp = rcon05
        !           498:       ivcorr = -32766
        !           499:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           500:  5821 continue
        !           501:       ivtnum = 582
        !           502: c
        !           503: c      ****  test 582  ****
        !           504: c     test 582  -  real variable set to -000587.  test of leading sign
        !           505: c         and leading zeros on a real constant.
        !           506: c
        !           507: c
        !           508:       if (iczero) 35820, 5820, 35820
        !           509:  5820 continue
        !           510:       go to 45820
        !           511: 35820 ivdele = ivdele + 1
        !           512:       write (i02,80003) ivtnum
        !           513:       if (iczero) 45820, 5831, 45820
        !           514: 45820 if ( rcon06 + 587. )  25820, 15820, 25820
        !           515: 15820 ivpass = ivpass + 1
        !           516:       write (i02,80001) ivtnum
        !           517:       go to 5831
        !           518: 25820 ivfail = ivfail + 1
        !           519:       ivcomp = rcon06
        !           520:       ivcorr = -587
        !           521:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           522:  5831 continue
        !           523:       ivtnum = 583
        !           524: c
        !           525: c      ****  test 583  ****
        !           526: c     test 583  -  real variable set to 99.99
        !           527: c
        !           528: c
        !           529:       if (iczero) 35830, 5830, 35830
        !           530:  5830 continue
        !           531:       go to 45830
        !           532: 35830 ivdele = ivdele + 1
        !           533:       write (i02,80003) ivtnum
        !           534:       if (iczero) 45830, 5841, 45830
        !           535: 45830 if ( rcon07 - 99.99 )  25830, 15830, 25830
        !           536: 15830 ivpass = ivpass + 1
        !           537:       write (i02,80001) ivtnum
        !           538:       go to 5841
        !           539: 25830 ivfail = ivfail + 1
        !           540:       ivcomp = rcon07
        !           541:       ivcorr = 99
        !           542:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           543:  5841 continue
        !           544:       ivtnum = 584
        !           545: c
        !           546: c      ****  test 584  ****
        !           547: c     test 584  -  real variable set to /-03. 2  7 6   6/ to test
        !           548: c         the effect of blanks imbedded in a real constant.
        !           549: c
        !           550: c
        !           551:       if (iczero) 35840, 5840, 35840
        !           552:  5840 continue
        !           553:       go to 45840
        !           554: 35840 ivdele = ivdele + 1
        !           555:       write (i02,80003) ivtnum
        !           556:       if (iczero) 45840, 5851, 45840
        !           557: 45840 if ( rcon08 + 3.2766 )  25840, 15840, 25840
        !           558: 15840 ivpass = ivpass + 1
        !           559:       write (i02,80001) ivtnum
        !           560:       go to 5851
        !           561: 25840 ivfail = ivfail + 1
        !           562:       ivcomp = rcon08
        !           563:       ivcorr = -3
        !           564:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           565:  5851 continue
        !           566:       ivtnum = 585
        !           567: c
        !           568: c      ****  test 585  ****
        !           569: c     test 585  -  integer array element set to 3
        !           570: c
        !           571: c
        !           572:       if (iczero) 35850, 5850, 35850
        !           573:  5850 continue
        !           574:       go to 45850
        !           575: 35850 ivdele = ivdele + 1
        !           576:       write (i02,80003) ivtnum
        !           577:       if (iczero) 45850, 5861, 45850
        !           578: 45850 if ( iadn11(1) - 3 )  25850, 15850, 25850
        !           579: 15850 ivpass = ivpass + 1
        !           580:       write (i02,80001) ivtnum
        !           581:       go to 5861
        !           582: 25850 ivfail = ivfail + 1
        !           583:       ivcomp = iadn11(1)
        !           584:       ivcorr = 3
        !           585:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           586:  5861 continue
        !           587:       ivtnum = 586
        !           588: c
        !           589: c      ****  test 586  ****
        !           590: c     test 586  -  integer array element set to  32767
        !           591: c
        !           592: c
        !           593:       if (iczero) 35860, 5860, 35860
        !           594:  5860 continue
        !           595:       go to 45860
        !           596: 35860 ivdele = ivdele + 1
        !           597:       write (i02,80003) ivtnum
        !           598:       if (iczero) 45860, 5871, 45860
        !           599: 45860 if ( iadn11(2) - 32767 )  25860, 15860, 25860
        !           600: 15860 ivpass = ivpass + 1
        !           601:       write (i02,80001) ivtnum
        !           602:       go to 5871
        !           603: 25860 ivfail = ivfail + 1
        !           604:       ivcomp = iadn11(2)
        !           605:       ivcorr = 32767
        !           606:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           607:  5871 continue
        !           608:       ivtnum = 587
        !           609: c
        !           610: c      ****  test 587  ****
        !           611: c     test 587  -  integer array element set to -587
        !           612: c
        !           613: c
        !           614:       if (iczero) 35870, 5870, 35870
        !           615:  5870 continue
        !           616:       go to 45870
        !           617: 35870 ivdele = ivdele + 1
        !           618:       write (i02,80003) ivtnum
        !           619:       if (iczero) 45870, 5881, 45870
        !           620: 45870  if ( iadn11(3) + 587 )  25870, 15870, 25870
        !           621: 15870 ivpass = ivpass + 1
        !           622:       write (i02,80001) ivtnum
        !           623:       go to 5881
        !           624: 25870 ivfail = ivfail + 1
        !           625:       ivcomp = iadn11(3)
        !           626:       ivcorr = -587
        !           627:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           628:  5881 continue
        !           629:       ivtnum = 588
        !           630: c
        !           631: c      ****  test 588  ****
        !           632: c     test 588  -  test of the repeat field  /4*999/ in a data state.
        !           633: c
        !           634: c
        !           635:       if (iczero) 35880, 5880, 35880
        !           636:  5880 continue
        !           637:       go to 45880
        !           638: 35880 ivdele = ivdele + 1
        !           639:       write (i02,80003) ivtnum
        !           640:       if (iczero) 45880, 5891, 45880
        !           641: 45880 if ( iadn12(3) - 9999 )  25880, 15880, 25880
        !           642: 15880 ivpass = ivpass + 1
        !           643:       write (i02,80001) ivtnum
        !           644:       go to 5891
        !           645: 25880 ivfail = ivfail + 1
        !           646:       ivcomp = iadn12(3)
        !           647:       ivcorr = 9999
        !           648:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           649:  5891 continue
        !           650:       ivtnum = 589
        !           651: c
        !           652: c      ****  test 589  ****
        !           653: c     test 589  -  test of setting the whole integer array elements
        !           654: c         in one data initialization statement.  the first element
        !           655: c         is set to 0
        !           656: c
        !           657: c
        !           658:       if (iczero) 35890, 5890, 35890
        !           659:  5890 continue
        !           660:       go to 45890
        !           661: 35890 ivdele = ivdele + 1
        !           662:       write (i02,80003) ivtnum
        !           663:       if (iczero) 45890, 5901, 45890
        !           664: 45890 if ( iadn13(1) - 0 )  25890, 15890, 25890
        !           665: 15890 ivpass = ivpass + 1
        !           666:       write (i02,80001) ivtnum
        !           667:       go to 5901
        !           668: 25890 ivfail = ivfail + 1
        !           669:       ivcomp = iadn13(1)
        !           670:       ivcorr = 0
        !           671:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           672:  5901 continue
        !           673:       ivtnum = 590
        !           674: c
        !           675: c      ****  test 590  ****
        !           676: c     test 590  -  see test 589.  the second element was set to -32766
        !           677: c
        !           678: c
        !           679:       if (iczero) 35900, 5900, 35900
        !           680:  5900 continue
        !           681:       go to 45900
        !           682: 35900 ivdele = ivdele + 1
        !           683:       write (i02,80003) ivtnum
        !           684:       if (iczero) 45900, 5911, 45900
        !           685: 45900 if ( iadn13(2) + 32766 )  25900, 15900, 25900
        !           686: 15900 ivpass = ivpass + 1
        !           687:       write (i02,80001) ivtnum
        !           688:       go to 5911
        !           689: 25900 ivfail = ivfail + 1
        !           690:       ivcomp = iadn13(2)
        !           691:       ivcorr = -32766
        !           692:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           693:  5911 continue
        !           694:       ivtnum = 591
        !           695: c
        !           696: c      ****  test 591  ****
        !           697: c     test 591  -  see test 589.  the third element was set to -32766
        !           698: c
        !           699: c
        !           700:       if (iczero) 35910, 5910, 35910
        !           701:  5910 continue
        !           702:       go to 45910
        !           703: 35910 ivdele = ivdele + 1
        !           704:       write (i02,80003) ivtnum
        !           705:       if (iczero) 45910, 5921, 45910
        !           706: 45910 if ( iadn13(3) + 32766 )  25910, 15910, 25910
        !           707: 15910 ivpass = ivpass + 1
        !           708:       write (i02,80001) ivtnum
        !           709:       go to 5921
        !           710: 25910 ivfail = ivfail + 1
        !           711:       ivcomp = iadn13(3)
        !           712:       ivcorr = -32766
        !           713:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           714:  5921 continue
        !           715:       ivtnum = 592
        !           716: c
        !           717: c      ****  test 592  ****
        !           718: c     test 592  -  see test 589.  the fourth element was set to -587
        !           719: c
        !           720: c
        !           721:       if (iczero) 35920, 5920, 35920
        !           722:  5920 continue
        !           723:       go to 45920
        !           724: 35920 ivdele = ivdele + 1
        !           725:       write (i02,80003) ivtnum
        !           726:       if (iczero) 45920, 5931, 45920
        !           727: 45920 if ( iadn13(4) + 587 )  25920, 15920, 25920
        !           728: 15920 ivpass = ivpass + 1
        !           729:       write (i02,80001) ivtnum
        !           730:       go to 5931
        !           731: 25920 ivfail = ivfail + 1
        !           732:       ivcomp = iadn13(4)
        !           733:       ivcorr = -587
        !           734:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           735:  5931 continue
        !           736:       ivtnum = 593
        !           737: c
        !           738: c      ****  test 593  ****
        !           739: c     test 593  -  test of setting the whole logical array in one
        !           740: c         data initialization statement.  the first element is .true.
        !           741: c         the second and third elements are .false.
        !           742: c         the false path of a logical if statement is used  testing 2.
        !           743: c
        !           744: c
        !           745:       if (iczero) 35930, 5930, 35930
        !           746:  5930 continue
        !           747:       ivon01 = 1
        !           748:       if ( ladn11(2) )  ivon01 = 0
        !           749:       go to 45930
        !           750: 35930 ivdele = ivdele + 1
        !           751:       write (i02,80003) ivtnum
        !           752:       if (iczero) 45930, 5941, 45930
        !           753: 45930 if ( ivon01 - 1 )  25930, 15930, 25930
        !           754: 15930 ivpass = ivpass + 1
        !           755:       write (i02,80001) ivtnum
        !           756:       go to 5941
        !           757: 25930 ivfail = ivfail + 1
        !           758:       ivcomp = ivon01
        !           759:       ivcorr = 1
        !           760:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           761:  5941 continue
        !           762:       ivtnum = 594
        !           763: c
        !           764: c      ****  test 594  ****
        !           765: c     test 594  -  see test 593.  the fourth element is tested
        !           766: c         with the true path of the logical if statement.
        !           767: c
        !           768: c
        !           769:       if (iczero) 35940, 5940, 35940
        !           770:  5940 continue
        !           771:       ivon01 = 0
        !           772:       if ( ladn11(4) )  ivon01 = 1
        !           773:       go to 45940
        !           774: 35940 ivdele = ivdele + 1
        !           775:       write (i02,80003) ivtnum
        !           776:       if (iczero) 45940, 5951, 45940
        !           777: 45940 if ( ivon01 - 1 )  25940, 15940, 25940
        !           778: 15940 ivpass = ivpass + 1
        !           779:       write (i02,80001) ivtnum
        !           780:       go to 5951
        !           781: 25940 ivfail = ivfail + 1
        !           782:       ivcomp = ivon01
        !           783:       ivcorr = 1
        !           784:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           785:  5951 continue
        !           786:       ivtnum = 595
        !           787: c
        !           788: c      ****  test 595  ****
        !           789: c     test 595  -  a whole real array is set in one data initialization
        !           790: c         statement.  the second element is -32.766
        !           791: c
        !           792: c
        !           793:       if (iczero) 35950, 5950, 35950
        !           794:  5950 continue
        !           795:       go to 45950
        !           796: 35950 ivdele = ivdele + 1
        !           797:       write (i02,80003) ivtnum
        !           798:       if (iczero) 45950, 5961, 45950
        !           799: 45950 if ( radn11(2) + 32.766 )  25950, 15950, 25950
        !           800: 15950 ivpass = ivpass + 1
        !           801:       write (i02,80001) ivtnum
        !           802:       go to 5961
        !           803: 25950 ivfail = ivfail + 1
        !           804:       ivcomp = radn11(2)
        !           805:       ivcorr = -32
        !           806:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           807:  5961 continue
        !           808:       ivtnum = 596
        !           809: c
        !           810: c      ****  test 596  ****
        !           811: c     test 596  -  see test 595.  the fourth element is set to 587
        !           812: c         by a repeat field.
        !           813: c
        !           814: c
        !           815:       if (iczero) 35960, 5960, 35960
        !           816:  5960 continue
        !           817:       go to 45960
        !           818: 35960 ivdele = ivdele + 1
        !           819:       write (i02,80003) ivtnum
        !           820:       if (iczero) 45960, 5971, 45960
        !           821: 45960 if ( radn11(4) - 587 )  25960, 15960, 25960
        !           822: 15960 ivpass = ivpass + 1
        !           823:       write (i02,80001) ivtnum
        !           824:       go to 5971
        !           825: 25960 ivfail = ivfail + 1
        !           826:       ivcomp = radn11(4)
        !           827:       ivcorr = 587
        !           828:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           829:  5971 continue
        !           830:       ivtnum = 597
        !           831: c
        !           832: c      ****  test 597  ****
        !           833: c     test 597  -  test of mixed array element types in a single data
        !           834: c         initialization statement.  the type logical statement contains
        !           835: c         the array declarations.  the false path of a logical
        !           836: c         if statement tests the logical results.
        !           837: c
        !           838: c
        !           839:       if (iczero) 35970, 5970, 35970
        !           840:  5970 continue
        !           841:       ivon01 = 1
        !           842:       if ( latn11(2) )  ivon01 = 0
        !           843:       go to 45970
        !           844: 35970 ivdele = ivdele + 1
        !           845:       write (i02,80003) ivtnum
        !           846:       if (iczero) 45970, 5981, 45970
        !           847: 45970 if ( ivon01 - 1 )  25970, 15970, 25970
        !           848: 15970 ivpass = ivpass + 1
        !           849:       write (i02,80001) ivtnum
        !           850:       go to 5981
        !           851: 25970 ivfail = ivfail + 1
        !           852:       ivcomp = ivon01
        !           853:       ivcorr = 1
        !           854:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           855:  5981 continue
        !           856:       ivtnum = 598
        !           857: c
        !           858: c      ****  test 598  ****
        !           859: c     test 598  -  type of the data was set explicitly real in  the
        !           860: c         declarative for the array.  data should be set to 32767.
        !           861: c
        !           862: c
        !           863:       if (iczero) 35980, 5980, 35980
        !           864:  5980 continue
        !           865:       go to 45980
        !           866: 35980 ivdele = ivdele + 1
        !           867:       write (i02,80003) ivtnum
        !           868:       if (iczero) 45980, 5991, 45980
        !           869: 45980 if ( iatn11(2) - 32767. )  25980, 15980, 25980
        !           870: 15980 ivpass = ivpass + 1
        !           871:       write (i02,80001) ivtnum
        !           872:       go to 5991
        !           873: 25980 ivfail = ivfail + 1
        !           874:       ivcomp = iatn11(2)
        !           875:       ivcorr = 32767
        !           876:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           877:  5991 continue
        !           878:       ivtnum = 599
        !           879: c
        !           880: c      ****  test 599  ****
        !           881: c     test 599  -  type of the data was set explicitly integer in the
        !           882: c         declarative for the array.  data should be set to -32766
        !           883: c
        !           884: c
        !           885:       if (iczero) 35990, 5990, 35990
        !           886:  5990 continue
        !           887:       go to 45990
        !           888: 35990 ivdele = ivdele + 1
        !           889:       write (i02,80003) ivtnum
        !           890:       if (iczero) 45990, 6001, 45990
        !           891: 45990 if ( ratn11(2) + 32766 )  25990, 15990, 25990
        !           892: 15990 ivpass = ivpass + 1
        !           893:       write (i02,80001) ivtnum
        !           894:       go to 6001
        !           895: 25990 ivfail = ivfail + 1
        !           896:       ivcomp = ratn11(2)
        !           897:       ivcorr = -32766
        !           898:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           899:  6001 continue
        !           900:       ivtnum = 600
        !           901: c
        !           902: c      ****  test 600  ****
        !           903: c     test 600  -  test of real decimal constants using e-notation.
        !           904: c         see section 4.4.2.  the value of the element should
        !           905: c         be set to 32767.
        !           906: c
        !           907: c
        !           908:       if (iczero) 36000, 6000, 36000
        !           909:  6000 continue
        !           910:       go to 46000
        !           911: 36000 ivdele = ivdele + 1
        !           912:       write (i02,80003) ivtnum
        !           913:       if (iczero) 46000, 6011, 46000
        !           914: 46000 if ( radn13(1) - 32767. )  26000, 16000, 26000
        !           915: 16000 ivpass = ivpass + 1
        !           916:       write (i02,80001) ivtnum
        !           917:       go to 6011
        !           918: 26000 ivfail = ivfail + 1
        !           919:       ivcomp = radn13(1)
        !           920:       ivcorr = 32767
        !           921:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           922:  6011 continue
        !           923:       ivtnum = 601
        !           924: c
        !           925: c      ****  test 601  ****
        !           926: c     test 601  -  like test 600.  real decimal constant value -.32766
        !           927: c
        !           928: c
        !           929:       if (iczero) 36010, 6010, 36010
        !           930:  6010 continue
        !           931:       go to 46010
        !           932: 36010 ivdele = ivdele + 1
        !           933:       write (i02,80003) ivtnum
        !           934:       if (iczero) 46010, 6021, 46010
        !           935: 46010 if ( radn13(2) + .32766 )  26010, 16010, 26010
        !           936: 16010 ivpass = ivpass + 1
        !           937:       write (i02,80001) ivtnum
        !           938:       go to 6021
        !           939: 26010 ivfail = ivfail + 1
        !           940:       ivcomp = radn13(2)
        !           941:       ivcorr = 0
        !           942:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           943:  6021 continue
        !           944:       ivtnum = 602
        !           945: c
        !           946: c      ****  test 602  ****
        !           947: c     test 602  -  like test 600.  real decimal constant value  587.
        !           948: c
        !           949: c
        !           950:       if (iczero) 36020, 6020, 36020
        !           951:  6020 continue
        !           952:       go to 46020
        !           953: 36020 ivdele = ivdele + 1
        !           954:       write (i02,80003) ivtnum
        !           955:       if (iczero) 46020, 6031, 46020
        !           956: 46020 if ( radn13(3) - 587 )  26020, 16020, 26020
        !           957: 16020 ivpass = ivpass + 1
        !           958:       write (i02,80001) ivtnum
        !           959:       go to 6031
        !           960: 26020 ivfail = ivfail + 1
        !           961:       ivcomp = radn13(3)
        !           962:       ivcorr = 587
        !           963:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           964:  6031 continue
        !           965:       ivtnum = 603
        !           966: c
        !           967: c      ****  test 603  ****
        !           968: c     test 603  -  like test 600.  real decimal constant value 90.
        !           969: c
        !           970: c
        !           971:       if (iczero) 36030, 6030, 36030
        !           972:  6030 continue
        !           973:       go to 46030
        !           974: 36030 ivdele = ivdele + 1
        !           975:       write (i02,80003) ivtnum
        !           976:       if (iczero) 46030, 6041, 46030
        !           977: 46030 if ( radn13(4) - 90. )  26030, 16030, 26030
        !           978: 16030 ivpass = ivpass + 1
        !           979:       write (i02,80001) ivtnum
        !           980:       go to 6041
        !           981: 26030 ivfail = ivfail + 1
        !           982:       ivcomp = radn13(4)
        !           983:       ivcorr = 90
        !           984:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           985:  6041 continue
        !           986: c
        !           987: c     write page footings and run summaries
        !           988: 99999 continue
        !           989:       write (i02,90002)
        !           990:       write (i02,90006)
        !           991:       write (i02,90002)
        !           992:       write (i02,90002)
        !           993:       write (i02,90007)
        !           994:       write (i02,90002)
        !           995:       write (i02,90008)  ivfail
        !           996:       write (i02,90009) ivpass
        !           997:       write (i02,90010) ivdele
        !           998: c
        !           999: c
        !          1000: c     terminate routine execution
        !          1001:       stop
        !          1002: c
        !          1003: c     format statements for page headers
        !          1004: 90000 format (1h1)
        !          1005: 90002 format (1h )
        !          1006: 90001 format (1h ,10x,34hfortran compiler validation system)
        !          1007: 90003 format (1h ,21x,11hversion 1.0)
        !          1008: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !          1009: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !          1010: 90006 format (1h ,5x,46h----------------------------------------------)
        !          1011: 90011 format (1h ,18x,17hsubset level test)
        !          1012: c
        !          1013: c     format statements for run summaries
        !          1014: 90008 format (1h ,15x,i5,19h errors encountered)
        !          1015: 90009 format (1h ,15x,i5,13h tests passed)
        !          1016: 90010 format (1h ,15x,i5,14h tests deleted)
        !          1017: c
        !          1018: c     format statements for test results
        !          1019: 80001 format (1h ,4x,i5,7x,4hpass)
        !          1020: 80002 format (1h ,4x,i5,7x,4hfail)
        !          1021: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !          1022: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !          1023: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !          1024: c
        !          1025: 90007 format (1h ,20x,20hend of program fm021)
        !          1026:       end

unix.superglobalmegacorp.com

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