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

1.1       root        1: c     comment section
                      2: c
                      3: c     fm037
                      4: c
                      5: c         this routine tests arithmetic assignment statements of the
                      6: c     form
                      7: c              integer variable = arithmetic expression
                      8: c     where the arithmetic expression is formed with three integer
                      9: c     constants and the arithmetic operator /.  both positive and nega-
                     10: c     tive constants are used in the arithmetic expression.
                     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.  the standard states 'the value
                     15: c     of an integer factor or term is the nearest integer whose magni-
                     16: c     tude does not exceed the magnitude of the mathematical value
                     17: c     represented by that factor or term.  the associative and commuta-
                     18: c     tive laws do not apply in the evaluation of integer terms con-
                     19: c     taining division, hence the evaluation of such terms must effec-
                     20: c     tively proceed from left to right.'
                     21: c
                     22: c         there are tests where the arithmetic expression contains
                     23: c             (1)  integer constant/integer constant/integer constant
                     24: c                      no truncation required
                     25: c             (2)  integer constant/integer constant/integer constant
                     26: c                      truncation required
                     27: c
                     28: c      references
                     29: c        american national standard programming language fortran,
                     30: c              x3.9-1978
                     31: c
                     32: c        section 4.3, integer type
                     33: c        section 4.3.1, integer constant
                     34: c        section 6.1, arithmetic expressions
                     35: c        section 6.6, evaluation of expressions
                     36: c        section 10.1, arithmetic assignment statement
                     37: c
                     38: c      **********************************************************
                     39: c
                     40: c         a compiler validation system for the fortran language
                     41: c     based on specifications as defined in american national standard
                     42: c     programming language fortran x3.9-1978, has been developed by the
                     43: c     federal cobol compiler testing service.  the fortran compiler
                     44: c     validation system (fcvs) consists of audit routines, their related
                     45: c     data, and an executive system.  each audit routine is a fortran
                     46: c     program, subprogram or function which includes tests of specific
                     47: c     language elements and supporting procedures indicating the result
                     48: c     of executing these tests.
                     49: c
                     50: c         this particular program/subprogram/function contains features
                     51: c     found only in the subset as defined in x3.9-1978.
                     52: c
                     53: c         suggestions and comments should be forwarded to -
                     54: c
                     55: c                  department of the navy
                     56: c                  federal cobol compiler testing service
                     57: c                  washington, d.c.  20376
                     58: c
                     59: c      **********************************************************
                     60: c
                     61: c
                     62: c
                     63: c     initialization section
                     64: c
                     65: c     initialize constants
                     66: c      **************
                     67: c     i01 contains the logical unit number for the card reader.
                     68:       i01 = 5
                     69: c     i02 contains the logical unit number for the printer.
                     70:       i02 = 6
                     71: c     system environment section
                     72: c
                     73: cx010    this card is replaced by contents of fexec x-010 control card.
                     74: c     the cx010 card is for overriding the program default i01 = 5
                     75: c     (unit number for card reader).
                     76: cx011    this card is replaced by contents of fexec x-011 control card.
                     77: c     the cx011 card is for systems which require additional
                     78: c     fortran statements for files associated with cx010 above.
                     79: c
                     80: cx020    this card is replaced by contents of fexec x-020 control card.
                     81: c     the cx020 card is for overriding the program default i02 = 6
                     82: c     (unit number for printer).
                     83: cx021    this card is replaced by contents of fexec x-021 control card.
                     84: c     the cx021 card is for systems which require additional
                     85: c     fortran statements for files associated with cx020 above.
                     86: c
                     87:       ivpass=0
                     88:       ivfail=0
                     89:       ivdele=0
                     90:       iczero=0
                     91: c
                     92: c     write page headers
                     93:       write (i02,90000)
                     94:       write (i02,90001)
                     95:       write (i02,90002)
                     96:       write (i02, 90002)
                     97:       write (i02,90003)
                     98:       write (i02,90002)
                     99:       write (i02,90004)
                    100:       write (i02,90002)
                    101:       write (i02,90011)
                    102:       write (i02,90002)
                    103:       write (i02,90002)
                    104:       write (i02,90005)
                    105:       write (i02,90006)
                    106:       write (i02,90002)
                    107: c
                    108: c     test section
                    109: c
                    110: c         arithmetic assignment statement
                    111: c
                    112: c     test 491 through test 519 contain three integer constants and
                    113: c     operator / in an arithmetic expression.  the form tested is
                    114: c         integer variable = integer constant/integer constant/int.con.
                    115: c
                    116: c
                    117: c     test 491 through test 496 - positive integer constants
                    118: c                       no truncation required
                    119: c
                    120:  4911 continue
                    121:       ivtnum = 491
                    122: c
                    123: c      ****  test 491  ****
                    124: c
                    125:       if (iczero) 34910, 4910, 34910
                    126:  4910 continue
                    127:       ivcomp = 24/3/4
                    128:       go to 44910
                    129: 34910 ivdele = ivdele + 1
                    130:       write (i02,80003) ivtnum
                    131:       if (iczero) 44910, 4921, 44910
                    132: 44910 if (ivcomp - 2) 24910,14910,24910
                    133: 14910 ivpass = ivpass + 1
                    134:       write (i02,80001) ivtnum
                    135:       go to 4921
                    136: 24910 ivfail = ivfail + 1
                    137:       ivcorr = 2
                    138:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    139:  4921 continue
                    140:       ivtnum = 492
                    141: c
                    142: c      ****  test 492  ****
                    143: c
                    144:       if (iczero) 34920, 4920, 34920
                    145:  4920 continue
                    146:       ivcomp = 330/3/2
                    147:       go to 44920
                    148: 34920 ivdele = ivdele + 1
                    149:       write (i02,80003) ivtnum
                    150:       if (iczero) 44920, 4931, 44920
                    151: 44920 if (ivcomp - 55) 24920,14920,24920
                    152: 14920 ivpass = ivpass + 1
                    153:       write (i02,80001) ivtnum
                    154:       go to 4931
                    155: 24920 ivfail = ivfail + 1
                    156:       ivcorr = 55
                    157:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    158:  4931 continue
                    159:       ivtnum = 493
                    160: c
                    161: c      ****  test 493  ****
                    162: c
                    163:       if (iczero) 34930, 4930, 34930
                    164:  4930 continue
                    165:       ivcomp = 15249/13/51
                    166:       go to 44930
                    167: 34930 ivdele = ivdele + 1
                    168:       write (i02,80003) ivtnum
                    169:       if (iczero) 44930, 4941, 44930
                    170: 44930 if (ivcomp - 23) 24930,14930,24930
                    171: 14930 ivpass = ivpass + 1
                    172:       write (i02,80001) ivtnum
                    173:       go to 4941
                    174: 24930 ivfail = ivfail + 1
                    175:       ivcorr = 23
                    176:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    177:  4941 continue
                    178:       ivtnum = 494
                    179: c
                    180: c      ****  test 494  ****
                    181: c
                    182:       if (iczero) 34940, 4940, 34940
                    183:  4940 continue
                    184:       ivcomp = 7150/2/25
                    185:       go to 44940
                    186: 34940 ivdele = ivdele + 1
                    187:       write (i02,80003) ivtnum
                    188:       if (iczero) 44940, 4951, 44940
                    189: 44940 if (ivcomp - 143) 24940,14940,24940
                    190: 14940 ivpass = ivpass + 1
                    191:       write (i02,80001) ivtnum
                    192:       go to 4951
                    193: 24940 ivfail = ivfail + 1
                    194:       ivcorr = 143
                    195:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    196:  4951 continue
                    197:       ivtnum = 495
                    198: c
                    199: c      ****  test 495  ****
                    200: c
                    201:       if (iczero) 34950, 4950, 34950
                    202:  4950 continue
                    203:       ivcomp = 32766/2/3
                    204:       go to 44950
                    205: 34950 ivdele = ivdele + 1
                    206:       write (i02,80003) ivtnum
                    207:       if (iczero) 44950, 4961, 44950
                    208: 44950 if (ivcomp - 5461) 24950,14950,24950
                    209: 14950 ivpass = ivpass + 1
                    210:       write (i02,80001) ivtnum
                    211:       go to 4961
                    212: 24950 ivfail = ivfail + 1
                    213:       ivcorr = 5461
                    214:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    215:  4961 continue
                    216:       ivtnum = 496
                    217: c
                    218: c      ****  test 496  ****
                    219: c
                    220:       if (iczero) 34960, 4960, 34960
                    221:  4960 continue
                    222:       ivcomp = 32766/1/1
                    223:       go to 44960
                    224: 34960 ivdele = ivdele + 1
                    225:       write (i02,80003) ivtnum
                    226:       if (iczero) 44960, 4971, 44960
                    227: 44960 if (ivcomp - 32766) 24960,14960,24960
                    228: 14960 ivpass = ivpass + 1
                    229:       write (i02,80001) ivtnum
                    230:       go to 4971
                    231: 24960 ivfail = ivfail + 1
                    232:       ivcorr = 32766
                    233:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    234: c
                    235: c     test 497 through test 502 - positive integer constants
                    236: c                  truncation required
                    237: c
                    238:  4971 continue
                    239:       ivtnum = 497
                    240: c
                    241: c      ****  test 497  ****
                    242: c
                    243:       if (iczero) 34970, 4970, 34970
                    244:  4970 continue
                    245:       ivcomp = 24/3/3
                    246:       go to 44970
                    247: 34970 ivdele = ivdele + 1
                    248:       write (i02,80003) ivtnum
                    249:       if (iczero) 44970, 4981, 44970
                    250: 44970 if (ivcomp -2) 24970,14970,24970
                    251: 14970 ivpass = ivpass + 1
                    252:       write (i02,80001) ivtnum
                    253:       go to 4981
                    254: 24970 ivfail = ivfail + 1
                    255:       ivcorr = 2
                    256:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    257:  4981 continue
                    258:       ivtnum = 498
                    259: c
                    260: c      ****  test 498  ****
                    261: c
                    262:       if (iczero) 34980, 4980, 34980
                    263:  4980 continue
                    264:       ivcomp = 230/2/3
                    265:       go to 44980
                    266: 34980 ivdele = ivdele + 1
                    267:       write (i02,80003) ivtnum
                    268:       if (iczero) 44980, 4991, 44980
                    269: 44980 if (ivcomp - 38) 24980,14980,24980
                    270: 14980 ivpass = ivpass + 1
                    271:       write (i02,80001) ivtnum
                    272:       go to 4991
                    273: 24980 ivfail = ivfail + 1
                    274:       ivcorr = 38
                    275:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    276:  4991 continue
                    277:       ivtnum = 499
                    278: c
                    279: c      ****  test 499  ****
                    280: c
                    281:       if (iczero) 34990, 4990, 34990
                    282:  4990 continue
                    283:       ivcomp = 7151/3/10
                    284:       go to 44990
                    285: 34990 ivdele = ivdele + 1
                    286:       write (i02,80003) ivtnum
                    287:       if (iczero) 44990, 5001, 44990
                    288: 44990 if (ivcomp - 238) 24990,14990,24990
                    289: 14990 ivpass = ivpass + 1
                    290:       write (i02,80001) ivtnum
                    291:       go to 5001
                    292: 24990 ivfail = ivfail + 1
                    293:       ivcorr = 238
                    294:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    295:  5001 continue
                    296:       ivtnum = 500
                    297: c
                    298: c      ****  test 500  ****
                    299: c
                    300:       if (iczero) 35000, 5000, 35000
                    301:  5000 continue
                    302:       ivcomp = 15248/51/13
                    303:       go to 45000
                    304: 35000 ivdele = ivdele + 1
                    305:       write (i02,80003) ivtnum
                    306:       if (iczero) 45000, 5011, 45000
                    307: 45000 if (ivcomp - 22) 25000,15000,25000
                    308: 15000 ivpass = ivpass + 1
                    309:       write (i02,80001) ivtnum
                    310:       go to 5011
                    311: 25000 ivfail = ivfail + 1
                    312:       ivcorr = 22
                    313:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    314:  5011 continue
                    315:       ivtnum = 501
                    316: c
                    317: c      ****  test 501  ****
                    318: c
                    319:       if (iczero) 35010, 5010, 35010
                    320:  5010 continue
                    321:       ivcomp = 27342/4/3
                    322:       go to 45010
                    323: 35010 ivdele = ivdele + 1
                    324:       write (i02,80003) ivtnum
                    325:       if (iczero) 45010, 5021, 45010
                    326: 45010 if (ivcomp - 2278) 25010,15010,25010
                    327: 15010 ivpass = ivpass + 1
                    328:       write (i02,80001) ivtnum
                    329:       go to 5021
                    330: 25010 ivfail = ivfail + 1
                    331:       ivcorr = 2278
                    332:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    333:  5021 continue
                    334:       ivtnum = 502
                    335: c
                    336: c      ****  test 502  ****
                    337: c
                    338:       if (iczero) 35020, 5020, 35020
                    339:  5020 continue
                    340:       ivcomp = 32767/2/1
                    341:       go to 45020
                    342: 35020 ivdele = ivdele + 1
                    343:       write (i02,80003) ivtnum
                    344:       if (iczero) 45020, 5031, 45020
                    345: 45020 if (ivcomp - 16383) 25020,15020,25020
                    346: 15020 ivpass = ivpass + 1
                    347:       write (i02,80001) ivtnum
                    348:       go to 5031
                    349: 25020 ivfail = ivfail + 1
                    350:       ivcorr = 16383
                    351:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    352: c
                    353: c     test 503 through test 507 - negative integer constants included
                    354: c                  no truncation required
                    355: c
                    356:  5031 continue
                    357:       ivtnum = 503
                    358: c
                    359: c      ****  test 503  ****
                    360: c
                    361:       if (iczero) 35030, 5030, 35030
                    362:  5030 continue
                    363:       ivcomp = -24/3/4
                    364:       go to 45030
                    365: 35030 ivdele = ivdele + 1
                    366:       write (i02,80003) ivtnum
                    367:       if (iczero) 45030, 5041, 45030
                    368: 45030 if (ivcomp +2) 25030,15030,25030
                    369: 15030 ivpass = ivpass + 1
                    370:       write (i02,80001) ivtnum
                    371:       go to 5041
                    372: 25030 ivfail = ivfail + 1
                    373:       ivcorr = -2
                    374:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    375:  5041 continue
                    376:       ivtnum = 504
                    377: c
                    378: c      ****  test 504  ****
                    379: c
                    380:       if (iczero) 35040, 5040, 35040
                    381:  5040 continue
                    382:       ivcomp = 330/(-3)/2
                    383:       go to 45040
                    384: 35040 ivdele = ivdele + 1
                    385:       write (i02,80003) ivtnum
                    386:       if (iczero) 45040, 5051, 45040
                    387: 45040 if (ivcomp + 55) 25040,15040,25040
                    388: 15040 ivpass = ivpass + 1
                    389:       write (i02,80001) ivtnum
                    390:       go to 5051
                    391: 25040 ivfail = ivfail + 1
                    392:       ivcorr = -55
                    393:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    394:  5051 continue
                    395:       ivtnum = 505
                    396: c
                    397: c      ****  test 505  ****
                    398: c
                    399:       if (iczero) 35050, 5050, 35050
                    400:  5050 continue
                    401:       ivcomp = 15249/(-13)/(-51)
                    402:       go to 45050
                    403: 35050 ivdele = ivdele + 1
                    404:       write (i02,80003) ivtnum
                    405:       if (iczero) 45050, 5061, 45050
                    406: 45050 if (ivcomp - 23) 25050,15050,25050
                    407: 15050 ivpass = ivpass + 1
                    408:       write (i02,80001) ivtnum
                    409:       go to 5061
                    410: 25050 ivfail = ivfail + 1
                    411:       ivcorr = 23
                    412:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    413:  5061 continue
                    414:       ivtnum = 506
                    415: c
                    416: c      ****  test 506  ****
                    417: c
                    418:       if (iczero) 35060, 5060, 35060
                    419:  5060 continue
                    420:       ivcomp = -7150/(-2)/(-25)
                    421:       go to 45060
                    422: 35060 ivdele = ivdele + 1
                    423:       write (i02,80003) ivtnum
                    424:       if (iczero) 45060, 5071, 45060
                    425: 45060 if (ivcomp + 143) 25060,15060,25060
                    426: 15060 ivpass = ivpass + 1
                    427:       write (i02,80001) ivtnum
                    428:       go to 5071
                    429: 25060 ivfail = ivfail + 1
                    430:       ivcorr = -143
                    431:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    432:  5071 continue
                    433:       ivtnum = 507
                    434: c
                    435: c      ****  test 507  ****
                    436: c
                    437:       if (iczero) 35070, 5070, 35070
                    438:  5070 continue
                    439:       ivcomp = (-32766)/(-2)/(-3)
                    440:       go to 45070
                    441: 35070 ivdele = ivdele + 1
                    442:       write (i02,80003) ivtnum
                    443:       if (iczero) 45070, 5081, 45070
                    444: 45070 if (ivcomp + 5461) 25070,15070,25070
                    445: 15070 ivpass = ivpass + 1
                    446:       write (i02,80001) ivtnum
                    447:       go to 5081
                    448: 25070 ivfail = ivfail + 1
                    449:       ivcorr = -5461
                    450:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    451: c
                    452: c     test 508 through test 513 - negative integer constants included
                    453: c                       truncation required
                    454: c
                    455:  5081 continue
                    456:       ivtnum = 508
                    457: c
                    458: c      ****  test 508  ****
                    459: c
                    460:       if (iczero) 35080, 5080, 35080
                    461:  5080 continue
                    462:       ivcomp = -24/3/3
                    463:       go to 45080
                    464: 35080 ivdele = ivdele + 1
                    465:       write (i02,80003) ivtnum
                    466:       if (iczero) 45080, 5091, 45080
                    467: 45080 if (ivcomp + 2) 25080,15080,25080
                    468: 15080 ivpass = ivpass + 1
                    469:       write (i02,80001) ivtnum
                    470:       go to 5091
                    471: 25080 ivfail = ivfail + 1
                    472:       ivcorr = -2
                    473:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    474:  5091 continue
                    475:       ivtnum = 509
                    476: c
                    477: c      ****  test 509  ****
                    478: c
                    479:       if (iczero) 35090, 5090, 35090
                    480:  5090 continue
                    481:       ivcomp = 230/(-2)/3
                    482:       go to 45090
                    483: 35090 ivdele = ivdele + 1
                    484:       write (i02,80003) ivtnum
                    485:       if (iczero) 45090, 5101, 45090
                    486: 45090 if (ivcomp + 38) 25090,15090,25090
                    487: 15090 ivpass = ivpass + 1
                    488:       write (i02,80001) ivtnum
                    489:       go to 5101
                    490: 25090 ivfail = ivfail + 1
                    491:       ivcorr = -38
                    492:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    493:  5101 continue
                    494:       ivtnum = 510
                    495: c
                    496: c      ****  test 510  ****
                    497: c
                    498:       if (iczero) 35100, 5100, 35100
                    499:  5100 continue
                    500:       ivcomp = 7151/(-3)/(-10)
                    501:       go to 45100
                    502: 35100 ivdele = ivdele + 1
                    503:       write (i02,80003) ivtnum
                    504:       if (iczero) 45100, 5111, 45100
                    505: 45100 if (ivcomp - 238) 25100,15100,25100
                    506: 15100 ivpass = ivpass + 1
                    507:       write (i02,80001) ivtnum
                    508:       go to 5111
                    509: 25100 ivfail = ivfail + 1
                    510:       ivcorr = 238
                    511:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    512:  5111 continue
                    513:       ivtnum = 511
                    514: c
                    515: c      ****  test 511  ****
                    516: c
                    517:       if (iczero) 35110, 5110, 35110
                    518:  5110 continue
                    519:       ivcomp = -15248/(-51)/(-13)
                    520:       go to 45110
                    521: 35110 ivdele = ivdele + 1
                    522:       write (i02,80003) ivtnum
                    523:       if (iczero) 45110, 5121, 45110
                    524: 45110 if (ivcomp + 22) 25110,15110,25110
                    525: 15110 ivpass = ivpass + 1
                    526:       write (i02,80001) ivtnum
                    527:       go to 5121
                    528: 25110 ivfail = ivfail + 1
                    529:       ivcorr = -22
                    530:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    531:  5121 continue
                    532:       ivtnum = 512
                    533: c
                    534: c      ****  test 512  ****
                    535: c
                    536:       if (iczero) 35120, 5120, 35120
                    537:  5120 continue
                    538:       ivcomp = (-27342)/(-4)/(-3)
                    539:       go to 45120
                    540: 35120 ivdele = ivdele + 1
                    541:       write (i02,80003) ivtnum
                    542:       if (iczero) 45120, 5131, 45120
                    543: 45120 if (ivcomp + 2278) 25120,15120,25120
                    544: 15120 ivpass = ivpass + 1
                    545:       write (i02,80001) ivtnum
                    546:       go to 5131
                    547: 25120 ivfail = ivfail + 1
                    548:       ivcorr = -2278
                    549:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    550:  5131 continue
                    551:       ivtnum = 513
                    552: c
                    553: c      ****  test 513  ****
                    554: c
                    555:       if (iczero) 35130, 5130, 35130
                    556:  5130 continue
                    557:       ivcomp = 32767/2/(-1)
                    558:       go to 45130
                    559: 35130 ivdele = ivdele + 1
                    560:       write (i02,80003) ivtnum
                    561:       if (iczero) 45130, 5141, 45130
                    562: 45130 if (ivcomp + 16383) 25130,15130,25130
                    563: 15130 ivpass = ivpass + 1
                    564:       write (i02,80001) ivtnum
                    565:       go to 5141
                    566: 25130 ivfail = ivfail + 1
                    567:       ivcorr = -16383
                    568:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    569: c
                    570: c     test 514 through test 519 - positive and negative signed integer
                    571: c           constants in arithmetic expression.
                    572: c
                    573:  5141 continue
                    574:       ivtnum = 514
                    575: c
                    576: c      ****  test 514  ****
                    577: c
                    578:       if (iczero) 35140, 5140, 35140
                    579:  5140 continue
                    580:       ivcomp = +24/(-3)/4
                    581:       go to 45140
                    582: 35140 ivdele = ivdele + 1
                    583:       write (i02,80003) ivtnum
                    584:       if (iczero) 45140, 5151, 45140
                    585: 45140 if (ivcomp +2) 25140,15140,25140
                    586: 15140 ivpass = ivpass + 1
                    587:       write (i02,80001) ivtnum
                    588:       go to 5151
                    589: 25140 ivfail = ivfail + 1
                    590:       ivcorr = -2
                    591:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    592:  5151 continue
                    593:       ivtnum = 515
                    594: c
                    595: c      ****  test 515  ****
                    596: c
                    597:       if (iczero) 35150, 5150, 35150
                    598:  5150 continue
                    599:       ivcomp = 24/(+3)/(-4)
                    600:       go to 45150
                    601: 35150 ivdele = ivdele + 1
                    602:       write (i02,80003) ivtnum
                    603:       if (iczero) 45150, 5161, 45150
                    604: 45150 if (ivcomp +2) 25150,15150,25150
                    605: 15150 ivpass = ivpass + 1
                    606:       write (i02,80001) ivtnum
                    607:       go to 5161
                    608: 25150 ivfail = ivfail + 1
                    609:       ivcorr = -2
                    610:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    611:  5161 continue
                    612:       ivtnum = 516
                    613: c
                    614: c      ****  test 516  ****
                    615: c
                    616:       if (iczero) 35160, 5160, 35160
                    617:  5160 continue
                    618:       ivcomp = -24/(-3)/(+4)
                    619:       go to 45160
                    620: 35160 ivdele = ivdele + 1
                    621:       write (i02,80003) ivtnum
                    622:       if (iczero) 45160, 5171, 45160
                    623: 45160 if (ivcomp -2) 25160,15160,25160
                    624: 15160 ivpass = ivpass + 1
                    625:       write (i02,80001) ivtnum
                    626:       go to 5171
                    627: 25160 ivfail = ivfail + 1
                    628:       ivcorr = 2
                    629:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    630:  5171 continue
                    631:       ivtnum = 517
                    632: c
                    633: c      ****  test 517  ****
                    634: c
                    635:       if (iczero) 35170, 5170, 35170
                    636:  5170 continue
                    637:       ivcomp = -16811/(-16812)/(+1)
                    638:       go to 45170
                    639: 35170 ivdele = ivdele + 1
                    640:       write (i02,80003) ivtnum
                    641:       if (iczero) 45170, 5181, 45170
                    642: 45170 if (ivcomp - 0) 25170,15170,25170
                    643: 15170 ivpass = ivpass + 1
                    644:       write (i02,80001) ivtnum
                    645:       go to 5181
                    646: 25170 ivfail = ivfail + 1
                    647:       ivcorr = 0
                    648:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    649:  5181 continue
                    650:       ivtnum = 518
                    651: c
                    652: c      ****  test 518  ****
                    653: c
                    654:       if (iczero) 35180, 5180, 35180
                    655:  5180 continue
                    656:       ivcomp = (-16811) / (+16811) / (+1)
                    657:       go to 45180
                    658: 35180 ivdele = ivdele + 1
                    659:       write (i02,80003) ivtnum
                    660:       if (iczero) 45180, 5191, 45180
                    661: 45180 if (ivcomp +1) 25180,15180,25180
                    662: 15180 ivpass = ivpass + 1
                    663:       write (i02,80001) ivtnum
                    664:       go to 5191
                    665: 25180 ivfail = ivfail + 1
                    666:       ivcorr = -1
                    667:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    668:  5191 continue
                    669:       ivtnum = 519
                    670: c
                    671: c      ****  test 519  ****
                    672: c
                    673:       if (iczero) 35190, 5190, 35190
                    674:  5190 continue
                    675:       ivcomp = (-335)/(+168)/(+1)
                    676:       go to 45190
                    677: 35190 ivdele = ivdele + 1
                    678:       write (i02,80003) ivtnum
                    679:       if (iczero) 45190, 5201, 45190
                    680: 45190 if (ivcomp + 1) 25190,15190,25190
                    681: 15190 ivpass = ivpass + 1
                    682:       write (i02,80001) ivtnum
                    683:       go to 5201
                    684: 25190 ivfail = ivfail + 1
                    685:       ivcorr = -1
                    686:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    687: c      ****    end of tests    ****
                    688:  5201 continue
                    689: c
                    690: c     write page footings and run summaries
                    691: 99999 continue
                    692:       write (i02,90002)
                    693:       write (i02,90006)
                    694:       write (i02,90002)
                    695:       write (i02,90002)
                    696:       write (i02,90007)
                    697:       write (i02,90002)
                    698:       write (i02,90008)  ivfail
                    699:       write (i02,90009) ivpass
                    700:       write (i02,90010) ivdele
                    701: c
                    702: c
                    703: c     terminate routine execution
                    704:       stop
                    705: c
                    706: c     format statements for page headers
                    707: 90000 format (1h1)
                    708: 90002 format (1h )
                    709: 90001 format (1h ,10x,34hfortran compiler validation system)
                    710: 90003 format (1h ,21x,11hversion 1.0)
                    711: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    712: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    713: 90006 format (1h ,5x,46h----------------------------------------------)
                    714: 90011 format (1h ,18x,17hsubset level test)
                    715: c
                    716: c     format statements for run summaries
                    717: 90008 format (1h ,15x,i5,19h errors encountered)
                    718: 90009 format (1h ,15x,i5,13h tests passed)
                    719: 90010 format (1h ,15x,i5,14h tests deleted)
                    720: c
                    721: c     format statements for test results
                    722: 80001 format (1h ,4x,i5,7x,4hpass)
                    723: 80002 format (1h ,4x,i5,7x,4hfail)
                    724: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    725: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    726: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    727: c
                    728: 90007 format (1h ,20x,20hend of program fm037)
                    729:       end

unix.superglobalmegacorp.com

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