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

1.1       root        1: c     comment section
                      2: c
                      3: c     fm033
                      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 the arithmetic
                      9: c     operator * and integer constants.  some of the tests use parens
                     10: c     to group elements in the expression and to allow the use of
                     11: c     negative constants following the * operator.
                     12: c
                     13: c     there are tests where the arithmetic expression contains
                     14: c         (1)  integer constant * integer constant
                     15: c         (2)  integer constant * integer constant * integer constant
                     16: c         (3)  same as (2) but with parens to group elements
                     17: c
                     18: c      references
                     19: c        american national standard programming language fortran,
                     20: c              x3.9-1978
                     21: c
                     22: c        section 4.3, integer type
                     23: c        section 4.3.1, integer constant
                     24: c        section 6.1, arithmetic expressions
                     25: c        section 10.1, arithmetic assignment statement
                     26: c
                     27: c      **********************************************************
                     28: c
                     29: c         a compiler validation system for the fortran language
                     30: c     based on specifications as defined in american national standard
                     31: c     programming language fortran x3.9-1978, has been developed by the
                     32: c     federal cobol compiler testing service.  the fortran compiler
                     33: c     validation system (fcvs) consists of audit routines, their related
                     34: c     data, and an executive system.  each audit routine is a fortran
                     35: c     program, subprogram or function which includes tests of specific
                     36: c     language elements and supporting procedures indicating the result
                     37: c     of executing these tests.
                     38: c
                     39: c         this particular program/subprogram/function contains features
                     40: c     found only in the subset as defined in x3.9-1978.
                     41: c
                     42: c         suggestions and comments should be forwarded to -
                     43: c
                     44: c                  department of the navy
                     45: c                  federal cobol compiler testing service
                     46: c                  washington, d.c.  20376
                     47: c
                     48: c      **********************************************************
                     49: c
                     50: c
                     51: c
                     52: c     initialization section
                     53: c
                     54: c     initialize constants
                     55: c      **************
                     56: c     i01 contains the logical unit number for the card reader.
                     57:       i01 = 5
                     58: c     i02 contains the logical unit number for the printer.
                     59:       i02 = 6
                     60: c     system environment section
                     61: c
                     62: cx010    this card is replaced by contents of fexec x-010 control card.
                     63: c     the cx010 card is for overriding the program default i01 = 5
                     64: c     (unit number for card reader).
                     65: cx011    this card is replaced by contents of fexec x-011 control card.
                     66: c     the cx011 card is for systems which require additional
                     67: c     fortran statements for files associated with cx010 above.
                     68: c
                     69: cx020    this card is replaced by contents of fexec x-020 control card.
                     70: c     the cx020 card is for overriding the program default i02 = 6
                     71: c     (unit number for printer).
                     72: cx021    this card is replaced by contents of fexec x-021 control card.
                     73: c     the cx021 card is for systems which require additional
                     74: c     fortran statements for files associated with cx020 above.
                     75: c
                     76:       ivpass=0
                     77:       ivfail=0
                     78:       ivdele=0
                     79:       iczero=0
                     80: c
                     81: c     write page headers
                     82:       write (i02,90000)
                     83:       write (i02,90001)
                     84:       write (i02,90002)
                     85:       write (i02, 90002)
                     86:       write (i02,90003)
                     87:       write (i02,90002)
                     88:       write (i02,90004)
                     89:       write (i02,90002)
                     90:       write (i02,90011)
                     91:       write (i02,90002)
                     92:       write (i02,90002)
                     93:       write (i02,90005)
                     94:       write (i02,90006)
                     95:       write (i02,90002)
                     96: c
                     97: c     test section
                     98: c
                     99: c         arithmetic assignment statement
                    100: c
                    101: c     test 360 through test 376 contain two integer constants and
                    102: c     operator * in an arithmetic expression.
                    103: c              iv = ic * ic
                    104: c
                    105: c     test 360 through test 365  - integer constants are positive
                    106: c
                    107:  3601 continue
                    108:       ivtnum = 360
                    109: c
                    110: c       ****  test 360  ****
                    111: c
                    112:       if (iczero) 33600, 3600, 33600
                    113:  3600 continue
                    114:       ivcomp = 2 * 3
                    115:       go to 43600
                    116: 33600 ivdele = ivdele + 1
                    117:       write (i02,80003) ivtnum
                    118:       if (iczero) 43600, 3611, 43600
                    119: 43600 if (ivcomp - 6) 23600,13600,23600
                    120: 13600 ivpass = ivpass + 1
                    121:       write (i02,80001) ivtnum
                    122:       go to 3611
                    123: 23600 ivfail = ivfail + 1
                    124:       ivcorr=6
                    125:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    126:  3611 continue
                    127:       ivtnum = 361
                    128: c
                    129: c      ****  test 361  ****
                    130: c
                    131:       if (iczero) 33610, 3610, 33610
                    132:  3610 continue
                    133:       ivcomp = 3*2
                    134:       go to 43610
                    135: 33610 ivdele = ivdele + 1
                    136:       write (i02,80003) ivtnum
                    137:       if (iczero) 43610, 3621, 43610
                    138: 43610 if (ivcomp-6) 23610,13610,23610
                    139: 13610 ivpass = ivpass + 1
                    140:       write (i02,80001) ivtnum
                    141:       go to 3621
                    142: 23610 ivfail = ivfail + 1
                    143:       ivcorr=6
                    144:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    145:  3621 continue
                    146:       ivtnum = 362
                    147: c
                    148: c      ****  test 362  ****
                    149: c
                    150:       if (iczero) 33620, 3620, 33620
                    151:  3620 continue
                    152:       ivcomp=13*11
                    153:       go to 43620
                    154: 33620 ivdele = ivdele + 1
                    155:       write (i02,80003) ivtnum
                    156:       if (iczero) 43620, 3631, 43620
                    157: 43620 if (ivcomp-143) 23620,13620,23620
                    158: 13620 ivpass = ivpass + 1
                    159:       write (i02,80001) ivtnum
                    160:       go to 3631
                    161: 23620 ivfail = ivfail + 1
                    162:       ivcorr=143
                    163:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    164:  3631 continue
                    165:       ivtnum = 363
                    166: c
                    167: c      ****  test 363  ****
                    168: c
                    169:       if (iczero) 33630, 3630, 33630
                    170:  3630 continue
                    171:       ivcomp = 223*99
                    172:       go to 43630
                    173: 33630 ivdele = ivdele + 1
                    174:       write (i02,80003) ivtnum
                    175:       if (iczero) 43630, 3641, 43630
                    176: 43630 if (ivcomp-22077) 23630,13630,23630
                    177: 13630 ivpass = ivpass + 1
                    178:       write (i02,80001) ivtnum
                    179:       go to 3641
                    180: 23630 ivfail = ivfail + 1
                    181:       ivcorr=22077
                    182:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    183:  3641 continue
                    184:       ivtnum = 364
                    185: c
                    186: c      ****  test 364  ****
                    187: c
                    188:       if (iczero) 33640, 3640, 33640
                    189:  3640 continue
                    190:       ivcomp=11235*2
                    191:       go to 43640
                    192: 33640 ivdele = ivdele + 1
                    193:       write (i02,80003) ivtnum
                    194:       if (iczero) 43640, 3651, 43640
                    195: 43640 if (ivcomp-22470) 23640,13640,23640
                    196: 13640 ivpass = ivpass + 1
                    197:       write (i02,80001) ivtnum
                    198:       go to 3651
                    199: 23640 ivfail = ivfail + 1
                    200:       ivcorr=22470
                    201:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    202:  3651 continue
                    203:       ivtnum = 365
                    204: c
                    205: c      ****  test 365  ****
                    206: c
                    207:       if (iczero) 33650, 3650, 33650
                    208:  3650 continue
                    209:       ivcomp = 2*16383
                    210:       go to 43650
                    211: 33650 ivdele = ivdele + 1
                    212:       write (i02,80003) ivtnum
                    213:       if (iczero) 43650, 3661, 43650
                    214: 43650 if (ivcomp-32766) 23650,13650,23650
                    215: 13650 ivpass = ivpass + 1
                    216:       write (i02,80001) ivtnum
                    217:       go to 3661
                    218: 23650 ivfail = ivfail + 1
                    219:       ivcorr = 32766
                    220:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    221: c
                    222: c     test 366 through test 371
                    223: c         one positive and one negative constant
                    224: c
                    225:  3661 continue
                    226:       ivtnum = 366
                    227: c
                    228: c      ****  test 366  ****
                    229: c
                    230:       if (iczero) 33660, 3660, 33660
                    231:  3660 continue
                    232:       ivcomp =2*(-3)
                    233:       go to 43660
                    234: 33660 ivdele = ivdele + 1
                    235:       write (i02,80003) ivtnum
                    236:       if (iczero) 43660, 3671, 43660
                    237: 43660 if (ivcomp+6) 23660,13660,23660
                    238: 13660 ivpass = ivpass + 1
                    239:       write (i02,80001) ivtnum
                    240:       go to 3671
                    241: 23660 ivfail = ivfail + 1
                    242:       ivcorr = -6
                    243:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    244:  3671 continue
                    245:       ivtnum = 367
                    246: c
                    247: c      ****  test 367  ****
                    248: c
                    249:       if (iczero) 33670, 3670, 33670
                    250:  3670 continue
                    251:       ivcomp=(-2)*3
                    252:       go to 43670
                    253: 33670 ivdele = ivdele + 1
                    254:       write (i02,80003) ivtnum
                    255:       if (iczero) 43670, 3681, 43670
                    256: 43670 if (ivcomp+6)23670,13670,23670
                    257: 13670 ivpass = ivpass + 1
                    258:       write (i02,80001) ivtnum
                    259:       go to 3681
                    260: 23670 ivfail = ivfail + 1
                    261:       ivcorr =-6
                    262:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    263:  3681 continue
                    264:       ivtnum = 368
                    265: c
                    266: c      ****  test 368  ****
                    267: c
                    268:       if (iczero) 33680, 3680, 33680
                    269:  3680 continue
                    270:       ivcomp= -2*3
                    271:       go to 43680
                    272: 33680 ivdele = ivdele + 1
                    273:       write (i02,80003) ivtnum
                    274:       if (iczero) 43680, 3691, 43680
                    275: 43680 if (ivcomp +6) 23680,13680,23680
                    276: 13680 ivpass = ivpass + 1
                    277:       write (i02,80001) ivtnum
                    278:       go to 3691
                    279: 23680 ivfail = ivfail + 1
                    280:       ivcorr=-6
                    281:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    282:  3691 continue
                    283:       ivtnum = 369
                    284: c
                    285: c      ****  test 369  ****
                    286: c
                    287:       if (iczero) 33690, 3690, 33690
                    288:  3690 continue
                    289:       ivcomp = (-13)*11
                    290:       go to 43690
                    291: 33690 ivdele = ivdele + 1
                    292:       write (i02,80003) ivtnum
                    293:       if (iczero) 43690, 3701, 43690
                    294: 43690 if (ivcomp+143) 23690,13690,23690
                    295: 13690 ivpass = ivpass + 1
                    296:       write (i02,80001) ivtnum
                    297:       go to 3701
                    298: 23690 ivfail = ivfail + 1
                    299:       ivcorr=-143
                    300:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    301:  3701 continue
                    302:       ivtnum = 370
                    303: c
                    304: c      ****  test 370  ****
                    305: c
                    306:       if (iczero) 33700, 3700, 33700
                    307:  3700 continue
                    308:       ivcomp = 223 * (-99)
                    309:       go to 43700
                    310: 33700 ivdele = ivdele + 1
                    311:       write (i02,80003) ivtnum
                    312:       if (iczero) 43700, 3711, 43700
                    313: 43700 if (ivcomp + 22077) 23700,13700,23700
                    314: 13700 ivpass = ivpass + 1
                    315:       write (i02,80001) ivtnum
                    316:       go to 3711
                    317: 23700 ivfail = ivfail + 1
                    318:       ivcorr =-22077
                    319:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    320:  3711 continue
                    321:       ivtnum = 371
                    322: c
                    323: c      ****  test 371  ****
                    324: c
                    325:       if (iczero) 33710, 3710, 33710
                    326:  3710 continue
                    327:       ivcomp= -2 * 16383
                    328:       go to 43710
                    329: 33710 ivdele = ivdele + 1
                    330:       write (i02,80003) ivtnum
                    331:       if (iczero) 43710, 3721, 43710
                    332: 43710 if (ivcomp+32766) 23710,13710,23710
                    333: 13710 ivpass = ivpass + 1
                    334:       write (i02,80001) ivtnum
                    335:       go to 3721
                    336: 23710 ivfail = ivfail + 1
                    337:       ivcorr= -32766
                    338:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    339: c
                    340: c     test 372 through test 376 - two negative constants
                    341: c
                    342:  3721 continue
                    343:       ivtnum = 372
                    344: c
                    345: c      ****  test 372  ****
                    346: c
                    347:       if (iczero) 33720, 3720, 33720
                    348:  3720 continue
                    349:       ivcomp=(-2)*(-3)
                    350:       go to 43720
                    351: 33720 ivdele = ivdele + 1
                    352:       write (i02,80003) ivtnum
                    353:       if (iczero) 43720, 3731, 43720
                    354: 43720 if (ivcomp-6) 23720,13720,23720
                    355: 13720 ivpass = ivpass + 1
                    356:       write (i02,80001) ivtnum
                    357:       go to 3731
                    358: 23720 ivfail = ivfail + 1
                    359:       ivcorr=6
                    360:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    361:  3731 continue
                    362:       ivtnum = 373
                    363: c
                    364: c      ****  test 373  ****
                    365: c
                    366:       if (iczero) 33730, 3730, 33730
                    367:  3730 continue
                    368:       ivcomp = -2*(-3)
                    369:       go to 43730
                    370: 33730 ivdele = ivdele + 1
                    371:       write (i02,80003) ivtnum
                    372:       if (iczero) 43730, 3741, 43730
                    373: 43730 if (ivcomp-6) 23730,13730,23730
                    374: 13730 ivpass = ivpass + 1
                    375:       write (i02,80001) ivtnum
                    376:       go to 3741
                    377: 23730 ivfail = ivfail + 1
                    378:       ivcorr=6
                    379:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    380:  3741 continue
                    381:       ivtnum = 374
                    382: c
                    383: c      ****  test 374  ****
                    384: c
                    385:       if (iczero) 33740, 3740, 33740
                    386:  3740 continue
                    387:       ivcomp=(-13)*(-11)
                    388:       go to 43740
                    389: 33740 ivdele = ivdele + 1
                    390:       write (i02,80003) ivtnum
                    391:       if (iczero) 43740, 3751, 43740
                    392: 43740 if (ivcomp-143) 23740,13740,23740
                    393: 13740 ivpass = ivpass + 1
                    394:       write (i02,80001) ivtnum
                    395:       go to 3751
                    396: 23740 ivfail = ivfail + 1
                    397:       ivcorr = 143
                    398:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    399:  3751 continue
                    400:       ivtnum = 375
                    401: c
                    402: c      ****  test 375  ****
                    403: c
                    404:       if (iczero) 33750, 3750, 33750
                    405:  3750 continue
                    406:       ivcomp= -223 *(-99)
                    407:       go to 43750
                    408: 33750 ivdele = ivdele + 1
                    409:       write (i02,80003) ivtnum
                    410:       if (iczero) 43750, 3761, 43750
                    411: 43750 if (ivcomp - 22077) 23750,13750,23750
                    412: 13750 ivpass = ivpass + 1
                    413:       write (i02,80001) ivtnum
                    414:       go to 3761
                    415: 23750 ivfail = ivfail + 1
                    416:       ivcorr = 22077
                    417:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    418:  3761 continue
                    419:       ivtnum = 376
                    420: c
                    421: c      ****  test 376  ****
                    422: c
                    423:       if (iczero) 33760, 3760, 33760
                    424:  3760 continue
                    425:       ivcomp = (-16383)*(-2)
                    426:       go to 43760
                    427: 33760 ivdele = ivdele + 1
                    428:       write (i02,80003) ivtnum
                    429:       if (iczero) 43760, 3771, 43760
                    430: 43760 if (ivcomp - 32766) 23760,13760,23760
                    431: 13760 ivpass = ivpass + 1
                    432:       write (i02,80001) ivtnum
                    433:       go to 3771
                    434: 23760 ivfail = ivfail + 1
                    435:       ivcorr =32766
                    436:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    437: c
                    438: c     test 377 through test 394 contain three integer constants and
                    439: c     operator * in an arithmetic expression.
                    440: c               iv = ic * ic * ic
                    441: c
                    442: c     test 377 through test 382   - constants are positive
                    443: c
                    444:  3771 continue
                    445:       ivtnum = 377
                    446: c
                    447: c      ****  test 377  ****
                    448: c
                    449:       if (iczero) 33770, 3770, 33770
                    450:  3770 continue
                    451:       ivcomp =2*3*4
                    452:       go to 43770
                    453: 33770 ivdele = ivdele + 1
                    454:       write (i02,80003) ivtnum
                    455:       if (iczero) 43770, 3781, 43770
                    456: 43770 if (ivcomp-24) 23770,13770,23770
                    457: 13770 ivpass = ivpass + 1
                    458:       write (i02,80001) ivtnum
                    459:       go to 3781
                    460: 23770 ivfail = ivfail + 1
                    461:       ivcorr = 24
                    462:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    463:  3781 continue
                    464:       ivtnum = 378
                    465: c
                    466: c      ****  test 378  ****
                    467: c
                    468:       if (iczero) 33780, 3780, 33780
                    469:  3780 continue
                    470:       ivcomp = 2*3*55
                    471:       go to 43780
                    472: 33780 ivdele = ivdele + 1
                    473:       write (i02,80003) ivtnum
                    474:       if (iczero) 43780, 3791, 43780
                    475: 43780 if (ivcomp-330) 23780,13780,23780
                    476: 13780 ivpass = ivpass + 1
                    477:       write (i02,80001) ivtnum
                    478:       go to 3791
                    479: 23780 ivfail = ivfail + 1
                    480:       ivcorr = 330
                    481:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    482:  3791 continue
                    483:       ivtnum = 379
                    484: c
                    485: c      ****  test 379  ****
                    486: c
                    487:       if (iczero) 33790, 3790, 33790
                    488:  3790 continue
                    489:       ivcomp = 23*51*13
                    490:       go to 43790
                    491: 33790 ivdele = ivdele + 1
                    492:       write (i02,80003) ivtnum
                    493:       if (iczero) 43790, 3801, 43790
                    494: 43790 if (ivcomp-15249) 23790,13790,23790
                    495: 13790 ivpass = ivpass + 1
                    496:       write (i02,80001) ivtnum
                    497:       go to 3801
                    498: 23790 ivfail = ivfail + 1
                    499:       ivcorr = 15249
                    500:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    501:  3801 continue
                    502:       ivtnum = 380
                    503: c
                    504: c      ****  test 380  ****
                    505: c
                    506:       if (iczero) 33800, 3800, 33800
                    507:  3800 continue
                    508:       ivcomp = 3* 5461* 2
                    509:       go to 43800
                    510: 33800 ivdele = ivdele + 1
                    511:       write (i02,80003) ivtnum
                    512:       if (iczero) 43800, 3811, 43800
                    513: 43800 if (ivcomp - 32766) 23800,13800,23800
                    514: 13800 ivpass = ivpass + 1
                    515:       write (i02,80001) ivtnum
                    516:       go to 3811
                    517: 23800 ivfail = ivfail + 1
                    518:       ivcorr = 32766
                    519:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    520:  3811 continue
                    521:       ivtnum = 381
                    522: c
                    523: c      ****  test 381  ****
                    524: c
                    525:       if (iczero) 33810, 3810, 33810
                    526:  3810 continue
                    527:       ivcomp = 16383*2*1
                    528:       go to 43810
                    529: 33810 ivdele = ivdele + 1
                    530:       write (i02,80003) ivtnum
                    531:       if (iczero) 43810, 3821, 43810
                    532: 43810 if (ivcomp-32766) 23810,13810,23810
                    533: 13810 ivpass = ivpass + 1
                    534:       write (i02,80001) ivtnum
                    535:       go to 3821
                    536: 23810 ivfail = ivfail + 1
                    537:       ivcorr = 32766
                    538:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    539:  3821 continue
                    540:       ivtnum = 382
                    541: c
                    542: c      ****  test 382  ****
                    543: c
                    544:       if (iczero) 33820, 3820, 33820
                    545:  3820 continue
                    546:       ivcomp = 3*53*157
                    547:       go to 43820
                    548: 33820 ivdele = ivdele + 1
                    549:       write (i02,80003) ivtnum
                    550:       if (iczero) 43820, 3831, 43820
                    551: 43820 if (ivcomp-24963) 23820,13820,23820
                    552: 13820 ivpass = ivpass + 1
                    553:       write (i02,80001) ivtnum
                    554:       go to 3831
                    555: 23820 ivfail = ivfail + 1
                    556:       ivcorr = 24963
                    557:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    558: c
                    559: c     test 383 through test 386
                    560: c         three positive integer constants grouped with parens.
                    561: c
                    562:  3831 continue
                    563:       ivtnum = 383
                    564: c
                    565: c      ****  test 383  ****
                    566: c
                    567:       if (iczero) 33830, 3830, 33830
                    568:  3830 continue
                    569:       ivcomp = (2*3)*4
                    570:       go to 43830
                    571: 33830 ivdele = ivdele + 1
                    572:       write (i02,80003) ivtnum
                    573:       if (iczero) 43830, 3841, 43830
                    574: 43830 if (ivcomp-24) 23830,13830,23830
                    575: 13830 ivpass = ivpass + 1
                    576:       write (i02,80001) ivtnum
                    577:       go to 3841
                    578: 23830 ivfail = ivfail + 1
                    579:       ivcorr = 24
                    580:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    581:  3841 continue
                    582:       ivtnum = 384
                    583: c
                    584: c      ****  test 384  ****
                    585: c
                    586:       if (iczero) 33840, 3840, 33840
                    587:  3840 continue
                    588:       ivcomp = 2*(3*4)
                    589:       go to 43840
                    590: 33840 ivdele = ivdele + 1
                    591:       write (i02,80003) ivtnum
                    592:       if (iczero) 43840, 3851, 43840
                    593: 43840 if (ivcomp-24) 23840,13840,23840
                    594: 13840 ivpass = ivpass + 1
                    595:       write (i02,80001) ivtnum
                    596:       go to 3851
                    597: 23840 ivfail = ivfail + 1
                    598:       ivcorr = 24
                    599:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    600:  3851 continue
                    601:       ivtnum = 385
                    602: c
                    603: c      ****  test 385 ****
                    604: c
                    605:       if (iczero) 33850, 3850, 33850
                    606:  3850 continue
                    607:       ivcomp = (3*(+53)) * (+157)
                    608:       go to 43850
                    609: 33850 ivdele = ivdele + 1
                    610:       write (i02,80003) ivtnum
                    611:       if (iczero) 43850, 3861, 43850
                    612: 43850 if (ivcomp-24963) 23850,13850,23850
                    613: 13850 ivpass = ivpass + 1
                    614:       write (i02,80001) ivtnum
                    615:       go to 3861
                    616: 23850 ivfail = ivfail + 1
                    617:       ivcorr = 24963
                    618:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    619:  3861 continue
                    620:       ivtnum = 386
                    621: c
                    622: c      ****  test 386  ****
                    623: c
                    624:       if (iczero) 33860, 3860, 33860
                    625:  3860 continue
                    626:       ivcomp = 3 *((+53)*157)
                    627:       go to 43860
                    628: 33860 ivdele = ivdele + 1
                    629:       write (i02,80003) ivtnum
                    630:       if (iczero) 43860, 3871, 43860
                    631: 43860 if (ivcomp-24963) 23860,13860,23860
                    632: 13860 ivpass = ivpass + 1
                    633:       write (i02,80001) ivtnum
                    634:       go to 3871
                    635: 23860 ivfail = ivfail + 1
                    636:       ivcorr=24963
                    637:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    638: c
                    639: c     test 387 through test 391
                    640: c         both positive and negative constants in arithmetic expression.
                    641: c
                    642:  3871 continue
                    643:       ivtnum = 387
                    644: c
                    645: c      ****  test 387  ****
                    646: c
                    647:       if (iczero) 33870, 3870, 33870
                    648:  3870 continue
                    649:       ivcomp = 2*3*(-4)
                    650:       go to 43870
                    651: 33870 ivdele = ivdele + 1
                    652:       write (i02,80003) ivtnum
                    653:       if (iczero) 43870, 3881, 43870
                    654: 43870 if (ivcomp + 24) 23870,13870,23870
                    655: 13870 ivpass = ivpass + 1
                    656:       write (i02,80001) ivtnum
                    657:       go to 3881
                    658: 23870 ivfail = ivfail + 1
                    659:       ivcorr = -24
                    660:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    661:  3881 continue
                    662:       ivtnum = 388
                    663: c
                    664: c      ****  test 388  ****
                    665: c
                    666:       if (iczero) 33880, 3880, 33880
                    667:  3880 continue
                    668:       ivcomp = 2*(-3)*(+4)
                    669:       go to 43880
                    670: 33880 ivdele = ivdele + 1
                    671:       write (i02,80003) ivtnum
                    672:       if (iczero) 43880, 3891, 43880
                    673: 43880 if (ivcomp + 24) 23880,13880,23880
                    674: 13880 ivpass = ivpass + 1
                    675:       write (i02,80001) ivtnum
                    676:       go to 3891
                    677: 23880 ivfail = ivfail + 1
                    678:       ivcorr = -24
                    679:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    680:  3891 continue
                    681:       ivtnum = 389
                    682: c
                    683: c      ****  test 389  ****
                    684: c
                    685:       if (iczero) 33890, 3890, 33890
                    686:  3890 continue
                    687:       ivcomp = (-2)*3*4
                    688:       go to 43890
                    689: 33890 ivdele = ivdele + 1
                    690:       write (i02,80003) ivtnum
                    691:       if (iczero) 43890, 3901, 43890
                    692: 43890 if (ivcomp+24) 23890,13890,23890
                    693: 13890 ivpass = ivpass + 1
                    694:       write (i02,80001) ivtnum
                    695:       go to 3901
                    696: 23890 ivfail = ivfail + 1
                    697:       ivcorr = -24
                    698:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    699:  3901 continue
                    700:       ivtnum = 390
                    701: c
                    702: c      ****  test 390  ****
                    703: c
                    704:       if (iczero) 33900, 3900, 33900
                    705:  3900 continue
                    706:       ivcomp = -2*3*4
                    707:       go to 43900
                    708: 33900 ivdele = ivdele + 1
                    709:       write (i02,80003) ivtnum
                    710:       if (iczero) 43900, 3911, 43900
                    711: 43900 if (ivcomp+24) 23900,13900,23900
                    712: 13900 ivpass = ivpass + 1
                    713:       write (i02,80001) ivtnum
                    714:       go to 3911
                    715: 23900 ivfail = ivfail + 1
                    716:       ivcorr = -24
                    717:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    718:  3911 continue
                    719:       ivtnum = 391
                    720: c
                    721: c      ****  test 391  ****
                    722: c
                    723:       if (iczero) 33910, 3910, 33910
                    724:  3910 continue
                    725:       ivcomp = +2 * (-3) * (-4)
                    726:       go to 43910
                    727: 33910 ivdele = ivdele + 1
                    728:       write (i02,80003) ivtnum
                    729:       if (iczero) 43910, 3921, 43910
                    730: 43910 if (ivcomp - 24) 23910,13910,23910
                    731: 13910 ivpass = ivpass + 1
                    732:       write (i02,80001) ivtnum
                    733:       go to 3921
                    734: 23910 ivfail = ivfail + 1
                    735:       ivcorr = 24
                    736:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    737: c
                    738: c     test 392 through test 394
                    739: c         all constants are negative.
                    740: c
                    741:  3921 continue
                    742:       ivtnum = 392
                    743: c
                    744: c      ****  test 392  ****
                    745: c
                    746:       if (iczero) 33920, 3920, 33920
                    747:  3920 continue
                    748:       ivcomp = (-2)*(-3)*(-4)
                    749:       go to 43920
                    750: 33920 ivdele = ivdele + 1
                    751:       write (i02,80003) ivtnum
                    752:       if (iczero) 43920, 3931, 43920
                    753: 43920 if (ivcomp+24) 23920,13920,23920
                    754: 13920 ivpass = ivpass + 1
                    755:       write (i02,80001) ivtnum
                    756:       go to 3931
                    757: 23920 ivfail = ivfail + 1
                    758:       ivcorr = -24
                    759:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    760:  3931 continue
                    761:       ivtnum = 393
                    762: c
                    763: c      ****  test 393  ****
                    764: c
                    765:       if (iczero) 33930, 3930, 33930
                    766:  3930 continue
                    767:       ivcomp = (-23)*(-51)*(-13)
                    768:       go to 43930
                    769: 33930 ivdele = ivdele + 1
                    770:       write (i02,80003) ivtnum
                    771:       if (iczero) 43930, 3941, 43930
                    772: 43930 if (ivcomp + 15249) 23930,13930,23930
                    773: 13930 ivpass = ivpass + 1
                    774:       write (i02,80001) ivtnum
                    775:       go to 3941
                    776: 23930 ivfail = ivfail + 1
                    777:       ivcorr = -15249
                    778:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    779:  3941 continue
                    780:       ivtnum = 394
                    781: c
                    782: c      ****  test 394  ****
                    783: c
                    784:       if (iczero) 33940, 3940, 33940
                    785:  3940 continue
                    786:       ivcomp = -3 * (-53)*( -157)
                    787:       go to 43940
                    788: 33940 ivdele = ivdele + 1
                    789:       write (i02,80003) ivtnum
                    790:       if (iczero) 43940, 3951, 43940
                    791: 43940 if (ivcomp +24963) 23940,13940,23940
                    792: 13940 ivpass = ivpass + 1
                    793:       write (i02,80001) ivtnum
                    794:       go to 3951
                    795: 23940 ivfail = ivfail + 1
                    796:       ivcorr = -24963
                    797:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    798: c      ****   end of tests   ****
                    799:  3951 continue
                    800: c
                    801: c     write page footings and run summaries
                    802: 99999 continue
                    803:       write (i02,90002)
                    804:       write (i02,90006)
                    805:       write (i02,90002)
                    806:       write (i02,90002)
                    807:       write (i02,90007)
                    808:       write (i02,90002)
                    809:       write (i02,90008)  ivfail
                    810:       write (i02,90009) ivpass
                    811:       write (i02,90010) ivdele
                    812: c
                    813: c
                    814: c     terminate routine execution
                    815:       stop
                    816: c
                    817: c     format statements for page headers
                    818: 90000 format (1h1)
                    819: 90002 format (1h )
                    820: 90001 format (1h ,10x,34hfortran compiler validation system)
                    821: 90003 format (1h ,21x,11hversion 1.0)
                    822: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    823: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    824: 90006 format (1h ,5x,46h----------------------------------------------)
                    825: 90011 format (1h ,18x,17hsubset level test)
                    826: c
                    827: c     format statements for run summaries
                    828: 90008 format (1h ,15x,i5,19h errors encountered)
                    829: 90009 format (1h ,15x,i5,13h tests passed)
                    830: 90010 format (1h ,15x,i5,14h tests deleted)
                    831: c
                    832: c     format statements for test results
                    833: 80001 format (1h ,4x,i5,7x,4hpass)
                    834: 80002 format (1h ,4x,i5,7x,4hfail)
                    835: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    836: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    837: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    838: c
                    839: 90007 format (1h ,20x,20hend of program fm033)
                    840:       end

unix.superglobalmegacorp.com

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