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

1.1       root        1: c     comment section
                      2: c
                      3: c     fm040
                      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 variables and an integer constant.  both
                      9: c     positive and negative values are used for the integer variables
                     10: c     and the integer constant.
                     11: c
                     12: c         there are tests which require no truncation of the result and
                     13: c     tests where the result must be truncated before being stored in
                     14: c     the resultant integer variable.  some of the tests use parens
                     15: c     to group elements in the arithmetic expression.
                     16: c
                     17: c         there are tests where the arithmetic expression contains
                     18: c             (1) integer variable/integer variable
                     19: c             (2) integer variable/integer variable/integer constant
                     20: c                 integer variable/integer constant/integer variable
                     21: c                 integer constant/integer variable/integer variable
                     22: c             (3) same as (2) but with parentheses to group elements
                     23: c                   in the arithmetic expression.
                     24: c
                     25: c      references
                     26: c        american national standard programming language fortran,
                     27: c              x3.9-1978
                     28: c
                     29: c        section 4.3, integer type
                     30: c        section 4.3.1, integer constant
                     31: c        section 6.1, arithmetic expressions
                     32: c        section 6.6, evaluation of expressions
                     33: c        section 10.1, arithmetic assignment statement
                     34: c
                     35: c      **********************************************************
                     36: c
                     37: c         a compiler validation system for the fortran language
                     38: c     based on specifications as defined in american national standard
                     39: c     programming language fortran x3.9-1978, has been developed by the
                     40: c     federal cobol compiler testing service.  the fortran compiler
                     41: c     validation system (fcvs) consists of audit routines, their related
                     42: c     data, and an executive system.  each audit routine is a fortran
                     43: c     program, subprogram or function which includes tests of specific
                     44: c     language elements and supporting procedures indicating the result
                     45: c     of executing these tests.
                     46: c
                     47: c         this particular program/subprogram/function contains features
                     48: c     found only in the subset as defined in x3.9-1978.
                     49: c
                     50: c         suggestions and comments should be forwarded to -
                     51: c
                     52: c                  department of the navy
                     53: c                  federal cobol compiler testing service
                     54: c                  washington, d.c.  20376
                     55: c
                     56: c      **********************************************************
                     57: c
                     58: c
                     59: c
                     60: c     initialization section
                     61: c
                     62: c     initialize constants
                     63: c      **************
                     64: c     i01 contains the logical unit number for the card reader.
                     65:       i01 = 5
                     66: c     i02 contains the logical unit number for the printer.
                     67:       i02 = 6
                     68: c     system environment section
                     69: c
                     70: cx010    this card is replaced by contents of fexec x-010 control card.
                     71: c     the cx010 card is for overriding the program default i01 = 5
                     72: c     (unit number for card reader).
                     73: cx011    this card is replaced by contents of fexec x-011 control card.
                     74: c     the cx011 card is for systems which require additional
                     75: c     fortran statements for files associated with cx010 above.
                     76: c
                     77: cx020    this card is replaced by contents of fexec x-020 control card.
                     78: c     the cx020 card is for overriding the program default i02 = 6
                     79: c     (unit number for printer).
                     80: cx021    this card is replaced by contents of fexec x-021 control card.
                     81: c     the cx021 card is for systems which require additional
                     82: c     fortran statements for files associated with cx020 above.
                     83: c
                     84:       ivpass=0
                     85:       ivfail=0
                     86:       ivdele=0
                     87:       iczero=0
                     88: c
                     89: c     write page headers
                     90:       write (i02,90000)
                     91:       write (i02,90001)
                     92:       write (i02,90002)
                     93:       write (i02, 90002)
                     94:       write (i02,90003)
                     95:       write (i02,90002)
                     96:       write (i02,90004)
                     97:       write (i02,90002)
                     98:       write (i02,90011)
                     99:       write (i02,90002)
                    100:       write (i02,90002)
                    101:       write (i02,90005)
                    102:       write (i02,90006)
                    103:       write (i02,90002)
                    104: c
                    105: c     test section
                    106: c
                    107: c         arithmetic assignment statement
                    108: c
                    109: c     test 582 through test 597 contain arithmetic assignment statements
                    110: c     of the form       integer variable=integer variable/integer var.
                    111: c
                    112: c     test 582 through test 585 - positive values
                    113: c                   no truncation required
                    114: c
                    115:  5821 continue
                    116:       ivtnum = 582
                    117: c
                    118: c      ****  test 582  ****
                    119: c
                    120:       if (iczero) 35820, 5820, 35820
                    121:  5820 continue
                    122:       ivon01 = 4
                    123:       ivon02 = 2
                    124:       ivcomp = ivon01 / ivon02
                    125:       go to 45820
                    126: 35820 ivdele = ivdele + 1
                    127:       write (i02,80003) ivtnum
                    128:       if (iczero) 45820, 5831, 45820
                    129: 45820 if (ivcomp -2) 25820,15820,25820
                    130: 15820 ivpass = ivpass + 1
                    131:       write (i02,80001) ivtnum
                    132:       go to 5831
                    133: 25820 ivfail = ivfail + 1
                    134:       ivcorr = 2
                    135:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    136:  5831 continue
                    137:       ivtnum = 583
                    138: c
                    139: c      ****  test 583  ****
                    140: c
                    141:       if (iczero) 35830, 5830, 35830
                    142:  5830 continue
                    143:       ivon01 = 3575
                    144:       ivon02 = 25
                    145:       ivcomp = ivon01/ivon02
                    146:       go to 45830
                    147: 35830 ivdele = ivdele + 1
                    148:       write (i02,80003) ivtnum
                    149:       if (iczero) 45830, 5841, 45830
                    150: 45830 if (ivcomp - 143) 25830,15830,25830
                    151: 15830 ivpass = ivpass + 1
                    152:       write (i02,80001) ivtnum
                    153:       go to 5841
                    154: 25830 ivfail = ivfail + 1
                    155:       ivcorr = 143
                    156:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    157:  5841 continue
                    158:       ivtnum = 584
                    159: c
                    160: c      ****  test 584  ****
                    161: c
                    162:       if (iczero) 35840, 5840, 35840
                    163:  5840 continue
                    164:       ivon01 = 6170
                    165:       ivon02 = 1234
                    166:       ivcomp = ivon01/ivon02
                    167:       go to 45840
                    168: 35840 ivdele = ivdele + 1
                    169:       write (i02,80003) ivtnum
                    170:       if (iczero) 45840, 5851, 45840
                    171: 45840 if (ivcomp - 5) 25840,15840,25840
                    172: 15840 ivpass = ivpass + 1
                    173:       write (i02,80001) ivtnum
                    174:       go to 5851
                    175: 25840 ivfail = ivfail + 1
                    176:       ivcorr = 5
                    177:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    178:  5851 continue
                    179:       ivtnum = 585
                    180: c
                    181: c      ****  test 585  ****
                    182: c
                    183:       if (iczero) 35850, 5850, 35850
                    184:  5850 continue
                    185:       ivon01 = 32767
                    186:       ivon02 = 1
                    187:       ivcomp = ivon01/ivon02
                    188:       go to 45850
                    189: 35850 ivdele = ivdele + 1
                    190:       write (i02,80003) ivtnum
                    191:       if (iczero) 45850, 5861, 45850
                    192: 45850 if (ivcomp - 32767) 25850,15850,25850
                    193: 15850 ivpass = ivpass + 1
                    194:       write (i02,80001) ivtnum
                    195:       go to 5861
                    196: 25850 ivfail = ivfail + 1
                    197:       ivcorr = 32767
                    198:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    199: c
                    200: c     test 586 through test 589  -  positive values
                    201: c                   truncation of result required
                    202: c
                    203:  5861 continue
                    204:       ivtnum = 586
                    205: c
                    206: c      ****  test 586  ****
                    207: c
                    208:       if (iczero) 35860, 5860, 35860
                    209:  5860 continue
                    210:       ivon01 = 2
                    211:       ivon02 = 3
                    212:       ivcomp = ivon01/ivon02
                    213:       go to 45860
                    214: 35860 ivdele = ivdele + 1
                    215:       write (i02,80003) ivtnum
                    216:       if (iczero) 45860, 5871, 45860
                    217: 45860 if (ivcomp) 25860,15860,25860
                    218: 15860 ivpass = ivpass + 1
                    219:       write (i02,80001) ivtnum
                    220:       go to 5871
                    221: 25860 ivfail = ivfail + 1
                    222:       ivcorr = 0
                    223:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    224:  5871 continue
                    225:       ivtnum = 587
                    226: c
                    227: c      ****  test 587  ****
                    228: c
                    229:       if (iczero) 35870, 5870, 35870
                    230:  5870 continue
                    231:       ivon01 = 959
                    232:       ivon02 = 120
                    233:       ivcomp = ivon01/ivon02
                    234:       go to 45870
                    235: 35870 ivdele = ivdele + 1
                    236:       write (i02,80003) ivtnum
                    237:       if (iczero) 45870, 5881, 45870
                    238: 45870 if (ivcomp - 7) 25870,15870,25870
                    239: 15870 ivpass = ivpass + 1
                    240:       write (i02,80001) ivtnum
                    241:       go to 5881
                    242: 25870 ivfail = ivfail + 1
                    243:       ivcorr = 7
                    244:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    245:  5881 continue
                    246:       ivtnum = 588
                    247: c
                    248: c      ****  test 588  ****
                    249: c
                    250:       if (iczero) 35880, 5880, 35880
                    251:  5880 continue
                    252:       ivon01 = 26606
                    253:       ivon02 = 8
                    254:       ivcomp = ivon01/ivon02
                    255:       go to 45880
                    256: 35880 ivdele = ivdele + 1
                    257:       write (i02,80003) ivtnum
                    258:       if (iczero) 45880, 5891, 45880
                    259: 45880 if (ivcomp - 3325) 25880,15880,25880
                    260: 15880 ivpass = ivpass + 1
                    261:       write (i02,80001) ivtnum
                    262:       go to 5891
                    263: 25880 ivfail = ivfail + 1
                    264:       ivcorr = 3325
                    265:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    266:  5891 continue
                    267:       ivtnum = 589
                    268: c
                    269: c      ****  test 589  ****
                    270: c
                    271:       if (iczero) 35890, 5890, 35890
                    272:  5890 continue
                    273:       ivon01 = 25603
                    274:       ivon02 = 10354
                    275:       ivcomp = ivon01/ivon02
                    276:       go to 45890
                    277: 35890 ivdele = ivdele + 1
                    278:       write (i02,80003) ivtnum
                    279:       if (iczero) 45890, 5901, 45890
                    280: 45890 if (ivcomp - 2) 25890,15890,25890
                    281: 15890 ivpass = ivpass + 1
                    282:       write (i02,80001) ivtnum
                    283:       go to 5901
                    284: 25890 ivfail = ivfail + 1
                    285:       ivcorr = 2
                    286:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    287: c
                    288: c     test 590 through test 593  - negative values included
                    289: c               no truncation required
                    290: c
                    291:  5901 continue
                    292:       ivtnum = 590
                    293: c
                    294: c      ****  test 590  ****
                    295: c
                    296:       if (iczero) 35900, 5900, 35900
                    297:  5900 continue
                    298:       ivon01 = 75
                    299:       ivon02 = -25
                    300:       ivcomp = ivon01/ivon02
                    301:       go to 45900
                    302: 35900 ivdele = ivdele + 1
                    303:       write (i02,80003) ivtnum
                    304:       if (iczero) 45900, 5911, 45900
                    305: 45900 if (ivcomp + 3) 25900,15900,25900
                    306: 15900 ivpass = ivpass + 1
                    307:       write (i02,80001) ivtnum
                    308:       go to 5911
                    309: 25900 ivfail = ivfail + 1
                    310:       ivcorr = -3
                    311:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    312:  5911 continue
                    313:       ivtnum = 591
                    314: c
                    315: c      ****  test 591  ****
                    316: c
                    317:       if (iczero) 35910, 5910, 35910
                    318:  5910 continue
                    319:       ivon01 = -6170
                    320:       ivon02 = -1234
                    321:       ivcomp = ivon01/ivon02
                    322:       go to 45910
                    323: 35910 ivdele = ivdele + 1
                    324:       write (i02,80003) ivtnum
                    325:       if (iczero) 45910, 5921, 45910
                    326: 45910 if (ivcomp -5) 25910,15910,25910
                    327: 15910 ivpass = ivpass + 1
                    328:       write (i02,80001) ivtnum
                    329:       go to 5921
                    330: 25910 ivfail = ivfail + 1
                    331:       ivcorr = 5
                    332:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    333:  5921 continue
                    334:       ivtnum = 592
                    335: c
                    336: c      ****  test 592  ****
                    337: c
                    338:       if (iczero) 35920, 5920, 35920
                    339:  5920 continue
                    340:       ivon01 = 32766
                    341:       ivon02 = -2
                    342:       ivcomp =-ivon01/ivon02
                    343:       go to 45920
                    344: 35920 ivdele = ivdele + 1
                    345:       write (i02,80003) ivtnum
                    346:       if (iczero) 45920, 5931, 45920
                    347: 45920 if (ivcomp - 16383) 25920,15920,25920
                    348: 15920 ivpass = ivpass + 1
                    349:       write (i02,80001) ivtnum
                    350:       go to 5931
                    351: 25920 ivfail = ivfail + 1
                    352:       ivcorr = 16383
                    353:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    354:  5931 continue
                    355:       ivtnum = 593
                    356: c
                    357: c      ****  test 593  ****
                    358: c
                    359:       if (iczero) 35930, 5930, 35930
                    360:  5930 continue
                    361:       ivon01 = 4
                    362:       ivon02 = 2
                    363:       ivcomp = ivon01/(-ivon02)
                    364:       go to 45930
                    365: 35930 ivdele = ivdele + 1
                    366:       write (i02,80003) ivtnum
                    367:       if (iczero) 45930, 5941, 45930
                    368: 45930 if (ivcomp + 2) 25930,15930,25930
                    369: 15930 ivpass = ivpass + 1
                    370:       write (i02,80001) ivtnum
                    371:       go to 5941
                    372: 25930 ivfail = ivfail + 1
                    373:       ivcorr = -2
                    374:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    375: c
                    376: c     test 594 through test 597  -  negative values included
                    377: c                      truncation of result required
                    378: c
                    379:  5941 continue
                    380:       ivtnum = 594
                    381: c
                    382: c      ****  test 594  ****
                    383: c
                    384:       if (iczero) 35940, 5940, 35940
                    385:  5940 continue
                    386:       ivon01 = -5
                    387:       ivon02 = 2
                    388:       ivcomp = ivon01/ivon02
                    389:       go to 45940
                    390: 35940 ivdele = ivdele + 1
                    391:       write (i02,80003) ivtnum
                    392:       if (iczero) 45940, 5951, 45940
                    393: 45940 if (ivcomp + 2) 25940,15940,25940
                    394: 15940 ivpass = ivpass + 1
                    395:       write (i02,80001) ivtnum
                    396:       go to 5951
                    397: 25940 ivfail = ivfail + 1
                    398:       ivcorr = -2
                    399:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    400:  5951 continue
                    401:       ivtnum = 595
                    402: c
                    403: c      ****  test 595  ****
                    404: c
                    405:       if (iczero) 35950, 5950, 35950
                    406:  5950 continue
                    407:       ivon01 = -25603
                    408:       ivon02 = -10354
                    409:       ivcomp = ivon01/ivon02
                    410:       go to 45950
                    411: 35950 ivdele = ivdele + 1
                    412:       write (i02,80003) ivtnum
                    413:       if (iczero) 45950, 5961, 45950
                    414: 45950 if (ivcomp -2) 25950,15950,25950
                    415: 15950 ivpass = ivpass + 1
                    416:       write (i02,80001) ivtnum
                    417:       go to 5961
                    418: 25950 ivfail = ivfail + 1
                    419:       ivcorr =2
                    420:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    421:  5961 continue
                    422:       ivtnum = 596
                    423: c
                    424: c      ****  test 596  ****
                    425: c
                    426:       if (iczero) 35960, 5960, 35960
                    427:  5960 continue
                    428:       ivon01 = 25603
                    429:       ivon02 = 10354
                    430:       ivcomp = -ivon01/ivon02
                    431:       go to 45960
                    432: 35960 ivdele = ivdele + 1
                    433:       write (i02,80003) ivtnum
                    434:       if (iczero) 45960, 5971, 45960
                    435: 45960 if (ivcomp +2) 25960,15960,25960
                    436: 15960 ivpass = ivpass + 1
                    437:       write (i02,80001) ivtnum
                    438:       go to 5971
                    439: 25960 ivfail = ivfail + 1
                    440:       ivcorr = -2
                    441:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    442:  5971 continue
                    443:       ivtnum = 597
                    444: c
                    445: c      ****  test 597  ****
                    446: c
                    447:       if (iczero) 35970, 5970, 35970
                    448:  5970 continue
                    449:       ivon01 = 25603
                    450:       ivon02 = -2
                    451:       ivcomp = -(ivon01/ivon02)
                    452:       go to 45970
                    453: 35970 ivdele = ivdele + 1
                    454:       write (i02,80003) ivtnum
                    455:       if (iczero) 45970, 5981, 45970
                    456: 45970 if (ivcomp - 12801) 25970,15970,25970
                    457: 15970 ivpass = ivpass + 1
                    458:       write (i02,80001) ivtnum
                    459:       go to 5981
                    460: 25970 ivfail = ivfail + 1
                    461:       ivcorr = 12801
                    462:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    463: c
                    464: c     test 598 through test 614 contain two integer variables, an
                    465: c     integer constant and operator / in an arithmetic expression.
                    466: c
                    467: c         test 598 through test 603  -  no parens to group elements but
                    468: c                   there are parens surrounding negative constants
                    469: c
                    470: c     test 598 and test 599  -  iv = iv/iv/ic.
                    471: c
                    472:  5981 continue
                    473:       ivtnum = 598
                    474: c
                    475: c      ****  test 598  ****
                    476: c
                    477:       if (iczero) 35980, 5980, 35980
                    478:  5980 continue
                    479:       ivon01 = 32766
                    480:       ivon02 = 2
                    481:       ivcomp = ivon01/ivon02/3
                    482:       go to 45980
                    483: 35980 ivdele = ivdele + 1
                    484:       write (i02,80003) ivtnum
                    485:       if (iczero) 45980, 5991, 45980
                    486: 45980 if (ivcomp - 5461) 25980,15980,25980
                    487: 15980 ivpass = ivpass + 1
                    488:       write (i02,80001) ivtnum
                    489:       go to 5991
                    490: 25980 ivfail = ivfail + 1
                    491:       ivcorr = 5461
                    492:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    493:  5991 continue
                    494:       ivtnum = 599
                    495: c
                    496: c      ****  test 599  ****
                    497: c
                    498:       if (iczero) 35990, 5990, 35990
                    499:  5990 continue
                    500:       ivon01 = 7151
                    501:       ivon02 = 3
                    502:       ivcomp = ivon01/ivon02/10
                    503:       go to 45990
                    504: 35990 ivdele = ivdele + 1
                    505:       write (i02,80003) ivtnum
                    506:       if (iczero) 45990, 6001, 45990
                    507: 45990 if (ivcomp -238) 25990,15990,25990
                    508: 15990 ivpass = ivpass + 1
                    509:       write (i02,80001) ivtnum
                    510:       go to 6001
                    511: 25990 ivfail = ivfail + 1
                    512:       ivcorr = 238
                    513:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    514: c
                    515: c     test 600 and test 601   -  iv= iv/ic/iv.
                    516: c
                    517:  6001 continue
                    518:       ivtnum = 600
                    519: c
                    520: c      ****  test 600  ****
                    521: c
                    522:       if (iczero) 36000, 6000, 36000
                    523:  6000 continue
                    524:       ivon01 = -7150
                    525:       ivon03 = -25
                    526:       ivcomp = ivon01/(-2)/ivon03
                    527:       go to 46000
                    528: 36000 ivdele = ivdele + 1
                    529:       write (i02,80003) ivtnum
                    530:       if (iczero) 46000, 6011, 46000
                    531: 46000 if (ivcomp + 143)  26000,16000,26000
                    532: 16000 ivpass = ivpass + 1
                    533:       write (i02,80001) ivtnum
                    534:       go to 6011
                    535: 26000 ivfail = ivfail + 1
                    536:       ivcorr = -143
                    537:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    538:  6011 continue
                    539:       ivtnum = 601
                    540: c
                    541: c      ****  test 601  ****
                    542: c
                    543:       if (iczero) 36010, 6010, 36010
                    544:  6010 continue
                    545:       ivon01 = 32767
                    546:       ivon03 = -1
                    547:       ivcomp = ivon01/2/ivon03
                    548:       go to 46010
                    549: 36010 ivdele = ivdele + 1
                    550:       write (i02,80003) ivtnum
                    551:       if (iczero) 46010, 6021, 46010
                    552: 46010 if (ivcomp + 16383) 26010,16010,26010
                    553: 16010 ivpass = ivpass + 1
                    554:       write (i02,80001) ivtnum
                    555:       go to 6021
                    556: 26010 ivfail = ivfail + 1
                    557:       ivcorr = -16383
                    558:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    559:  6021 continue
                    560:       ivtnum = 602
                    561: c
                    562: c      ****  test 602  ****
                    563: c
                    564: c     test 602 and test 603   -  iv=ic/iv/iv
                    565: c
                    566: c
                    567:       if (iczero) 36020, 6020, 36020
                    568:  6020 continue
                    569:       ivon02 = 13
                    570:       ivon03 = 51
                    571:       ivcomp = 15249/ivon02/ivon03
                    572:       go to 46020
                    573: 36020 ivdele = ivdele + 1
                    574:       write (i02,80003) ivtnum
                    575:       if (iczero) 46020, 6031, 46020
                    576: 46020 if (ivcomp - 23) 26020,16020,26020
                    577: 16020 ivpass = ivpass + 1
                    578:       write (i02,80001) ivtnum
                    579:       go to 6031
                    580: 26020 ivfail = ivfail + 1
                    581:       ivcorr = 23
                    582:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    583:  6031 continue
                    584:       ivtnum = 603
                    585: c
                    586: c      ****  test 603  ****
                    587: c
                    588:       if (iczero) 36030, 6030, 36030
                    589:  6030 continue
                    590:       ivon02 = -13
                    591:       ivon03 = -51
                    592:       ivcomp = -15249/ivon02/ivon03
                    593:       go to 46030
                    594: 36030 ivdele = ivdele + 1
                    595:       write (i02,80003) ivtnum
                    596:       if (iczero) 46030, 6041, 46030
                    597: 46030 if (ivcomp +23) 26030,16030,26030
                    598: 16030 ivpass = ivpass + 1
                    599:       write (i02,80001) ivtnum
                    600:       go to 6041
                    601: 26030 ivfail = ivfail + 1
                    602:       ivcorr = -23
                    603:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    604: c
                    605: c     test 604 through test 614  - parentheses are used to group
                    606: c     elements in the arithmetic expressions.
                    607: c
                    608: c     test 604 and test 605  -  iv=(iv/iv)/ic.
                    609: c
                    610:  6041 continue
                    611:       ivtnum = 604
                    612: c
                    613: c      ****  test 604  ****
                    614: c
                    615:       if (iczero) 36040, 6040, 36040
                    616:  6040 continue
                    617:       ivon01 = 32766
                    618:       ivon02 = 2
                    619:       ivcomp =(ivon01/ivon02)/3
                    620:       go to 46040
                    621: 36040 ivdele = ivdele + 1
                    622:       write (i02,80003) ivtnum
                    623:       if (iczero) 46040, 6051, 46040
                    624: 46040 if (ivcomp -5461) 26040,16040,26040
                    625: 16040 ivpass = ivpass + 1
                    626:       write (i02,80001) ivtnum
                    627:       go to 6051
                    628: 26040 ivfail = ivfail + 1
                    629:       ivcorr = 5461
                    630:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    631:  6051 continue
                    632:       ivtnum = 605
                    633: c
                    634: c      ****  test 605  ****
                    635: c
                    636:       if (iczero) 36050, 6050, 36050
                    637:  6050 continue
                    638:       ivon01 = 7151
                    639:       ivon02 =  3
                    640:       ivcomp = (ivon01/ivon02)/10
                    641:       go to 46050
                    642: 36050 ivdele = ivdele + 1
                    643:       write (i02,80003) ivtnum
                    644:       if (iczero) 46050, 6061, 46050
                    645: 46050 if (ivcomp - 238) 26050,16050,26050
                    646: 16050 ivpass = ivpass + 1
                    647:       write (i02,80001) ivtnum
                    648:       go to 6061
                    649: 26050 ivfail = ivfail + 1
                    650:       ivcorr = 238
                    651:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    652: c
                    653: c     test 606 and test 607  -  iv=iv/(iv/ic).
                    654: c
                    655:  6061 continue
                    656:       ivtnum = 606
                    657: c
                    658: c      ****  test 606  ****
                    659: c
                    660:       if (iczero) 36060, 6060, 36060
                    661:  6060 continue
                    662:       ivon01 = -7154
                    663:       ivon02 =  26
                    664:       ivcomp = ivon01/(ivon02/5)
                    665:       go to 46060
                    666: 36060 ivdele = ivdele + 1
                    667:       write (i02,80003) ivtnum
                    668:       if (iczero) 46060, 6071, 46060
                    669: 46060 if (ivcomp + 1430) 26060,16060,26060
                    670: 16060 ivpass = ivpass + 1
                    671:       write (i02,80001) ivtnum
                    672:       go to 6071
                    673: 26060 ivfail = ivfail + 1
                    674:       ivcorr = -1430
                    675:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    676:  6071 continue
                    677:       ivtnum = 607
                    678: c
                    679: c      ****  test 607  ****
                    680: c
                    681:       if (iczero) 36070, 6070, 36070
                    682:  6070 continue
                    683:       ivon01 = 29
                    684:       ivon02 = -5
                    685:       ivcomp = ivon01/(ivon02/2)
                    686:       go to 46070
                    687: 36070 ivdele = ivdele + 1
                    688:       write (i02,80003) ivtnum
                    689:       if (iczero) 46070, 6081, 46070
                    690: 46070 if (ivcomp + 14) 26070,16070,26070
                    691: 16070 ivpass = ivpass + 1
                    692:       write (i02,80001) ivtnum
                    693:       go to 6081
                    694: 26070 ivfail = ivfail + 1
                    695:       ivcorr = -14
                    696:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    697: c
                    698: c     test 608 and test 609  -  iv = (iv/ic)/iv.
                    699: c
                    700:  6081 continue
                    701:       ivtnum = 608
                    702: c
                    703: c      ****  test 608  ****
                    704: c
                    705:       if (iczero) 36080, 6080, 36080
                    706:  6080 continue
                    707:       ivon01 = 24
                    708:       ivon03 =  3
                    709:       ivcomp = (ivon01/3)/ivon03
                    710:       go to 46080
                    711: 36080 ivdele = ivdele + 1
                    712:       write (i02,80003) ivtnum
                    713:       if (iczero) 46080, 6091, 46080
                    714: 46080 if (ivcomp -2) 26080,16080,26080
                    715: 16080 ivpass = ivpass + 1
                    716:       write (i02,80001) ivtnum
                    717:       go to 6091
                    718: 26080 ivfail = ivfail + 1
                    719:       ivcorr = 2
                    720:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    721:  6091 continue
                    722:       ivtnum = 609
                    723: c
                    724: c      ****  test 609  ****
                    725: c
                    726:       if (iczero) 36090, 6090, 36090
                    727:  6090 continue
                    728:       ivon01 = 7151
                    729:       ivon03 = 10
                    730:       ivcomp = (ivon01/(-3))/ivon03
                    731:       go to 46090
                    732: 36090 ivdele = ivdele + 1
                    733:       write (i02,80003) ivtnum
                    734:       if (iczero) 46090, 6101, 46090
                    735: 46090 if (ivcomp + 238) 26090,16090,26090
                    736: 16090 ivpass = ivpass + 1
                    737:       write (i02,80001) ivtnum
                    738:       go to 6101
                    739: 26090 ivfail = ivfail + 1
                    740:       ivcorr = -238
                    741:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    742: c
                    743: c     test 610 and test 611  -  iv=iv(ic/iv)
                    744: c
                    745:  6101 continue
                    746:       ivtnum = 610
                    747: c
                    748: c      ****  test 610  ****
                    749: c
                    750:       if (iczero) 36100, 6100, 36100
                    751:  6100 continue
                    752:       ivon01 = -7154
                    753:       ivon03 = -5
                    754:       ivcomp = ivon01/((-26)/ivon03)
                    755:       go to 46100
                    756: 36100 ivdele = ivdele + 1
                    757:       write (i02,80003) ivtnum
                    758:       if (iczero) 46100, 6111, 46100
                    759: 46100 if (ivcomp + 1430) 26100,16100,26100
                    760: 16100 ivpass = ivpass + 1
                    761:       write (i02,80001) ivtnum
                    762:       go to 6111
                    763: 26100 ivfail = ivfail + 1
                    764:       ivcorr = -1430
                    765:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    766:  6111 continue
                    767:       ivtnum = 611
                    768: c
                    769: c      ****  test 611  ****
                    770: c
                    771:       if (iczero) 36110, 6110, 36110
                    772:  6110 continue
                    773:       ivon01 = 7150
                    774:       ivon03 = 5
                    775:       ivcomp = ivon01/((+25)/ivon03)
                    776:       go to 46110
                    777: 36110 ivdele = ivdele + 1
                    778:       write (i02,80003) ivtnum
                    779:       if (iczero) 46110, 6121, 46110
                    780: 46110 if (ivcomp -1430) 26110,16110,26110
                    781: 16110 ivpass = ivpass + 1
                    782:       write (i02,80001) ivtnum
                    783:       go to 6121
                    784: 26110 ivfail = ivfail + 1
                    785:       ivcorr = 1430
                    786:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    787:  6121 continue
                    788:       ivtnum = 612
                    789: c
                    790: c      ****  test 612  ****
                    791: c     test 612  -  iv= (ic/iv)/iv
                    792: c
                    793:       if (iczero) 36120, 6120, 36120
                    794:  6120 continue
                    795:       ivon02 = -3
                    796:       ivon03 = -10
                    797:       ivcomp = (-7154/ivon02)/ivon03
                    798:       go to 46120
                    799: 36120 ivdele = ivdele + 1
                    800:       write (i02,80003) ivtnum
                    801:       if (iczero) 46120, 6131, 46120
                    802: 46120 if (ivcomp + 238) 26120,16120,26120
                    803: 16120 ivpass = ivpass + 1
                    804:       write (i02,80001) ivtnum
                    805:       go to 6131
                    806: 26120 ivfail = ivfail + 1
                    807:       ivcorr = -238
                    808:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    809: c
                    810: c     test 613 and test 614  -  iv=ic/(iv/iv)
                    811: c
                    812:  6131 continue
                    813:       ivtnum = 613
                    814: c
                    815: c      ****  test 613  ****
                    816: c
                    817:       if (iczero) 36130, 6130, 36130
                    818:  6130 continue
                    819:       ivon02 = 8
                    820:       ivon03 = 4
                    821:       ivcomp = 24/(ivon02/ivon03)
                    822:       go to 46130
                    823: 36130 ivdele = ivdele + 1
                    824:       write (i02,80003) ivtnum
                    825:       if (iczero) 46130, 6141, 46130
                    826: 46130 if (ivcomp - 12) 26130,16130,26130
                    827: 16130 ivpass = ivpass + 1
                    828:       write (i02,80001) ivtnum
                    829:       go to 6141
                    830: 26130 ivfail = ivfail + 1
                    831:       ivcorr = 12
                    832:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    833:  6141 continue
                    834:       ivtnum = 614
                    835: c
                    836: c      ****  test 614  ****
                    837: c
                    838:       if (iczero) 36140, 6140, 36140
                    839:  6140 continue
                    840:       ivon02 = 25
                    841:       ivon03 = 5
                    842:       ivcomp = 7150/(-(ivon02/ivon03))
                    843:       go to 46140
                    844: 36140 ivdele = ivdele + 1
                    845:       write (i02,80003) ivtnum
                    846:       if (iczero) 46140, 6151, 46140
                    847: 46140 if (ivcomp + 1430) 26140,16140,26140
                    848: 16140 ivpass = ivpass + 1
                    849:       write (i02,80001) ivtnum
                    850:       go to 6151
                    851: 26140 ivfail = ivfail + 1
                    852:       ivcorr = -1430
                    853:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    854: c      ****    end of tests    ****
                    855:  6151 continue
                    856: c
                    857: c     write page footings and run summaries
                    858: 99999 continue
                    859:       write (i02,90002)
                    860:       write (i02,90006)
                    861:       write (i02,90002)
                    862:       write (i02,90002)
                    863:       write (i02,90007)
                    864:       write (i02,90002)
                    865:       write (i02,90008)  ivfail
                    866:       write (i02,90009) ivpass
                    867:       write (i02,90010) ivdele
                    868: c
                    869: c
                    870: c     terminate routine execution
                    871:       stop
                    872: c
                    873: c     format statements for page headers
                    874: 90000 format (1h1)
                    875: 90002 format (1h )
                    876: 90001 format (1h ,10x,34hfortran compiler validation system)
                    877: 90003 format (1h ,21x,11hversion 1.0)
                    878: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    879: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    880: 90006 format (1h ,5x,46h----------------------------------------------)
                    881: 90011 format (1h ,18x,17hsubset level test)
                    882: c
                    883: c     format statements for run summaries
                    884: 90008 format (1h ,15x,i5,19h errors encountered)
                    885: 90009 format (1h ,15x,i5,13h tests passed)
                    886: 90010 format (1h ,15x,i5,14h tests deleted)
                    887: c
                    888: c     format statements for test results
                    889: 80001 format (1h ,4x,i5,7x,4hpass)
                    890: 80002 format (1h ,4x,i5,7x,4hfail)
                    891: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    892: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    893: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    894: c
                    895: 90007 format (1h ,20x,20hend of program fm040)
                    896:       end

unix.superglobalmegacorp.com

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