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

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm061
        !             4: c
        !             5: c          this routine tests arithmetic assignment statements of the
        !             6: c     form
        !             7: c                   integer variable = real constant
        !             8: c                   integer variable = real variable
        !             9: c                   real variable = integer variable
        !            10: c                   real variable = integer constant
        !            11: c
        !            12: c     the constants and variables contain both positive and negative
        !            13: c     values.
        !            14: c
        !            15: c           a real datum is a processor approximation to the value of a
        !            16: c     real number.  it may assume positive, negative and zero values.
        !            17: c
        !            18: c          a basic real constant is written as an integer part, a
        !            19: c     decimal point, and a decimal fraction part in that order.  both
        !            20: c     the integer part and the decimal part are strings of digits;
        !            21: c     either one of these strings may be empty but not both.  the
        !            22: c     constant is an approximation to the digit string interpreted as a
        !            23: c     decimal numeral.
        !            24: c
        !            25: c         a decimal exponent is written as the letter e, followed by an
        !            26: c     optionally signed integer constant.
        !            27: c
        !            28: c         a real constant is indicated by writing a basic real constant,
        !            29: c     a basic real constant followed by a decimal exponent, or an
        !            30: c     integer constant followed by a decimal exponent.
        !            31: c
        !            32: c      references
        !            33: c        american national standard programming language fortran,
        !            34: c              x3.9-1978
        !            35: c
        !            36: c        section 4.4, real type
        !            37: c        section 4.4.1, real constant
        !            38: c        section 6.1, arithmetic expressions
        !            39: c        section 6.6, evaluation of expressions
        !            40: c        section 10.1, arithmetic assignment statement
        !            41: c        section 11.4, arithmetic if statement
        !            42: c
        !            43: c      **********************************************************
        !            44: c
        !            45: c         a compiler validation system for the fortran language
        !            46: c     based on specifications as defined in american national standard
        !            47: c     programming language fortran x3.9-1978, has been developed by the
        !            48: c     federal cobol compiler testing service.  the fortran compiler
        !            49: c     validation system (fcvs) consists of audit routines, their related
        !            50: c     data, and an executive system.  each audit routine is a fortran
        !            51: c     program, subprogram or function which includes tests of specific
        !            52: c     language elements and supporting procedures indicating the result
        !            53: c     of executing these tests.
        !            54: c
        !            55: c         this particular program/subprogram/function contains features
        !            56: c     found only in the subset as defined in x3.9-1978.
        !            57: c
        !            58: c         suggestions and comments should be forwarded to -
        !            59: c
        !            60: c                  department of the navy
        !            61: c                  federal cobol compiler testing service
        !            62: c                  washington, d.c.  20376
        !            63: c
        !            64: c      **********************************************************
        !            65: c
        !            66: c
        !            67: c
        !            68: c     initialization section
        !            69: c
        !            70: c     initialize constants
        !            71: c      **************
        !            72: c     i01 contains the logical unit number for the card reader.
        !            73:       i01 = 5
        !            74: c     i02 contains the logical unit number for the printer.
        !            75:       i02 = 6
        !            76: c     system environment section
        !            77: c
        !            78: cx010    this card is replaced by contents of fexec x-010 control card.
        !            79: c     the cx010 card is for overriding the program default i01 = 5
        !            80: c     (unit number for card reader).
        !            81: cx011    this card is replaced by contents of fexec x-011 control card.
        !            82: c     the cx011 card is for systems which require additional
        !            83: c     fortran statements for files associated with cx010 above.
        !            84: c
        !            85: cx020    this card is replaced by contents of fexec x-020 control card.
        !            86: c     the cx020 card is for overriding the program default i02 = 6
        !            87: c     (unit number for printer).
        !            88: cx021    this card is replaced by contents of fexec x-021 control card.
        !            89: c     the cx021 card is for systems which require additional
        !            90: c     fortran statements for files associated with cx020 above.
        !            91: c
        !            92:       ivpass=0
        !            93:       ivfail=0
        !            94:       ivdele=0
        !            95:       iczero=0
        !            96: c
        !            97: c     write page headers
        !            98:       write (i02,90000)
        !            99:       write (i02,90001)
        !           100:       write (i02,90002)
        !           101:       write (i02, 90002)
        !           102:       write (i02,90003)
        !           103:       write (i02,90002)
        !           104:       write (i02,90004)
        !           105:       write (i02,90002)
        !           106:       write (i02,90011)
        !           107:       write (i02,90002)
        !           108:       write (i02,90002)
        !           109:       write (i02,90005)
        !           110:       write (i02,90006)
        !           111:       write (i02,90002)
        !           112: c
        !           113: c     test section
        !           114: c
        !           115: c     test 32 through test 42 contain arithmetic assignment
        !           116: c     statements of the form
        !           117: c
        !           118: c                   integer variable = real variable
        !           119: c
        !           120:       ivtnum =  32
        !           121: c
        !           122: c      ****  test  32  ****
        !           123: c
        !           124:       if (iczero) 30320,  320, 30320
        !           125:   320 continue
        !           126:       rvon01 = 44.5
        !           127:       ivcomp = rvon01
        !           128:       go to 40320
        !           129: 30320 ivdele = ivdele + 1
        !           130:       write (i02,80003) ivtnum
        !           131:       if (iczero) 40320,  331, 40320
        !           132: 40320 if (ivcomp - 44) 20320,10320,20320
        !           133: 10320 ivpass = ivpass + 1
        !           134:       write (i02,80001) ivtnum
        !           135:       go to  331
        !           136: 20320 ivfail = ivfail + 1
        !           137:       ivcorr = 44
        !           138:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           139:   331 continue
        !           140:       ivtnum =  33
        !           141: c
        !           142: c      ****  test  33  ****
        !           143: c
        !           144:       if (iczero) 30330,  330, 30330
        !           145:   330 continue
        !           146:       rvon01 = -2.0005
        !           147:       ivcomp = rvon01
        !           148:       go to 40330
        !           149: 30330 ivdele = ivdele + 1
        !           150:       write (i02,80003) ivtnum
        !           151:       if (iczero) 40330,  341, 40330
        !           152: 40330 if (ivcomp + 2) 20330,10330,20330
        !           153: 10330 ivpass = ivpass + 1
        !           154:       write (i02,80001) ivtnum
        !           155:       go to  341
        !           156: 20330 ivfail = ivfail + 1
        !           157:       ivcorr = -2
        !           158:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           159:   341 continue
        !           160:       ivtnum =  34
        !           161: c
        !           162: c      ****  test  34  ****
        !           163: c
        !           164:       if (iczero) 30340,  340, 30340
        !           165:   340 continue
        !           166:       rvon01 = .32767
        !           167:       ivcomp = rvon01
        !           168:       go to 40340
        !           169: 30340 ivdele = ivdele + 1
        !           170:       write (i02,80003) ivtnum
        !           171:       if (iczero) 40340,  351, 40340
        !           172: 40340 if (ivcomp) 20340,10340,20340
        !           173: 10340 ivpass = ivpass + 1
        !           174:       write (i02,80001) ivtnum
        !           175:       go to  351
        !           176: 20340 ivfail = ivfail + 1
        !           177:       ivcorr = 0
        !           178:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           179:   351 continue
        !           180:       ivtnum =  35
        !           181: c
        !           182: c      ****  test  35  ****
        !           183: c
        !           184:       if (iczero) 30350,  350, 30350
        !           185:   350 continue
        !           186:       rvon01 = 1.999
        !           187:       ivcomp = rvon01
        !           188:       go to 40350
        !           189: 30350 ivdele = ivdele + 1
        !           190:       write (i02,80003) ivtnum
        !           191:       if (iczero) 40350,  361, 40350
        !           192: 40350 if (ivcomp - 1) 20350,10350,20350
        !           193: 10350 ivpass = ivpass + 1
        !           194:       write (i02,80001) ivtnum
        !           195:       go to  361
        !           196: 20350 ivfail = ivfail + 1
        !           197:       ivcorr = 1
        !           198:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           199:   361 continue
        !           200:       ivtnum =  36
        !           201: c
        !           202: c      ****  test  36  ****
        !           203: c
        !           204:       if (iczero) 30360,  360, 30360
        !           205:   360 continue
        !           206:       rvon01 = .25e+1
        !           207:       ivcomp = rvon01
        !           208:       go to 40360
        !           209: 30360 ivdele = ivdele + 1
        !           210:       write (i02,80003) ivtnum
        !           211:       if (iczero) 40360,  371, 40360
        !           212: 40360 if (ivcomp - 2) 20360,10360,20360
        !           213: 10360 ivpass = ivpass + 1
        !           214:       write (i02,80001) ivtnum
        !           215:       go to  371
        !           216: 20360 ivfail = ivfail + 1
        !           217:       ivcorr = 2
        !           218:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           219:   371 continue
        !           220:       ivtnum =  37
        !           221: c
        !           222: c      ****  test  37  ****
        !           223: c
        !           224:       if (iczero) 30370,  370, 30370
        !           225:   370 continue
        !           226:       rvon01 = 445.0e-01
        !           227:       ivcomp = rvon01
        !           228:       go to 40370
        !           229: 30370 ivdele = ivdele + 1
        !           230:       write (i02,80003) ivtnum
        !           231:       if (iczero) 40370,  381, 40370
        !           232: 40370 if (ivcomp - 44) 20370,10370,20370
        !           233: 10370 ivpass = ivpass + 1
        !           234:       write (i02,80001) ivtnum
        !           235:       go to  381
        !           236: 20370 ivfail = ivfail + 1
        !           237:       ivcorr = 44
        !           238:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           239:   381 continue
        !           240:       ivtnum =  38
        !           241: c
        !           242: c      ****  test  38  ****
        !           243: c
        !           244:       if (iczero) 30380,  380, 30380
        !           245:   380 continue
        !           246:       rvon01 = -651.1e-0
        !           247:       ivcomp = rvon01
        !           248:       go to 40380
        !           249: 30380 ivdele = ivdele + 1
        !           250:       write (i02,80003) ivtnum
        !           251:       if (iczero) 40380,  391, 40380
        !           252: 40380 if (ivcomp + 651) 20380,10380,20380
        !           253: 10380 ivpass = ivpass + 1
        !           254:       write (i02,80001) ivtnum
        !           255:       go to  391
        !           256: 20380 ivfail = ivfail + 1
        !           257:       ivcorr = -651
        !           258:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           259:   391 continue
        !           260:       ivtnum =  39
        !           261: c
        !           262: c      ****  test  39  ****
        !           263: c
        !           264:       if (iczero) 30390,  390, 30390
        !           265:   390 continue
        !           266:       rvon01 = .3266e4
        !           267:       ivcomp = rvon01
        !           268:       go to 40390
        !           269: 30390 ivdele = ivdele + 1
        !           270:       write (i02,80003) ivtnum
        !           271:       if (iczero) 40390,  401, 40390
        !           272: 40390 if (ivcomp - 3266) 20390,10390,20390
        !           273: 10390 ivpass = ivpass + 1
        !           274:       write (i02,80001) ivtnum
        !           275:       go to  401
        !           276: 20390 ivfail = ivfail + 1
        !           277:       ivcorr = 3266
        !           278:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           279:   401 continue
        !           280:       ivtnum =  40
        !           281: c
        !           282: c      ****  test  40  ****
        !           283: c
        !           284:       if (iczero) 30400,  400, 30400
        !           285:   400 continue
        !           286:       rvon01 = 35.43e-01
        !           287:       ivcomp = rvon01
        !           288:       go to 40400
        !           289: 30400 ivdele = ivdele + 1
        !           290:       write (i02,80003) ivtnum
        !           291:       if (iczero) 40400,  411, 40400
        !           292: 40400 if (ivcomp - 3) 20400,10400,20400
        !           293: 10400 ivpass = ivpass + 1
        !           294:       write (i02,80001) ivtnum
        !           295:       go to  411
        !           296: 20400 ivfail = ivfail + 1
        !           297:       ivcorr = 3
        !           298:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           299:   411 continue
        !           300:       ivtnum =  41
        !           301: c
        !           302: c      ****  test  41  ****
        !           303: c
        !           304:       if (iczero) 30410,  410, 30410
        !           305:   410 continue
        !           306:       rvon01 = -7.001e2
        !           307:       ivcomp = rvon01
        !           308:       go to 40410
        !           309: 30410 ivdele = ivdele + 1
        !           310:       write (i02,80003) ivtnum
        !           311:       if (iczero) 40410,  421, 40410
        !           312: 40410 if (ivcomp + 700) 20410,10410,20410
        !           313: 10410 ivpass = ivpass + 1
        !           314:       write (i02,80001) ivtnum
        !           315:       go to  421
        !           316: 20410 ivfail = ivfail + 1
        !           317:       ivcorr = -700
        !           318:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           319:   421 continue
        !           320:       ivtnum =  42
        !           321: c
        !           322: c      ****  test  42  ****
        !           323: c
        !           324:       if (iczero) 30420,  420, 30420
        !           325:   420 continue
        !           326:       rvon01 = 4.45e-02
        !           327:       ivcomp = rvon01
        !           328:       go to 40420
        !           329: 30420 ivdele = ivdele + 1
        !           330:       write (i02,80003) ivtnum
        !           331:       if (iczero) 40420,  431, 40420
        !           332: 40420 if (ivcomp) 20420,10420,20420
        !           333: 10420 ivpass = ivpass + 1
        !           334:       write (i02,80001) ivtnum
        !           335:       go to  431
        !           336: 20420 ivfail = ivfail + 1
        !           337:       ivcorr = 0
        !           338:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           339: c     test 43 through test 48 contain arithmetic assignment
        !           340: c     statements of the form
        !           341: c
        !           342: c                   real variable = integer variable
        !           343: c
        !           344:   431 continue
        !           345:       ivtnum =  43
        !           346: c
        !           347: c      ****  test  43  ****
        !           348: c
        !           349:       if (iczero) 30430,  430, 30430
        !           350:   430 continue
        !           351:       ivon01 = 2
        !           352:       rvcomp = ivon01
        !           353:       go to 40430
        !           354: 30430 ivdele = ivdele + 1
        !           355:       write (i02,80003) ivtnum
        !           356:       if (iczero) 40430,  441, 40430
        !           357: 40430 if (rvcomp - 1.9995) 20430,10430,40431
        !           358: 40431 if (rvcomp - 2.0005) 10430,10430,20430
        !           359: 10430 ivpass = ivpass + 1
        !           360:       write (i02,80001) ivtnum
        !           361:       go to  441
        !           362: 20430 ivfail = ivfail + 1
        !           363:       rvcorr = 2.0000
        !           364:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           365:   441 continue
        !           366:       ivtnum =  44
        !           367: c
        !           368: c      ****  test  44  ****
        !           369: c
        !           370:       if (iczero) 30440,  440, 30440
        !           371:   440 continue
        !           372:       ivon01 = 25
        !           373:       rvcomp = ivon01
        !           374:       go to 40440
        !           375: 30440 ivdele = ivdele + 1
        !           376:       write (i02,80003) ivtnum
        !           377:       if (iczero) 40440,  451, 40440
        !           378: 40440 if (rvcomp - 24.995) 20440,10440,40441
        !           379: 40441 if (rvcomp - 25.005) 10440,10440,20440
        !           380: 10440 ivpass = ivpass + 1
        !           381:       write (i02,80001) ivtnum
        !           382:       go to  451
        !           383: 20440 ivfail = ivfail + 1
        !           384:       rvcorr = 25.000
        !           385:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           386:   451 continue
        !           387:       ivtnum =  45
        !           388: c
        !           389: c      ****  test  45  ****
        !           390: c
        !           391:       if (iczero) 30450,  450, 30450
        !           392:   450 continue
        !           393:       ivon01 = 357
        !           394:       rvcomp = ivon01
        !           395:       go to 40450
        !           396: 30450 ivdele = ivdele + 1
        !           397:       write (i02,80003) ivtnum
        !           398:       if (iczero) 40450,  461, 40450
        !           399: 40450 if (rvcomp - 356.95) 20450,10450,40451
        !           400: 40451 if (rvcomp - 357.05) 10450,10450,20450
        !           401: 10450 ivpass = ivpass + 1
        !           402:       write (i02,80001) ivtnum
        !           403:       go to  461
        !           404: 20450 ivfail = ivfail + 1
        !           405:       rvcorr = 357.00
        !           406:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           407:   461 continue
        !           408:       ivtnum =  46
        !           409: c
        !           410: c      ****  test  46  ****
        !           411: c
        !           412:       if (iczero) 30460,  460, 30460
        !           413:   460 continue
        !           414:       ivon01 = 4968
        !           415:       rvcomp = ivon01
        !           416:       go to 40460
        !           417: 30460 ivdele = ivdele + 1
        !           418:       write (i02,80003) ivtnum
        !           419:       if (iczero) 40460,  471, 40460
        !           420: 40460 if (rvcomp - 4967.5) 20460,10460,40461
        !           421: 40461 if (rvcomp - 4968.5) 10460,10460,20460
        !           422: 10460 ivpass = ivpass + 1
        !           423:       write (i02,80001) ivtnum
        !           424:       go to  471
        !           425: 20460 ivfail = ivfail + 1
        !           426:       rvcorr = 4968.0
        !           427:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           428:   471 continue
        !           429:       ivtnum =  47
        !           430: c
        !           431: c      ****  test  47  ****
        !           432: c
        !           433:       if (iczero) 30470,  470, 30470
        !           434:   470 continue
        !           435:       ivon01 = 32767
        !           436:       rvcomp = ivon01
        !           437:       go to 40470
        !           438: 30470 ivdele = ivdele + 1
        !           439:       write (i02,80003) ivtnum
        !           440:       if (iczero) 40470,  481, 40470
        !           441: 40470 if (rvcomp - 32762.) 20470,10470,40471
        !           442: 40471 if (rvcomp - 32772.) 10470,10470,20470
        !           443: 10470 ivpass = ivpass + 1
        !           444:       write (i02,80001) ivtnum
        !           445:       go to  481
        !           446: 20470 ivfail = ivfail + 1
        !           447:       rvcorr = 32767.
        !           448:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           449:   481 continue
        !           450:       ivtnum =  48
        !           451: c
        !           452: c      ****  test  48  ****
        !           453: c
        !           454:       if (iczero) 30480,  480, 30480
        !           455:   480 continue
        !           456:       ivon01 = -2
        !           457:       rvcomp = ivon01
        !           458:       go to 40480
        !           459: 30480 ivdele = ivdele + 1
        !           460:       write (i02,80003) ivtnum
        !           461:       if (iczero) 40480,  491, 40480
        !           462: 40480 if (rvcomp + 2.0005) 20480,10480,40481
        !           463: 40481 if (rvcomp + 1.9995) 10480,10480,20450
        !           464: 10480 ivpass = ivpass + 1
        !           465:       write (i02,80001) ivtnum
        !           466:       go to  491
        !           467: 20480 ivfail = ivfail + 1
        !           468:       rvcorr = -2.0000
        !           469:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           470: c
        !           471: c     test 49 through test 51 contain arithmetic assignment statements
        !           472: c     of the form
        !           473: c                   integer variable = real constant
        !           474: c     where constant is basic real constant
        !           475: c
        !           476:   491 continue
        !           477:       ivtnum =  49
        !           478: c
        !           479: c      ****  test  49  ****
        !           480: c
        !           481:       if (iczero) 30490,  490, 30490
        !           482:   490 continue
        !           483:       ivcomp = 44.5
        !           484:       go to 40490
        !           485: 30490 ivdele = ivdele + 1
        !           486:       write (i02,80003) ivtnum
        !           487:       if (iczero) 40490,  501, 40490
        !           488: 40490 if (ivcomp - 44) 20490,10490,20490
        !           489: 10490 ivpass = ivpass + 1
        !           490:       write (i02,80001) ivtnum
        !           491:       go to  501
        !           492: 20490 ivfail = ivfail + 1
        !           493:       ivcorr = 44
        !           494:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           495:   501 continue
        !           496:       ivtnum =  50
        !           497: c
        !           498: c      ****  test  50  ****
        !           499: c
        !           500:       if (iczero) 30500,  500, 30500
        !           501:   500 continue
        !           502:       ivcomp = 6500.1
        !           503:       go to 40500
        !           504: 30500 ivdele = ivdele + 1
        !           505:       write (i02,80003) ivtnum
        !           506:       if (iczero) 40500,  511, 40500
        !           507: 40500 if (ivcomp - 6500)  20500,10500,20500
        !           508: 10500 ivpass = ivpass + 1
        !           509:       write (i02,80001) ivtnum
        !           510:       go to  511
        !           511: 20500 ivfail = ivfail + 1
        !           512:       ivcorr = 6500
        !           513:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           514:   511 continue
        !           515:       ivtnum =  51
        !           516: c
        !           517: c      ****  test  51  ****
        !           518: c
        !           519:       if (iczero) 30510,  510, 30510
        !           520:   510 continue
        !           521:       ivcomp = -.33333
        !           522:       go to 40510
        !           523: 30510 ivdele = ivdele + 1
        !           524:       write (i02,80003) ivtnum
        !           525:       if (iczero) 40510,  521, 40510
        !           526: 40510 if (ivcomp) 20510,10510,20510
        !           527: 10510 ivpass = ivpass + 1
        !           528:       write (i02,80001) ivtnum
        !           529:       go to  521
        !           530: 20510 ivfail = ivfail + 1
        !           531:       ivcorr = 0
        !           532:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           533: c
        !           534: c     test 52 through test 55 contain arithmetic assignment statements
        !           535: c     of the form
        !           536: c                   integer variable = real constant
        !           537: c
        !           538: c     where constant is basic real constant followed by decimal exponent
        !           539: c
        !           540:   521 continue
        !           541:       ivtnum =  52
        !           542: c
        !           543: c      ****  test  52  ****
        !           544: c
        !           545:       if (iczero) 30520,  520, 30520
        !           546:   520 continue
        !           547:       ivcomp = .21e+1
        !           548:       go to 40520
        !           549: 30520 ivdele = ivdele + 1
        !           550:       write (i02,80003) ivtnum
        !           551:       if (iczero) 40520,  531, 40520
        !           552: 40520 if (ivcomp - 2) 20520,10520,20520
        !           553: 10520 ivpass = ivpass + 1
        !           554:       write (i02,80001) ivtnum
        !           555:       go to  531
        !           556: 20520 ivfail = ivfail + 1
        !           557:       ivcorr = 2
        !           558:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           559:   531 continue
        !           560:       ivtnum =  53
        !           561: c
        !           562: c      ****  test  53  ****
        !           563: c
        !           564:       if (iczero) 30530,  530, 30530
        !           565:   530 continue
        !           566:       ivcomp = 445.0e-01
        !           567:       go to 40530
        !           568: 30530 ivdele = ivdele + 1
        !           569:       write (i02,80003) ivtnum
        !           570:       if (iczero) 40530,  541, 40530
        !           571: 40530 if (ivcomp - 44) 20530,10530,20530
        !           572: 10530 ivpass = ivpass + 1
        !           573:       write (i02,80001) ivtnum
        !           574:       go to  541
        !           575: 20530 ivfail = ivfail + 1
        !           576:       ivcorr = 44
        !           577:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           578:   541 continue
        !           579:       ivtnum =  54
        !           580: c
        !           581: c      ****  test  54  ****
        !           582: c
        !           583:       if (iczero) 30540,  540, 30540
        !           584:   540 continue
        !           585:       ivcomp = 4.450e1
        !           586:       go to 40540
        !           587: 30540 ivdele = ivdele + 1
        !           588:       write (i02,80003) ivtnum
        !           589:       if (iczero) 40540,  551, 40540
        !           590: 40540 if (ivcomp - 44) 20540,10540,20540
        !           591: 10540 ivpass = ivpass + 1
        !           592:       write (i02,80001) ivtnum
        !           593:       go to  551
        !           594: 20540 ivfail = ivfail + 1
        !           595:       ivcorr = 44
        !           596:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           597:   551 continue
        !           598:       ivtnum =  55
        !           599: c
        !           600: c      ****  test  55  ****
        !           601: c
        !           602:       if (iczero) 30550,  550, 30550
        !           603:   550 continue
        !           604:       ivcomp = -4.45e0
        !           605:       go to 40550
        !           606: 30550 ivdele = ivdele + 1
        !           607:       write (i02,80003) ivtnum
        !           608:       if (iczero) 40550,  561, 40550
        !           609: 40550 if (ivcomp + 4) 20550,10550,20550
        !           610: 10550 ivpass = ivpass + 1
        !           611:       write (i02,80001) ivtnum
        !           612:       go to  561
        !           613: 20550 ivfail = ivfail + 1
        !           614:       ivcorr = -4
        !           615:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           616: c
        !           617: c     test 56 and 57 contain arithmetic assignment statements of the
        !           618: c     form          integer variable = real constant
        !           619: c     where constant is integer constant followed by decimal exponent
        !           620: c
        !           621:   561 continue
        !           622:       ivtnum =  56
        !           623: c
        !           624: c      ****  test  56  ****
        !           625: c
        !           626:       if (iczero) 30560,  560, 30560
        !           627:   560 continue
        !           628:       ivcomp = 445e-02
        !           629:       go to 40560
        !           630: 30560 ivdele = ivdele + 1
        !           631:       write (i02,80003) ivtnum
        !           632:       if (iczero) 40560,  571, 40560
        !           633: 40560 if (ivcomp - 4) 20560,10560,20560
        !           634: 10560 ivpass = ivpass + 1
        !           635:       write (i02,80001) ivtnum
        !           636:       go to  571
        !           637: 20560 ivfail = ivfail + 1
        !           638:       ivcorr = 4
        !           639:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           640:   571 continue
        !           641:       ivtnum =  57
        !           642: c
        !           643: c      ****  test  57  ****
        !           644: c
        !           645:       if (iczero) 30570,  570, 30570
        !           646:   570 continue
        !           647:       ivcomp = -701e-1
        !           648:       go to 40570
        !           649: 30570 ivdele = ivdele + 1
        !           650:       write (i02,80003) ivtnum
        !           651:       if (iczero) 40570,  581, 40570
        !           652: 40570 if (ivcomp + 70) 20570,10570,20570
        !           653: 10570 ivpass = ivpass + 1
        !           654:       write (i02,80001) ivtnum
        !           655:       go to  581
        !           656: 20570 ivfail = ivfail + 1
        !           657:       ivcorr = -70
        !           658:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           659: c
        !           660: c     test 58 through test 62 contain arithmetic assignment statements
        !           661: c     of the form   real variable = integer constant
        !           662: c
        !           663:   581 continue
        !           664:       ivtnum =  58
        !           665: c
        !           666: c      ****  test  58  ****
        !           667: c
        !           668:       if (iczero) 30580,  580, 30580
        !           669:   580 continue
        !           670:       rvcomp = 23
        !           671:       go to 40580
        !           672: 30580 ivdele = ivdele + 1
        !           673:       write (i02,80003) ivtnum
        !           674:       if (iczero) 40580,  591, 40580
        !           675: 40580 if (rvcomp - 22.995) 20580,10580,40581
        !           676: 40581 if (rvcomp - 23.005) 10580,10580,20580
        !           677: 10580 ivpass = ivpass + 1
        !           678:       write (i02,80001) ivtnum
        !           679:       go to  591
        !           680: 20580 ivfail = ivfail + 1
        !           681:       rvcorr = 23.000
        !           682:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           683:   591 continue
        !           684:       ivtnum =  59
        !           685: c
        !           686: c      ****  test  59  ****
        !           687: c
        !           688:       if (iczero) 30590,  590, 30590
        !           689:   590 continue
        !           690:       rvcomp = 32645
        !           691:       go to 40590
        !           692: 30590 ivdele = ivdele + 1
        !           693:       write (i02,80003) ivtnum
        !           694:       if (iczero) 40590,  601, 40590
        !           695: 40590 if (rvcomp - 32640.) 20590,10590,40591
        !           696: 40591 if (rvcomp - 32650.) 10590,10590,20590
        !           697: 10590 ivpass = ivpass + 1
        !           698:       write (i02,80001) ivtnum
        !           699:       go to  601
        !           700: 20590 ivfail = ivfail + 1
        !           701:       rvcorr = 32645.
        !           702:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           703:   601 continue
        !           704:       ivtnum =  60
        !           705: c
        !           706: c      ****  test  60  ****
        !           707: c
        !           708:       if (iczero) 30600,  600, 30600
        !           709:   600 continue
        !           710:       rvcomp = 0
        !           711:       go to 40600
        !           712: 30600 ivdele = ivdele + 1
        !           713:       write (i02,80003) ivtnum
        !           714:       if (iczero) 40600,  611, 40600
        !           715: 40600 if (rvcomp) 20600,10600,20600
        !           716: 10600 ivpass = ivpass + 1
        !           717:       write (i02,80001) ivtnum
        !           718:       go to  611
        !           719: 20600 ivfail = ivfail + 1
        !           720:       rvcorr = 00000.
        !           721:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           722:   611 continue
        !           723:       ivtnum =  61
        !           724: c
        !           725: c      ****  test  61  ****
        !           726: c
        !           727:       if (iczero) 30610,  610, 30610
        !           728:   610 continue
        !           729:       rvcomp = -15
        !           730:       go to 40610
        !           731: 30610 ivdele = ivdele + 1
        !           732:       write (i02,80003) ivtnum
        !           733:       if (iczero) 40610,  621, 40610
        !           734: 40610 if (rvcomp -14.995) 40611,10610,20610
        !           735: 40611 if (rvcomp + 15.005) 20610,10610,10610
        !           736: 10610 ivpass = ivpass + 1
        !           737:       write (i02,80001) ivtnum
        !           738:       go to  621
        !           739: 20610 ivfail = ivfail + 1
        !           740:       rvcorr = -15.000
        !           741:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           742:   621 continue
        !           743: c
        !           744: c      ****    end of tests    ****
        !           745: c
        !           746: c
        !           747: c     write page footings and run summaries
        !           748: 99999 continue
        !           749:       write (i02,90002)
        !           750:       write (i02,90006)
        !           751:       write (i02,90002)
        !           752:       write (i02,90002)
        !           753:       write (i02,90007)
        !           754:       write (i02,90002)
        !           755:       write (i02,90008)  ivfail
        !           756:       write (i02,90009) ivpass
        !           757:       write (i02,90010) ivdele
        !           758: c
        !           759: c
        !           760: c     terminate routine execution
        !           761:       stop
        !           762: c
        !           763: c     format statements for page headers
        !           764: 90000 format (1h1)
        !           765: 90002 format (1h )
        !           766: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           767: 90003 format (1h ,21x,11hversion 1.0)
        !           768: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           769: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           770: 90006 format (1h ,5x,46h----------------------------------------------)
        !           771: 90011 format (1h ,18x,17hsubset level test)
        !           772: c
        !           773: c     format statements for run summaries
        !           774: 90008 format (1h ,15x,i5,19h errors encountered)
        !           775: 90009 format (1h ,15x,i5,13h tests passed)
        !           776: 90010 format (1h ,15x,i5,14h tests deleted)
        !           777: c
        !           778: c     format statements for test results
        !           779: 80001 format (1h ,4x,i5,7x,4hpass)
        !           780: 80002 format (1h ,4x,i5,7x,4hfail)
        !           781: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           782: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           783: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           784: c
        !           785: 90007 format (1h ,20x,20hend of program fm061)
        !           786:       end

unix.superglobalmegacorp.com

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