Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm039.f, revision 1.1.1.1

1.1       root        1: c     comment section
                      2: c
                      3: c        fm039
                      4: c
                      5: c         this routine tests arithmetic assignment statements of the
                      6: c     form          integer variable = arithmetic expression
                      7: c     where the arithmetic expression is formed with the arithmetic
                      8: c     operator /, integer constants and an integer variable.  both
                      9: c     positive and negative values are used for the integer constants
                     10: c     and the integer variable.
                     11: c
                     12: c         there are tests which require no truncation of the result
                     13: c     and tests where the result must be truncated before being stored
                     14: c     in the resultant integer variable.  some of the tests use parens
                     15: c     to group elements in the arithmetic expression.
                     16: c
                     17: c         there are tests where the arithmetic expression contains
                     18: c             (1) integer variable/integer constant/integer constant
                     19: c                 integer constant/integer variable/integer constant
                     20: c                 integer constant/integer constant/integer variable
                     21: c             (2) same as (1) but with parentheses to group elements
                     22: c                   in the arithmetic expression.
                     23: c
                     24: c      references
                     25: c        american national standard programming language fortran,
                     26: c              x3.9-1978
                     27: c
                     28: c        section 4.3, integer type
                     29: c        section 4.3.1, integer constant
                     30: c        section 6.1, arithmetic expressions
                     31: c        section 6.6, evaluation of expressions
                     32: c        section 10.1, arithmetic assignment statement
                     33: c
                     34: c      **********************************************************
                     35: c
                     36: c         a compiler validation system for the fortran language
                     37: c     based on specifications as defined in american national standard
                     38: c     programming language fortran x3.9-1978, has been developed by the
                     39: c     federal cobol compiler testing service.  the fortran compiler
                     40: c     validation system (fcvs) consists of audit routines, their related
                     41: c     data, and an executive system.  each audit routine is a fortran
                     42: c     program, subprogram or function which includes tests of specific
                     43: c     language elements and supporting procedures indicating the result
                     44: c     of executing these tests.
                     45: c
                     46: c         this particular program/subprogram/function contains features
                     47: c     found only in the subset as defined in x3.9-1978.
                     48: c
                     49: c         suggestions and comments should be forwarded to -
                     50: c
                     51: c                  department of the navy
                     52: c                  federal cobol compiler testing service
                     53: c                  washington, d.c.  20376
                     54: c
                     55: c      **********************************************************
                     56: c
                     57: c
                     58: c
                     59: c     initialization section
                     60: c
                     61: c     initialize constants
                     62: c      **************
                     63: c     i01 contains the logical unit number for the card reader.
                     64:       i01 = 5
                     65: c     i02 contains the logical unit number for the printer.
                     66:       i02 = 6
                     67: c     system environment section
                     68: c
                     69: cx010    this card is replaced by contents of fexec x-010 control card.
                     70: c     the cx010 card is for overriding the program default i01 = 5
                     71: c     (unit number for card reader).
                     72: cx011    this card is replaced by contents of fexec x-011 control card.
                     73: c     the cx011 card is for systems which require additional
                     74: c     fortran statements for files associated with cx010 above.
                     75: c
                     76: cx020    this card is replaced by contents of fexec x-020 control card.
                     77: c     the cx020 card is for overriding the program default i02 = 6
                     78: c     (unit number for printer).
                     79: cx021    this card is replaced by contents of fexec x-021 control card.
                     80: c     the cx021 card is for systems which require additional
                     81: c     fortran statements for files associated with cx020 above.
                     82: c
                     83:       ivpass=0
                     84:       ivfail=0
                     85:       ivdele=0
                     86:       iczero=0
                     87: c
                     88: c     write page headers
                     89:       write (i02,90000)
                     90:       write (i02,90001)
                     91:       write (i02,90002)
                     92:       write (i02, 90002)
                     93:       write (i02,90003)
                     94:       write (i02,90002)
                     95:       write (i02,90004)
                     96:       write (i02,90002)
                     97:       write (i02,90011)
                     98:       write (i02,90002)
                     99:       write (i02,90002)
                    100:       write (i02,90005)
                    101:       write (i02,90006)
                    102:       write (i02,90002)
                    103: c
                    104: c     test section
                    105: c
                    106: c         arithmetic assignment statement
                    107: c
                    108: c     test 552 through test 557 contain arithmetic assignment statements
                    109: c     of the form             iv = iv/ic/ic.
                    110: c
                    111:  5521 continue
                    112:       ivtnum = 552
                    113: c
                    114: c      ****  test 552  ****
                    115: c
                    116:       if (iczero) 35520, 5520, 35520
                    117:  5520 continue
                    118:       ivon01 = 24
                    119:       ivcomp = ivon01/3/4
                    120:       go to 45520
                    121: 35520 ivdele = ivdele + 1
                    122:       write (i02,80003) ivtnum
                    123:       if (iczero) 45520, 5531, 45520
                    124: 45520 if (ivcomp - 2) 25520,15520,25520
                    125: 15520 ivpass = ivpass + 1
                    126:       write (i02,80001) ivtnum
                    127:       go to 5531
                    128: 25520 ivfail = ivfail + 1
                    129:       ivcorr = 2
                    130:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    131:  5531 continue
                    132:       ivtnum = 553
                    133: c
                    134: c      ****  test 553  ****
                    135: c
                    136:       if (iczero) 35530, 5530, 35530
                    137:  5530 continue
                    138:       ivon01 = 7151
                    139:       ivcomp = ivon01/3/10
                    140:       go to 45530
                    141: 35530 ivdele = ivdele + 1
                    142:       write (i02,80003) ivtnum
                    143:       if (iczero) 45530, 5541, 45530
                    144: 45530 if (ivcomp - 238) 25530,15530,25530
                    145: 15530 ivpass = ivpass + 1
                    146:       write (i02,80001) ivtnum
                    147:       go to 5541
                    148: 25530 ivfail = ivfail + 1
                    149:       ivcorr = 238
                    150:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    151:  5541 continue
                    152:       ivtnum = 554
                    153: c
                    154: c      ****  test 554  ****
                    155: c
                    156:       if (iczero) 35540, 5540, 35540
                    157:  5540 continue
                    158:       ivon01 = -330
                    159:       ivcomp = ivon01/3/2
                    160:       go to 45540
                    161: 35540 ivdele = ivdele + 1
                    162:       write (i02,80003) ivtnum
                    163:       if (iczero) 45540, 5551, 45540
                    164: 45540 if (ivcomp + 55) 25540,15540,25540
                    165: 15540 ivpass = ivpass + 1
                    166:       write (i02,80001) ivtnum
                    167:       go to 5551
                    168: 25540 ivfail = ivfail + 1
                    169:       ivcorr = -55
                    170:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    171:  5551 continue
                    172:       ivtnum = 555
                    173: c
                    174: c      ****  test 555  ****
                    175: c
                    176:       if (iczero) 35550, 5550, 35550
                    177:  5550 continue
                    178:       ivon01 = 15249
                    179:       ivcomp = ivon01/(-13)/51
                    180:       go to 45550
                    181: 35550 ivdele = ivdele + 1
                    182:       write (i02,80003) ivtnum
                    183:       if (iczero) 45550, 5561, 45550
                    184: 45550 if (ivcomp + 23) 25550,15550,25550
                    185: 15550 ivpass = ivpass + 1
                    186:       write (i02,80001) ivtnum
                    187:       go to 5561
                    188: 25550 ivfail = ivfail + 1
                    189:       ivcorr = -23
                    190:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    191:  5561 continue
                    192:       ivtnum = 556
                    193: c
                    194: c      ****  test 556  ****
                    195: c
                    196:       if (iczero) 35560, 5560, 35560
                    197:  5560 continue
                    198:       ivon01 = -27342
                    199:       ivcomp = ivon01/(-4)/(-3)
                    200:       go to 45560
                    201: 35560 ivdele = ivdele + 1
                    202:       write (i02,80003) ivtnum
                    203:       if (iczero) 45560, 5571, 45560
                    204: 45560 if (ivcomp + 2278) 25560,15560,25560
                    205: 15560 ivpass = ivpass + 1
                    206:       write (i02,80001) ivtnum
                    207:       go to 5571
                    208: 25560 ivfail = ivfail + 1
                    209:       ivcorr = -2278
                    210:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    211:  5571 continue
                    212:       ivtnum = 557
                    213: c
                    214: c      ****  test 557  ****
                    215: c
                    216:       if (iczero) 35570, 5570, 35570
                    217:  5570 continue
                    218:       ivon01 = -27342
                    219:       ivcomp = -ivon01/4/(-3)
                    220:       go to 45570
                    221: 35570 ivdele = ivdele + 1
                    222:       write (i02,80003) ivtnum
                    223:       if (iczero) 45570, 5581, 45570
                    224: 45570 if (ivcomp + 2278) 25570,15570,25570
                    225: 15570 ivpass = ivpass + 1
                    226:       write (i02,80001) ivtnum
                    227:       go to 5581
                    228: 25570 ivfail = ivfail + 1
                    229:       ivcorr = -2278
                    230:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    231: c
                    232: c     test 558 through test 563 contain arithmetic assignment statements
                    233: c     of the form             iv=ic/iv/ic.
                    234: c
                    235:  5581 continue
                    236:       ivtnum = 558
                    237: c
                    238: c      ****  test 558  ****
                    239: c
                    240:       if (iczero) 35580, 5580, 35580
                    241:  5580 continue
                    242:       ivon02 = 3
                    243:       ivcomp = 24/ivon02/4
                    244:       go to 45580
                    245: 35580 ivdele = ivdele + 1
                    246:       write (i02,80003) ivtnum
                    247:       if (iczero) 45580, 5591, 45580
                    248: 45580 if (ivcomp - 2) 25580,15580,25580
                    249: 15580 ivpass = ivpass + 1
                    250:       write (i02,80001) ivtnum
                    251:       go to 5591
                    252: 25580 ivfail = ivfail + 1
                    253:       ivcorr = 2
                    254:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    255:  5591 continue
                    256:       ivtnum = 559
                    257: c
                    258: c      ****  test 559  ****
                    259: c
                    260:       if (iczero) 35590, 5590, 35590
                    261:  5590 continue
                    262:       ivon02 = 3
                    263:       ivcomp = 7151/ivon02/10
                    264:       go to 45590
                    265: 35590 ivdele = ivdele + 1
                    266:       write (i02,80003) ivtnum
                    267:       if (iczero) 45590, 5601, 45590
                    268: 45590 if (ivcomp - 238) 25590,15590,25590
                    269: 15590 ivpass = ivpass + 1
                    270:       write (i02,80001) ivtnum
                    271:       go to 5601
                    272: 25590 ivfail = ivfail + 1
                    273:       ivcorr = 238
                    274:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    275:  5601 continue
                    276:       ivtnum = 560
                    277: c
                    278: c      ****  test 560  ****
                    279: c
                    280:       if (iczero) 35600, 5600, 35600
                    281:  5600 continue
                    282:       ivon02 = -3
                    283:       ivcomp = 330/ivon02/2
                    284:       go to 45600
                    285: 35600 ivdele = ivdele + 1
                    286:       write (i02,80003) ivtnum
                    287:       if (iczero) 45600, 5611, 45600
                    288: 45600 if (ivcomp +55) 25600,15600,25600
                    289: 15600 ivpass = ivpass + 1
                    290:       write (i02,80001) ivtnum
                    291:       go to 5611
                    292: 25600 ivfail = ivfail + 1
                    293:       ivcorr = -55
                    294:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    295:  5611 continue
                    296:       ivtnum = 561
                    297: c
                    298: c      ****  test 561  ****
                    299: c
                    300:       if (iczero) 35610, 5610, 35610
                    301:  5610 continue
                    302:       ivon02 = +13
                    303:       ivcomp = 15249/ivon02/(-51)
                    304:       go to 45610
                    305: 35610 ivdele = ivdele + 1
                    306:       write (i02,80003) ivtnum
                    307:       if (iczero) 45610, 5621, 45610
                    308: 45610 if (ivcomp + 23) 25610,15610,25610
                    309: 15610 ivpass = ivpass + 1
                    310:       write (i02,80001) ivtnum
                    311:       go to 5621
                    312: 25610 ivfail = ivfail + 1
                    313:       ivcorr = -23
                    314:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    315:  5621 continue
                    316:       ivtnum = 562
                    317: c
                    318: c      ****  test 562  ****
                    319: c
                    320:       if (iczero) 35620, 5620, 35620
                    321:  5620 continue
                    322:       ivon02 = -4
                    323:       ivcomp = (-27342)/ivon02/(-3)
                    324:       go to 45620
                    325: 35620 ivdele = ivdele + 1
                    326:       write (i02,80003) ivtnum
                    327:       if (iczero) 45620, 5631, 45620
                    328: 45620 if (ivcomp + 2278) 25620,15620,25620
                    329: 15620 ivpass = ivpass + 1
                    330:       write (i02,80001) ivtnum
                    331:       go to 5631
                    332: 25620 ivfail = ivfail + 1
                    333:       ivcorr = -2278
                    334:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    335:  5631 continue
                    336:       ivtnum = 563
                    337: c
                    338: c      ****  test 563  ****
                    339: c
                    340:       if (iczero) 35630, 5630, 35630
                    341:  5630 continue
                    342:       ivon02 = -4
                    343:       ivcomp = -27342/(-ivon02)/(-3)
                    344:       go to 45630
                    345: 35630 ivdele = ivdele + 1
                    346:       write (i02,80003) ivtnum
                    347:       if (iczero) 45630, 5641, 45630
                    348: 45630 if (ivcomp - 2278) 25630,15630,25630
                    349: 15630 ivpass = ivpass + 1
                    350:       write (i02,80001) ivtnum
                    351:       go to 5641
                    352: 25630 ivfail = ivfail + 1
                    353:       ivcorr = 2278
                    354:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    355: c
                    356: c     test 564 through test 569 contain arithmetic assignment statements
                    357: c     of the form             iv = ic/ic/iv.
                    358: c
                    359:  5641 continue
                    360:       ivtnum = 564
                    361: c
                    362: c      ****  test 564  ****
                    363: c
                    364:       if (iczero) 35640, 5640, 35640
                    365:  5640 continue
                    366:       ivon03 = 4
                    367:       ivcomp = 24/3/ivon03
                    368:       go to 45640
                    369: 35640 ivdele = ivdele + 1
                    370:       write (i02,80003) ivtnum
                    371:       if (iczero) 45640, 5651, 45640
                    372: 45640 if (ivcomp -2) 25640,15640,25640
                    373: 15640 ivpass = ivpass + 1
                    374:       write (i02,80001) ivtnum
                    375:       go to 5651
                    376: 25640 ivfail = ivfail + 1
                    377:       ivcorr = 2
                    378:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    379:  5651 continue
                    380:       ivtnum = 565
                    381: c
                    382: c      ****  test 565  ****
                    383: c
                    384:       if (iczero) 35650, 5650, 35650
                    385:  5650 continue
                    386:       ivon03 = 10
                    387:       ivcomp = 7151/3/ivon03
                    388:       go to 45650
                    389: 35650 ivdele = ivdele + 1
                    390:       write (i02,80003) ivtnum
                    391:       if (iczero) 45650, 5661, 45650
                    392: 45650 if (ivcomp - 238) 25650,15650,25650
                    393: 15650 ivpass = ivpass + 1
                    394:       write (i02,80001) ivtnum
                    395:       go to 5661
                    396: 25650 ivfail = ivfail + 1
                    397:       ivcorr = 238
                    398:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    399:  5661 continue
                    400:       ivtnum = 566
                    401: c
                    402: c      ****  test 566  ****
                    403: c
                    404:       if (iczero) 35660, 5660, 35660
                    405:  5660 continue
                    406:       ivon03 = -2
                    407:       ivcomp = 330/3/ivon03
                    408:       go to 45660
                    409: 35660 ivdele = ivdele + 1
                    410:       write (i02,80003) ivtnum
                    411:       if (iczero) 45660, 5671, 45660
                    412: 45660 if (ivcomp + 55) 25660,15660,25660
                    413: 15660 ivpass = ivpass + 1
                    414:       write (i02,80001) ivtnum
                    415:       go to 5671
                    416: 25660 ivfail = ivfail + 1
                    417:       ivcorr = -55
                    418:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    419:  5671 continue
                    420:       ivtnum = 567
                    421: c
                    422: c      ****  test 567  ****
                    423: c
                    424:       if (iczero) 35670, 5670, 35670
                    425:  5670 continue
                    426:       ivon03 = +51
                    427:       ivcomp = 15249/(-13)/ivon03
                    428:       go to 45670
                    429: 35670 ivdele = ivdele + 1
                    430:       write (i02,80003) ivtnum
                    431:       if (iczero) 45670, 5681, 45670
                    432: 45670 if (ivcomp + 23) 25670,15670,25670
                    433: 15670 ivpass = ivpass + 1
                    434:       write (i02,80001) ivtnum
                    435:       go to 5681
                    436: 25670 ivfail = ivfail + 1
                    437:       ivcorr = -23
                    438:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    439:  5681 continue
                    440:       ivtnum = 568
                    441: c
                    442: c      ****  test 568  ****
                    443: c
                    444:       if (iczero) 35680, 5680, 35680
                    445:  5680 continue
                    446:       ivon03 = -3
                    447:       ivcomp = (-27342)/(-4)/ivon03
                    448:       go to 45680
                    449: 35680 ivdele = ivdele + 1
                    450:       write (i02,80003) ivtnum
                    451:       if (iczero) 45680, 5691, 45680
                    452: 45680 if (ivcomp + 2278) 25680,15680,25680
                    453: 15680 ivpass = ivpass + 1
                    454:       write (i02,80001) ivtnum
                    455:       go to 5691
                    456: 25680 ivfail = ivfail + 1
                    457:       ivcorr = -2278
                    458:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    459:  5691 continue
                    460:       ivtnum = 569
                    461: c
                    462: c      ****  test 569  ****
                    463: c
                    464:       if (iczero) 35690, 5690, 35690
                    465:  5690 continue
                    466:       ivon03 = -3
                    467:       ivcomp = -27342/(-4)/(-ivon03)
                    468:       go to 45690
                    469: 35690 ivdele = ivdele + 1
                    470:       write (i02,80003) ivtnum
                    471:       if (iczero) 45690, 5701, 45690
                    472: 45690 if (ivcomp - 2278) 25690,15690,25690
                    473: 15690 ivpass = ivpass + 1
                    474:       write (i02,80001) ivtnum
                    475:       go to 5701
                    476: 25690 ivfail = ivfail + 1
                    477:       ivcorr = 2278
                    478:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    479: c
                    480: c     test 570 and test 571  -   iv =(iv/ic)/ic
                    481: c
                    482:  5701 continue
                    483:       ivtnum = 570
                    484: c
                    485: c      ****  test 570  ****
                    486: c
                    487:       if (iczero) 35700, 5700, 35700
                    488:  5700 continue
                    489:       ivon01 = 24
                    490:       ivcomp = (ivon01/3)/4
                    491:       go to 45700
                    492: 35700 ivdele = ivdele + 1
                    493:       write (i02,80003) ivtnum
                    494:       if (iczero) 45700, 5711, 45700
                    495: 45700 if (ivcomp -2) 25700,15700,25700
                    496: 15700 ivpass = ivpass + 1
                    497:       write (i02,80001) ivtnum
                    498:       go to 5711
                    499: 25700 ivfail = ivfail + 1
                    500:       ivcorr = 2
                    501:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    502:  5711 continue
                    503:       ivtnum = 571
                    504: c
                    505: c      ****  test 571  ****
                    506: c
                    507:       if (iczero) 35710, 5710, 35710
                    508:  5710 continue
                    509:       ivon01 = -330
                    510:       ivcomp = (ivon01/(-3))/4
                    511:       go to 45710
                    512: 35710 ivdele = ivdele + 1
                    513:       write (i02,80003) ivtnum
                    514:       if (iczero) 45710, 5721, 45710
                    515: 45710 if (ivcomp - 27) 25710,15710,25710
                    516: 15710 ivpass = ivpass + 1
                    517:       write (i02,80001) ivtnum
                    518:       go to 5721
                    519: 25710 ivfail = ivfail + 1
                    520:       ivcorr = 27
                    521:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    522: c
                    523: c     test 572 and test 573  -  iv= iv/(ic/ic)
                    524: c
                    525:  5721 continue
                    526:       ivtnum = 572
                    527: c
                    528: c      ****  test 572  ****
                    529: c
                    530:       if (iczero) 35720, 5720, 35720
                    531:  5720 continue
                    532:       ivon01 = 24
                    533:       ivcomp = ivon01/(8/4)
                    534:       go to 45720
                    535: 35720 ivdele = ivdele + 1
                    536:       write (i02,80003) ivtnum
                    537:       if (iczero) 45720, 5731, 45720
                    538: 45720 if (ivcomp - 12) 25720,15720,25720
                    539: 15720 ivpass = ivpass + 1
                    540:       write (i02,80001) ivtnum
                    541:       go to 5731
                    542: 25720 ivfail = ivfail + 1
                    543:       ivcorr = 12
                    544:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    545:  5731 continue
                    546:       ivtnum = 573
                    547: c
                    548: c      ****  test 573  ****
                    549: c
                    550:       if (iczero) 35730, 5730, 35730
                    551:  5730 continue
                    552:       ivon01 = -7154
                    553:       ivcomp = -ivon01/((-26)/5)
                    554:       go to 45730
                    555: 35730 ivdele = ivdele + 1
                    556:       write (i02,80003) ivtnum
                    557:       if (iczero) 45730, 5741, 45730
                    558: 45730 if (ivcomp + 1430) 25730,15730,25730
                    559: 15730 ivpass = ivpass + 1
                    560:       write (i02,80001) ivtnum
                    561:       go to 5741
                    562: 25730 ivfail = ivfail + 1
                    563:       ivcorr = -1430
                    564:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    565: c
                    566: c     test 574 and test 575  -  iv=(ic/iv)/ic
                    567: c
                    568:  5741 continue
                    569:       ivtnum = 574
                    570: c
                    571: c      ****  test 574  ****
                    572: c
                    573:       if (iczero) 35740, 5740, 35740
                    574:  5740 continue
                    575:       ivon02 = 3
                    576:       ivcomp = (24/ivon02)/4
                    577:       go to 45740
                    578: 35740 ivdele = ivdele + 1
                    579:       write (i02,80003) ivtnum
                    580:       if (iczero) 45740, 5751, 45740
                    581: 45740 if (ivcomp -2) 25740,15740,25740
                    582: 15740 ivpass = ivpass + 1
                    583:       write (i02,80001) ivtnum
                    584:       go to 5751
                    585: 25740 ivfail = ivfail + 1
                    586:       ivcorr = 2
                    587:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    588:  5751 continue
                    589:       ivtnum = 575
                    590: c
                    591: c      ****  test 575  ****
                    592: c
                    593:       if (iczero) 35750, 5750, 35750
                    594:  5750 continue
                    595:       ivon02 = -3
                    596:       ivcomp = (-330/ivon02)/(-4)
                    597:       go to 45750
                    598: 35750 ivdele = ivdele + 1
                    599:       write (i02,80003) ivtnum
                    600:       if (iczero) 45750, 5761, 45750
                    601: 45750 if (ivcomp + 27) 25750,15750,25750
                    602: 15750 ivpass = ivpass + 1
                    603:       write (i02,80001) ivtnum
                    604:       go to 5761
                    605: 25750 ivfail = ivfail + 1
                    606:       ivcorr = -27
                    607:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    608: c
                    609: c     test 576 and test 577  -  iv=ic/(iv/ic)
                    610: c
                    611:  5761 continue
                    612:       ivtnum = 576
                    613: c
                    614: c      ****  test 576  ****
                    615: c
                    616:       if (iczero) 35760, 5760, 35760
                    617:  5760 continue
                    618:       ivon02 = 8
                    619:       ivcomp = 24/(ivon02/4)
                    620:       go to 45760
                    621: 35760 ivdele = ivdele + 1
                    622:       write (i02,80003) ivtnum
                    623:       if (iczero) 45760, 5771, 45760
                    624: 45760 if (ivcomp - 12) 25760,15760,25760
                    625: 15760 ivpass = ivpass + 1
                    626:       write (i02,80001) ivtnum
                    627:       go to 5771
                    628: 25760 ivfail = ivfail + 1
                    629:       ivcorr = 12
                    630:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    631:  5771 continue
                    632:       ivtnum = 577
                    633: c
                    634: c      ****  test 577  ****
                    635: c
                    636:       if (iczero) 35770, 5770, 35770
                    637:  5770 continue
                    638:       ivon02 = -26
                    639:       ivcomp = 7154/((-ivon02)/(-5))
                    640:       go to 45770
                    641: 35770 ivdele = ivdele + 1
                    642:       write (i02,80003) ivtnum
                    643:       if (iczero) 45770, 5781, 45770
                    644: 45770 if (ivcomp + 1430) 25770,15770,25770
                    645: 15770 ivpass = ivpass + 1
                    646:       write (i02,80001) ivtnum
                    647:       go to 5781
                    648: 25770 ivfail = ivfail + 1
                    649:       ivcorr = -1430
                    650:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    651: c
                    652: c     test 578 and test 579  -  iv=(ic/ic)/iv
                    653: c
                    654:  5781 continue
                    655:       ivtnum = 578
                    656: c
                    657: c      ****  test 578  ****
                    658: c
                    659:       if (iczero) 35780, 5780, 35780
                    660:  5780 continue
                    661:       ivon03 = 4
                    662:       ivcomp = (24/3)/ivon03
                    663:       go to 45780
                    664: 35780 ivdele = ivdele + 1
                    665:       write (i02,80003) ivtnum
                    666:       if (iczero) 45780, 5791, 45780
                    667: 45780 if (ivcomp - 2) 25780,15780,25780
                    668: 15780 ivpass = ivpass + 1
                    669:       write (i02,80001) ivtnum
                    670:       go to 5791
                    671: 25780 ivfail = ivfail + 1
                    672:       ivcorr = 2
                    673:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    674:  5791 continue
                    675:       ivtnum = 579
                    676: c
                    677: c      ****  test 579  ****
                    678: c
                    679:       if (iczero) 35790, 5790, 35790
                    680:  5790 continue
                    681:       ivon03 = -4
                    682:       ivcomp = (330/(-3))/ivon03
                    683:       go to 45790
                    684: 35790 ivdele = ivdele + 1
                    685:       write (i02,80003) ivtnum
                    686:       if (iczero) 45790, 5801, 45790
                    687: 45790 if (ivcomp - 27) 25790,15790,25790
                    688: 15790 ivpass = ivpass + 1
                    689:       write (i02,80001) ivtnum
                    690:       go to 5801
                    691: 25790 ivfail = ivfail + 1
                    692:       ivcorr = 27
                    693:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    694: c
                    695: c     test 580 and test 581  -  iv= ic/(ic/iv)
                    696: c
                    697:  5801 continue
                    698:       ivtnum = 580
                    699: c
                    700: c      ****  test 580  ****
                    701: c
                    702:       if (iczero) 35800, 5800, 35800
                    703:  5800 continue
                    704:       ivon03 = 4
                    705:       ivcomp = 24/(8/ivon03)
                    706:       go to 45800
                    707: 35800 ivdele = ivdele + 1
                    708:       write (i02,80003) ivtnum
                    709:       if (iczero) 45800, 5811, 45800
                    710: 45800 if (ivcomp - 12) 25800,15800,25800
                    711: 15800 ivpass = ivpass + 1
                    712:       write (i02,80001) ivtnum
                    713:       go to 5811
                    714: 25800 ivfail = ivfail + 1
                    715:       ivcorr = 12
                    716:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    717:  5811 continue
                    718:       ivtnum = 581
                    719: c
                    720: c      ****  test 581  ****
                    721: c
                    722:       if (iczero) 35810, 5810, 35810
                    723:  5810 continue
                    724:       ivon03 = -5
                    725:       ivcomp = -7154/((-26)/ivon03)
                    726:       go to 45810
                    727: 35810 ivdele = ivdele + 1
                    728:       write (i02,80003) ivtnum
                    729:       if (iczero) 45810, 5821, 45810
                    730: 45810 if (ivcomp + 1430) 25810,15810,25810
                    731: 15810 ivpass = ivpass + 1
                    732:       write (i02,80001) ivtnum
                    733:       go to 5821
                    734: 25810 ivfail = ivfail + 1
                    735:       ivcorr = -1430
                    736:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    737: c
                    738: c      ****    end of tests    ****
                    739:  5821 continue
                    740: c
                    741: c     write page footings and run summaries
                    742: 99999 continue
                    743:       write (i02,90002)
                    744:       write (i02,90006)
                    745:       write (i02,90002)
                    746:       write (i02,90002)
                    747:       write (i02,90007)
                    748:       write (i02,90002)
                    749:       write (i02,90008)  ivfail
                    750:       write (i02,90009) ivpass
                    751:       write (i02,90010) ivdele
                    752: c
                    753: c
                    754: c     terminate routine execution
                    755:       stop
                    756: c
                    757: c     format statements for page headers
                    758: 90000 format (1h1)
                    759: 90002 format (1h )
                    760: 90001 format (1h ,10x,34hfortran compiler validation system)
                    761: 90003 format (1h ,21x,11hversion 1.0)
                    762: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    763: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    764: 90006 format (1h ,5x,46h----------------------------------------------)
                    765: 90011 format (1h ,18x,17hsubset level test)
                    766: c
                    767: c     format statements for run summaries
                    768: 90008 format (1h ,15x,i5,19h errors encountered)
                    769: 90009 format (1h ,15x,i5,13h tests passed)
                    770: 90010 format (1h ,15x,i5,14h tests deleted)
                    771: c
                    772: c     format statements for test results
                    773: 80001 format (1h ,4x,i5,7x,4hpass)
                    774: 80002 format (1h ,4x,i5,7x,4hfail)
                    775: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    776: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    777: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    778: c
                    779: 90007 format (1h ,20x,20hend of program fm039)
                    780:       end

unix.superglobalmegacorp.com

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