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

1.1       root        1: c     comment section
                      2: c
                      3: c     fm038
                      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 constant/integer constant)/integer constant
                     19: c             (2) integer constant/(integer constant/integer constant)
                     20: c             (3) integer variable/integer constant
                     21: c             (4) integer constant/integer variable
                     22: c
                     23: c      references
                     24: c        american national standard programming language fortran,
                     25: c              x3.9-1978
                     26: c
                     27: c        section 4.3, integer type
                     28: c        section 4.3.1, integer constant
                     29: c        section 6.1, arithmetic expressions
                     30: c        section 6.6, evaluation of expressions
                     31: c        section 10.1, arithmetic assignment statement
                     32: c
                     33: c      **********************************************************
                     34: c
                     35: c         a compiler validation system for the fortran language
                     36: c     based on specifications as defined in american national standard
                     37: c     programming language fortran x3.9-1978, has been developed by the
                     38: c     federal cobol compiler testing service.  the fortran compiler
                     39: c     validation system (fcvs) consists of audit routines, their related
                     40: c     data, and an executive system.  each audit routine is a fortran
                     41: c     program, subprogram or function which includes tests of specific
                     42: c     language elements and supporting procedures indicating the result
                     43: c     of executing these tests.
                     44: c
                     45: c         this particular program/subprogram/function contains features
                     46: c     found only in the subset as defined in x3.9-1978.
                     47: c
                     48: c         suggestions and comments should be forwarded to -
                     49: c
                     50: c                  department of the navy
                     51: c                  federal cobol compiler testing service
                     52: c                  washington, d.c.  20376
                     53: c
                     54: c      **********************************************************
                     55: c
                     56: c
                     57: c
                     58: c     initialization section
                     59: c
                     60: c     initialize constants
                     61: c      **************
                     62: c     i01 contains the logical unit number for the card reader.
                     63:       i01 = 5
                     64: c     i02 contains the logical unit number for the printer.
                     65:       i02 = 6
                     66: c     system environment section
                     67: c
                     68: cx010    this card is replaced by contents of fexec x-010 control card.
                     69: c     the cx010 card is for overriding the program default i01 = 5
                     70: c     (unit number for card reader).
                     71: cx011    this card is replaced by contents of fexec x-011 control card.
                     72: c     the cx011 card is for systems which require additional
                     73: c     fortran statements for files associated with cx010 above.
                     74: c
                     75: cx020    this card is replaced by contents of fexec x-020 control card.
                     76: c     the cx020 card is for overriding the program default i02 = 6
                     77: c     (unit number for printer).
                     78: cx021    this card is replaced by contents of fexec x-021 control card.
                     79: c     the cx021 card is for systems which require additional
                     80: c     fortran statements for files associated with cx020 above.
                     81: c
                     82:       ivpass=0
                     83:       ivfail=0
                     84:       ivdele=0
                     85:       iczero=0
                     86: c
                     87: c     write page headers
                     88:       write (i02,90000)
                     89:       write (i02,90001)
                     90:       write (i02,90002)
                     91:       write (i02, 90002)
                     92:       write (i02,90003)
                     93:       write (i02,90002)
                     94:       write (i02,90004)
                     95:       write (i02,90002)
                     96:       write (i02,90011)
                     97:       write (i02,90002)
                     98:       write (i02,90002)
                     99:       write (i02,90005)
                    100:       write (i02,90006)
                    101:       write (i02,90002)
                    102: c
                    103: c     test section
                    104: c
                    105: c         arithmetic assignment statement
                    106: c
                    107: c     test 520 through test 525 contain arithmetic assignment statements
                    108: c     of the form       integer variable = (int.con./int.con.)/int.con.
                    109: c     no truncation of the result is required.  both positive and
                    110: c     negative constants are included.
                    111: c
                    112:  5201 continue
                    113:       ivtnum = 520
                    114: c
                    115: c      ****  test 520  ****
                    116: c
                    117:       if (iczero) 35200, 5200, 35200
                    118:  5200 continue
                    119:       ivcomp = (24/3)/4
                    120:       go to 45200
                    121: 35200 ivdele = ivdele + 1
                    122:       write (i02,80003) ivtnum
                    123:       if (iczero) 45200, 5211, 45200
                    124: 45200 if (ivcomp - 2) 25200,15200,25200
                    125: 15200 ivpass = ivpass + 1
                    126:       write (i02,80001) ivtnum
                    127:       go to 5211
                    128: 25200 ivfail = ivfail + 1
                    129:       ivcorr = 2
                    130:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    131:  5211 continue
                    132:       ivtnum = 521
                    133: c
                    134: c      ****  test 521  ****
                    135: c
                    136:       if (iczero) 35210, 5210, 35210
                    137:  5210 continue
                    138:       ivcomp = (7150/2)/25
                    139:       go to 45210
                    140: 35210 ivdele = ivdele + 1
                    141:       write (i02,80003) ivtnum
                    142:       if (iczero) 45210, 5221, 45210
                    143: 45210 if (ivcomp - 143) 25210,15210,25210
                    144: 15210 ivpass = ivpass + 1
                    145:       write (i02,80001) ivtnum
                    146:       go to 5221
                    147: 25210 ivfail = ivfail + 1
                    148:       ivcorr = 143
                    149:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    150:  5221 continue
                    151:       ivtnum = 522
                    152: c
                    153: c      ****  test 522  ****
                    154: c
                    155:       if (iczero) 35220, 5220, 35220
                    156: 
                    157:  5220 continue
                    158:       ivcomp = (-24/3)/4
                    159:       go to 45220
                    160: 35220 ivdele = ivdele + 1
                    161:       write (i02,80003) ivtnum
                    162:       if (iczero) 45220, 5231, 45220
                    163: 45220 if (ivcomp + 2) 25220,15220,25220
                    164: 15220 ivpass = ivpass + 1
                    165:       write (i02,80001) ivtnum
                    166:       go to 5231
                    167: 25220 ivfail = ivfail + 1
                    168:       ivcorr = -2
                    169:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    170:  5231 continue
                    171:       ivtnum = 523
                    172: c
                    173: c      ****  test 523  ****
                    174: c
                    175:       if (iczero) 35230, 5230, 35230
                    176:  5230 continue
                    177:       ivcomp = (330/(-3))/2
                    178:       go to 45230
                    179: 35230 ivdele = ivdele + 1
                    180:       write (i02,80003) ivtnum
                    181:       if (iczero) 45230, 5241, 45230
                    182: 45230 if (ivcomp + 55) 25230,15230,25230
                    183: 15230 ivpass = ivpass + 1
                    184:       write (i02,80001) ivtnum
                    185:       go to 5241
                    186: 25230 ivfail = ivfail + 1
                    187:       ivcorr = -55
                    188:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    189:  5241 continue
                    190:       ivtnum = 524
                    191: c
                    192: c      ****  test 524  ****
                    193: c
                    194:       if (iczero) 35240, 5240, 35240
                    195:  5240 continue
                    196:       ivcomp = ((-7150)/(-2))/(-25)
                    197:       go to 45240
                    198: 35240 ivdele = ivdele + 1
                    199:       write (i02,80003) ivtnum
                    200:       if (iczero) 45240, 5251, 45240
                    201: 45240 if (ivcomp + 143) 25240,15240,25240
                    202: 15240 ivpass = ivpass + 1
                    203:       write (i02,80001) ivtnum
                    204:       go to 5251
                    205: 25240 ivfail = ivfail + 1
                    206:       ivcorr = -143
                    207:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    208:  5251 continue
                    209:       ivtnum = 525
                    210: c
                    211: c      ****  test 525  ****
                    212: c
                    213:       if (iczero) 35250, 5250, 35250
                    214:  5250 continue
                    215:       ivcomp = (15249/(-13))/(-51)
                    216:       go to 45250
                    217: 35250 ivdele = ivdele + 1
                    218:       write (i02,80003) ivtnum
                    219:       if (iczero) 45250, 5261, 45250
                    220: 45250 if (ivcomp - 23) 25250,15250,25250
                    221: 15250 ivpass = ivpass + 1
                    222:       write (i02,80001) ivtnum
                    223:       go to 5261
                    224: 25250 ivfail = ivfail + 1
                    225:       ivcorr = 23
                    226:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    227: c
                    228: c     test 526 through test 531 contain arithmetic assignment statements
                    229: c     of the form   iv = (ic/ic)/ic.
                    230: c     truncation of the result is required.  both positive and
                    231: c     negative constants are included.
                    232: c
                    233:  5261 continue
                    234:       ivtnum = 526
                    235: c
                    236: c      ****  test 526  ****
                    237: c
                    238:       if (iczero) 35260, 5260, 35260
                    239:  5260 continue
                    240:       ivcomp = (24/3)/3
                    241:       go to 45260
                    242: 35260 ivdele = ivdele + 1
                    243:       write (i02,80003) ivtnum
                    244:       if (iczero) 45260, 5271, 45260
                    245: 45260 if (ivcomp - 2) 25260,15260,25260
                    246: 15260 ivpass = ivpass + 1
                    247:       write (i02,80001) ivtnum
                    248:       go to 5271
                    249: 25260 ivfail = ivfail + 1
                    250:       ivcorr = 2
                    251:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    252:  5271 continue
                    253:       ivtnum = 527
                    254: c
                    255: c      ****  test 527  ****
                    256: c
                    257:       if (iczero) 35270, 5270, 35270
                    258:  5270 continue
                    259:       ivcomp = (7151/3)/10
                    260:       go to 45270
                    261: 35270 ivdele = ivdele + 1
                    262:       write (i02,80003) ivtnum
                    263:       if (iczero) 45270, 5281, 45270
                    264: 45270 if (ivcomp - 238) 25270,15270,25270
                    265: 15270 ivpass = ivpass + 1
                    266:       write (i02,80001) ivtnum
                    267:       go to 5281
                    268: 25270 ivfail = ivfail + 1
                    269:       ivcorr = 238
                    270:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    271:  5281 continue
                    272:       ivtnum = 528
                    273: c
                    274: c      ****  test 528  ****
                    275: c
                    276:       if (iczero) 35280, 5280, 35280
                    277:  5280 continue
                    278:       ivcomp = (-24/3)/3
                    279:       go to 45280
                    280: 35280 ivdele = ivdele + 1
                    281:       write (i02,80003) ivtnum
                    282:       if (iczero) 45280, 5291, 45280
                    283: 45280 if (ivcomp + 2) 25280,15280,25280
                    284: 15280 ivpass = ivpass + 1
                    285:       write (i02,80001) ivtnum
                    286:       go to 5291
                    287: 25280 ivfail = ivfail + 1
                    288:       ivcorr = -2
                    289:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    290:  5291 continue
                    291:       ivtnum = 529
                    292: c
                    293: c      ****  test 529  ****
                    294: c
                    295:       if (iczero) 35290, 5290, 35290
                    296:  5290 continue
                    297:       ivcomp = (7151/(-3))/10
                    298:       go to 45290
                    299: 35290 ivdele = ivdele + 1
                    300:       write (i02,80003) ivtnum
                    301:       if (iczero) 45290, 5301, 45290
                    302: 45290 if (ivcomp + 238) 25290,15290,25290
                    303: 15290 ivpass = ivpass + 1
                    304:       write (i02,80001) ivtnum
                    305:       go to 5301
                    306: 25290 ivfail = ivfail + 1
                    307:       ivcorr = -238
                    308:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    309:  5301 continue
                    310:       ivtnum = 530
                    311: c
                    312: c      ****  test 530  ****
                    313: c
                    314:       if (iczero) 35300, 5300, 35300
                    315:  5300 continue
                    316:       ivcomp = (15248/(-51))/(-23)
                    317:       go to 45300
                    318: 35300 ivdele = ivdele + 1
                    319:       write (i02,80003) ivtnum
                    320:       if (iczero) 45300, 5311, 45300
                    321: 45300 if (ivcomp - 12) 25300,15300,25300
                    322: 15300 ivpass = ivpass + 1
                    323:       write (i02,80001) ivtnum
                    324:       go to 5311
                    325: 25300 ivfail = ivfail + 1
                    326:       ivcorr = 12
                    327:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    328:  5311 continue
                    329:       ivtnum = 531
                    330: c
                    331: c      ****  test 531  ****
                    332: c
                    333:       if (iczero) 35310, 5310, 35310
                    334:  5310 continue
                    335:       ivcomp = ((-27342)/(-4))/(-3)
                    336:       go to 45310
                    337: 35310 ivdele = ivdele + 1
                    338:       write (i02,80003) ivtnum
                    339:       if (iczero) 45310, 5321, 45310
                    340: 45310 if (ivcomp + 2278) 25310,15310,25310
                    341: 15310 ivpass = ivpass + 1
                    342:       write (i02,80001) ivtnum
                    343:       go to 5321
                    344: 25310 ivfail = ivfail + 1
                    345:       ivcorr = -2278
                    346:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    347: c
                    348: c     test 532 through test 537 contain arithmetic assignment statements
                    349: c     of the form   iv = ic/(ic/ic).
                    350: c     no truncation of the result is required.  both positive and
                    351: c     negative constants are included.
                    352: c
                    353:  5321 continue
                    354:       ivtnum = 532
                    355: c
                    356: c      ****  test 532  ****
                    357: c
                    358:       if (iczero) 35320, 5320, 35320
                    359:  5320 continue
                    360:       ivcomp = 24/(8/4)
                    361:       go to 45320
                    362: 35320 ivdele = ivdele + 1
                    363:       write (i02,80003) ivtnum
                    364:       if (iczero) 45320, 5331, 45320
                    365: 45320 if (ivcomp - 12) 25320,15320,25320
                    366: 15320 ivpass = ivpass + 1
                    367:       write (i02,80001) ivtnum
                    368:       go to 5331
                    369: 25320 ivfail = ivfail + 1
                    370:       ivcorr = 12
                    371:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    372:  5331 continue
                    373:       ivtnum = 533
                    374: c
                    375: c      ****  test 533  ****
                    376: c
                    377:       if (iczero) 35330, 5330, 35330
                    378:  5330 continue
                    379:       ivcomp = 7150/(25/5)
                    380:       go to 45330
                    381: 35330 ivdele = ivdele + 1
                    382:       write (i02,80003) ivtnum
                    383:       if (iczero) 45330, 5341, 45330
                    384: 45330 if (ivcomp - 1430) 25330,15330,25330
                    385: 15330 ivpass = ivpass + 1
                    386:       write (i02,80001) ivtnum
                    387:       go to 5341
                    388: 25330 ivfail = ivfail + 1
                    389:       ivcorr = 1430
                    390:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    391:  5341 continue
                    392:       ivtnum = 534
                    393: c
                    394: c      ****  test 534  ****
                    395: c
                    396:       if (iczero) 35340, 5340, 35340
                    397:  5340 continue
                    398:       ivcomp = -24/(8/4)
                    399:       go to 45340
                    400: 35340 ivdele = ivdele + 1
                    401:       write (i02,80003) ivtnum
                    402:       if (iczero) 45340, 5351, 45340
                    403: 45340 if (ivcomp + 12) 25340,15340,25340
                    404: 15340 ivpass = ivpass + 1
                    405:       write (i02,80001) ivtnum
                    406:       go to 5351
                    407: 25340 ivfail = ivfail + 1
                    408:       ivcorr = -12
                    409:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    410:  5351 continue
                    411:       ivtnum = 535
                    412: c
                    413: c      ****  test 535  ****
                    414: c
                    415:       if (iczero) 35350, 5350, 35350
                    416:  5350 continue
                    417:       ivcomp = 24/((-8)/4)
                    418:       go to 45350
                    419: 35350 ivdele = ivdele + 1
                    420:       write (i02,80003) ivtnum
                    421:       if (iczero) 45350, 5361, 45350
                    422: 45350 if (ivcomp + 12) 25350,15350,25350
                    423: 15350 ivpass = ivpass + 1
                    424:       write (i02,80001) ivtnum
                    425:       go to 5361
                    426: 25350 ivfail = ivfail + 1
                    427:       ivcorr = -12
                    428:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    429:  5361 continue
                    430:       ivtnum = 536
                    431: c
                    432: c      ****  test 536  ****
                    433: c
                    434:       if (iczero) 35360, 5360, 35360
                    435:  5360 continue
                    436:       ivcomp = (-7150)/((-25)/(-5))
                    437:       go to 45360
                    438: 35360 ivdele = ivdele + 1
                    439:       write (i02,80003) ivtnum
                    440:       if (iczero) 45360, 5371, 45360
                    441: 45360 if (ivcomp + 1430) 25360,15360,25360
                    442: 15360 ivpass = ivpass + 1
                    443:       write (i02,80001) ivtnum
                    444:       go to 5371
                    445: 25360 ivfail = ivfail + 1
                    446:       ivcorr = -1430
                    447:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    448:  5371 continue
                    449:       ivtnum = 537
                    450: c
                    451: c      ****  test 537  ****
                    452: c
                    453:       if (iczero) 35370, 5370, 35370
                    454:  5370 continue
                    455:       ivcomp = -7150/(25/(-5))
                    456:       go to 45370
                    457: 35370 ivdele = ivdele + 1
                    458:       write (i02,80003) ivtnum
                    459:       if (iczero) 45370, 5381, 45370
                    460: 45370 if (ivcomp - 1430) 25370,15370,25370
                    461: 15370 ivpass = ivpass + 1
                    462:       write (i02,80001) ivtnum
                    463:       go to 5381
                    464: 25370 ivfail = ivfail + 1
                    465:       ivcorr = 1430
                    466:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    467: c
                    468: c     test 538 through test 543 contain arithmetic assigmment statements
                    469: c     of the form   iv = ic/(ic/ic).
                    470: c     truncation of the result is required.  both positive and
                    471: c     negative constants are included.
                    472: c
                    473:  5381 continue
                    474:       ivtnum = 538
                    475: c
                    476: c      ****  test 538  ****
                    477: c
                    478:       if (iczero) 35380, 5380, 35380
                    479:  5380 continue
                    480:       ivcomp = 29/(5/2)
                    481:       go to 45380
                    482: 35380 ivdele = ivdele + 1
                    483:       write (i02,80003) ivtnum
                    484:       if (iczero) 45380, 5391, 45380
                    485: 45380 if (ivcomp - 14) 25380,15380,25380
                    486: 15380 ivpass = ivpass + 1
                    487:       write (i02,80001) ivtnum
                    488:       go to 5391
                    489: 25380 ivfail = ivfail + 1
                    490:       ivcorr = 14
                    491:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    492:  5391 continue
                    493:       ivtnum = 539
                    494: c
                    495: c      ****  test 539  ****
                    496: c
                    497:       if (iczero) 35390, 5390, 35390
                    498:  5390 continue
                    499:       ivcomp = 7154/(26/5)
                    500:       go to 45390
                    501: 35390 ivdele = ivdele + 1
                    502:       write (i02,80003) ivtnum
                    503:       if (iczero) 45390, 5401, 45390
                    504: 45390 if (ivcomp - 1430) 25390,15390,25390
                    505: 15390 ivpass = ivpass + 1
                    506:       write (i02,80001) ivtnum
                    507:       go to 5401
                    508: 25390 ivfail = ivfail + 1
                    509:       ivcorr = 1430
                    510:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    511:  5401 continue
                    512:       ivtnum = 540
                    513: c
                    514: c      ****  test 540  ****
                    515: c
                    516:       if (iczero) 35400, 5400, 35400
                    517:  5400 continue
                    518:       ivcomp = -7154/(26/5)
                    519:       go to 45400
                    520: 35400 ivdele = ivdele + 1
                    521:       write (i02,80003) ivtnum
                    522:       if (iczero) 45400, 5411, 45400
                    523: 45400 if (ivcomp + 1430) 25400,15400,25400
                    524: 15400 ivpass = ivpass + 1
                    525:       write (i02,80001) ivtnum
                    526:       go to 5411
                    527: 25400 ivfail = ivfail + 1
                    528:       ivcorr = -1430
                    529:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    530:  5411 continue
                    531:       ivtnum = 541
                    532: c
                    533: c      ****  test 541  ****
                    534: c
                    535:       if (iczero) 35410, 5410, 35410
                    536:  5410 continue
                    537:       ivcomp = (-7154)/((-26)/5)
                    538:       go to 45410
                    539: 35410 ivdele = ivdele + 1
                    540:       write (i02,80003) ivtnum
                    541:       if (iczero) 45410, 5421, 45410
                    542: 45410 if (ivcomp - 1430) 25410,15410,25410
                    543: 15410 ivpass = ivpass + 1
                    544:       write (i02,80001) ivtnum
                    545:       go to 5421
                    546: 25410 ivfail = ivfail + 1
                    547:       ivcorr = 1430
                    548:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    549:  5421 continue
                    550:       ivtnum = 542
                    551: c
                    552: c      ****  test 542  ****
                    553: c
                    554:       if (iczero) 35420, 5420, 35420
                    555:  5420 continue
                    556:       ivcomp = 7154/((-26)/(-5))
                    557:       go to 45420
                    558: 35420 ivdele = ivdele + 1
                    559:       write (i02,80003) ivtnum
                    560:       if (iczero) 45420, 5431, 45420
                    561: 45420 if (ivcomp - 1430) 25420,15420,25420
                    562: 15420 ivpass = ivpass + 1
                    563:       write (i02,80001) ivtnum
                    564:       go to 5431
                    565: 25420 ivfail = ivfail + 1
                    566:       ivcorr = 1430
                    567:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    568:  5431 continue
                    569:       ivtnum = 543
                    570: c
                    571: c      ****  test 543  ****
                    572: c
                    573:       if (iczero) 35430, 5430, 35430
                    574:  5430 continue
                    575:       ivcomp = (-7154)/((-26)/(-5))
                    576:       go to 45430
                    577: 35430 ivdele = ivdele + 1
                    578:       write (i02,80003) ivtnum
                    579:       if (iczero) 45430, 5441, 45430
                    580: 45430 if (ivcomp + 1430) 25430,15430,25430
                    581: 15430 ivpass = ivpass + 1
                    582:       write (i02,80001) ivtnum
                    583:       go to 5441
                    584: 25430 ivfail = ivfail + 1
                    585:       ivcorr = -1430
                    586:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    587: c
                    588: c     test 544 through test 547 contain arithmetic assignment statements
                    589: c     of the form   integer variable = integer variable/integer constant
                    590: c
                    591:  5441 continue
                    592:       ivtnum = 544
                    593: c
                    594: c      ****  test 544  ****
                    595: c
                    596:       if (iczero) 35440, 5440, 35440
                    597:  5440 continue
                    598:       ivon01 = 75
                    599:       ivcomp = ivon01/25
                    600:       go to 45440
                    601: 35440 ivdele = ivdele + 1
                    602:       write (i02,80003) ivtnum
                    603:       if (iczero) 45440, 5451, 45440
                    604: 45440 if (ivcomp - 3) 25440,15440,25440
                    605: 15440 ivpass = ivpass + 1
                    606:       write (i02,80001) ivtnum
                    607:       go to 5451
                    608: 25440 ivfail = ivfail + 1
                    609:       ivcorr = 3
                    610:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    611:  5451 continue
                    612:       ivtnum = 545
                    613: c
                    614: c      ****  test 545  ****
                    615: c
                    616:       if (iczero) 35450, 5450, 35450
                    617:  5450 continue
                    618:       ivon01 = -3575
                    619:       ivcomp = ivon01/25
                    620:       go to 45450
                    621: 35450 ivdele = ivdele + 1
                    622:       write (i02,80003) ivtnum
                    623:       if (iczero) 45450, 5461, 45450
                    624: 45450 if (ivcomp + 143) 25450,15450,25450
                    625: 15450 ivpass = ivpass + 1
                    626:       write (i02,80001) ivtnum
                    627:       go to 5461
                    628: 25450 ivfail = ivfail + 1
                    629:       ivcorr = -143
                    630:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    631:  5461 continue
                    632:       ivtnum = 546
                    633: c
                    634: c      ****  test 546  ****
                    635: c
                    636:       if (iczero) 35460, 5460, 35460
                    637:  5460 continue
                    638:       ivon01 = 3575
                    639:       ivcomp = ivon01/(-143)
                    640:       go to 45460
                    641: 35460 ivdele = ivdele + 1
                    642:       write (i02,80003) ivtnum
                    643:       if (iczero) 45460, 5471, 45460
                    644: 45460 if (ivcomp + 25) 25460,15460,25460
                    645: 15460 ivpass = ivpass + 1
                    646:       write (i02,80001) ivtnum
                    647:       go to 5471
                    648: 25460 ivfail = ivfail + 1
                    649:       ivcorr = -25
                    650:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    651:  5471 continue
                    652:       ivtnum = 547
                    653: c
                    654: c      ****  test 547  ****
                    655: c
                    656:       if (iczero) 35470, 5470, 35470
                    657:  5470 continue
                    658:       ivon01 = 959
                    659:       ivcomp = ivon01/120
                    660:       go to 45470
                    661: 35470 ivdele = ivdele + 1
                    662:       write (i02,80003) ivtnum
                    663:       if (iczero) 45470, 5481, 45470
                    664: 45470 if (ivcomp -7)  25470,15470,25470
                    665: 15470 ivpass = ivpass + 1
                    666:       write (i02,80001) ivtnum
                    667:       go to 5481
                    668: 25470 ivfail = ivfail + 1
                    669:       ivcorr = 7
                    670:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    671: c
                    672: c     test 548 through test 551 contain arithmetic assignment statements
                    673: c     of the form   integer variable =integer constant/integer variable.
                    674: c
                    675:  5481 continue
                    676:       ivtnum = 548
                    677: c
                    678: c      ****  test 548  ****
                    679: c
                    680:       if (iczero) 35480, 5480, 35480
                    681:  5480 continue
                    682:       ivon02 = 25
                    683:       ivcomp = 75/ivon02
                    684:       go to 45480
                    685: 35480 ivdele = ivdele + 1
                    686:       write (i02,80003) ivtnum
                    687:       if (iczero) 45480, 5491, 45480
                    688: 45480 if (ivcomp - 3) 25480,15480,25480
                    689: 15480 ivpass = ivpass + 1
                    690:       write (i02,80001) ivtnum
                    691:       go to 5491
                    692: 25480 ivfail = ivfail + 1
                    693:       ivcorr = 3
                    694:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    695:  5491 continue
                    696:       ivtnum = 549
                    697: c
                    698: c      ****  test 549  ****
                    699: c
                    700:       if (iczero) 35490, 5490, 35490
                    701:  5490 continue
                    702:       ivon02 = -25
                    703:       ivcomp = 3579/ivon02
                    704:       go to 45490
                    705: 35490 ivdele = ivdele + 1
                    706:       write (i02,80003) ivtnum
                    707:       if (iczero) 45490, 5501, 45490
                    708: 45490 if (ivcomp + 143) 25490,15490,25490
                    709: 15490 ivpass = ivpass + 1
                    710:       write (i02,80001) ivtnum
                    711:       go to 5501
                    712: 25490 ivfail = ivfail + 1
                    713:       ivcorr = -143
                    714:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    715:  5501 continue
                    716:       ivtnum = 550
                    717: c
                    718: c      ****  test 550  ****
                    719: c
                    720:       if (iczero) 35500, 5500, 35500
                    721:  5500 continue
                    722:       ivon02 = -143
                    723:       ivcomp = (-3575)/ivon02
                    724:       go to 45500
                    725: 35500 ivdele = ivdele + 1
                    726:       write (i02,80003) ivtnum
                    727:       if (iczero) 45500, 5511, 45500
                    728: 45500 if (ivcomp - 25) 25500,15500,25500
                    729: 15500 ivpass = ivpass + 1
                    730:       write (i02,80001) ivtnum
                    731:       go to 5511
                    732: 25500 ivfail = ivfail + 1
                    733:       ivcorr = 25
                    734:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    735:  5511 continue
                    736:       ivtnum = 551
                    737: c
                    738: c      ****  test 551  ****
                    739: c
                    740:       if (iczero) 35510, 5510, 35510
                    741:  5510 continue
                    742:       ivon02 = 120
                    743:       ivcomp = -959/ivon02
                    744:       go to 45510
                    745: 35510 ivdele = ivdele + 1
                    746:       write (i02,80003) ivtnum
                    747:       if (iczero) 45510, 5521, 45510
                    748: 45510 if (ivcomp + 7) 25510,15510,25510
                    749: 15510 ivpass = ivpass + 1
                    750:       write (i02,80001) ivtnum
                    751:       go to 5521
                    752: 25510 ivfail = ivfail + 1
                    753:       ivcorr = -7
                    754:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    755: c      ****    end of tests    ****
                    756:  5521 continue
                    757: c
                    758: c     write page footings and run summaries
                    759: 99999 continue
                    760:       write (i02,90002)
                    761:       write (i02,90006)
                    762:       write (i02,90002)
                    763:       write (i02,90002)
                    764:       write (i02,90007)
                    765:       write (i02,90002)
                    766:       write (i02,90008)  ivfail
                    767:       write (i02,90009) ivpass
                    768:       write (i02,90010) ivdele
                    769: c
                    770: c
                    771: c     terminate routine execution
                    772:       stop
                    773: c
                    774: c     format statements for page headers
                    775: 90000 format (1h1)
                    776: 90002 format (1h )
                    777: 90001 format (1h ,10x,34hfortran compiler validation system)
                    778: 90003 format (1h ,21x,11hversion 1.0)
                    779: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    780: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    781: 90006 format (1h ,5x,46h----------------------------------------------)
                    782: 90011 format (1h ,18x,17hsubset level test)
                    783: c
                    784: c     format statements for run summaries
                    785: 90008 format (1h ,15x,i5,19h errors encountered)
                    786: 90009 format (1h ,15x,i5,13h tests passed)
                    787: 90010 format (1h ,15x,i5,14h tests deleted)
                    788: c
                    789: c     format statements for test results
                    790: 80001 format (1h ,4x,i5,7x,4hpass)
                    791: 80002 format (1h ,4x,i5,7x,4hfail)
                    792: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    793: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    794: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    795: c
                    796: 90007 format (1h ,20x,20hend of program fm038)
                    797:       end

unix.superglobalmegacorp.com

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