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

1.1       root        1: c        comment section
                      2: c
                      3: c     fm006
                      4: c
                      5: c         this routine tests arithmetic assignment statements of
                      6: c     the form
                      7: c                   integer variable = integer constant
                      8: c                   integer variable = integer variable
                      9: c         the integer constant may be unsigned, positive or negative.
                     10: c
                     11: c         an integer datum is always an exact representation of an
                     12: c     integer value.  it may assume positive, negative and zero values.
                     13: c     it may only assume integral values.
                     14: c
                     15: c         an integer constant is written as a nonempty string of digits.
                     16: c     the constant is the digit string interpreted as a decimal number.
                     17: c
                     18: c         this routine also contains tests which check on the use of
                     19: c     at least 16 bits for representing integer data values.  the
                     20: c     constant values 32767 and -32766 are used in these tests.
                     21: c
                     22: c      references
                     23: c        american national standard programming language fortran,
                     24: c              x3.9-1978
                     25: c
                     26: c        section 4.3, integer type
                     27: c        section 4.3.1, integer constant
                     28: c        section 10.1, arithmetic assignment statements
                     29: c
                     30: c
                     31: c      **********************************************************
                     32: c
                     33: c         a compiler validation system for the fortran language
                     34: c     based on specifications as defined in american national standard
                     35: c     programming language fortran x3.9-1978, has been developed by the
                     36: c     federal cobol compiler testing service.  the fortran compiler
                     37: c     validation system (fcvs) consists of audit routines, their related
                     38: c     data, and an executive system.  each audit routine is a fortran
                     39: c     program, subprogram or function which includes tests of specific
                     40: c     language elements and supporting procedures indicating the result
                     41: c     of executing these tests.
                     42: c
                     43: c         this particular program/subprogram/function contains features
                     44: c     found only in the subset as defined in x3.9-1978.
                     45: c
                     46: c         suggestions and comments should be forwarded to -
                     47: c
                     48: c                  department of the navy
                     49: c                  federal cobol compiler testing service
                     50: c                  washington, d.c.  20376
                     51: c
                     52: c      **********************************************************
                     53: c
                     54: c
                     55: c
                     56: c     initialization section
                     57: c
                     58: c     initialize constants
                     59: c      **************
                     60: c     i01 contains the logical unit number for the card reader.
                     61:       i01 = 5
                     62: c     i02 contains the logical unit number for the printer.
                     63:       i02 = 6
                     64: c     system environment section
                     65: c
                     66: cx010    this card is replaced by contents of fexec x-010 control card.
                     67: c     the cx010 card is for overriding the program default i01 = 5
                     68: c     (unit number for card reader).
                     69: cx011    this card is replaced by contents of fexec x-011 control card.
                     70: c     the cx011 card is for systems which require additional
                     71: c     fortran statements for files associated with cx010 above.
                     72: c
                     73: cx020    this card is replaced by contents of fexec x-020 control card.
                     74: c     the cx020 card is for overriding the program default i02 = 6
                     75: c     (unit number for printer).
                     76: cx021    this card is replaced by contents of fexec x-021 control card.
                     77: c     the cx021 card is for systems which require additional
                     78: c     fortran statements for files associated with cx020 above.
                     79: c
                     80:       ivpass=0
                     81:       ivfail=0
                     82:       ivdele=0
                     83:       iczero=0
                     84: c
                     85: c     write page headers
                     86:       write (i02,90000)
                     87:       write (i02,90001)
                     88:       write (i02,90002)
                     89:       write (i02, 90002)
                     90:       write (i02,90003)
                     91:       write (i02,90002)
                     92:       write (i02,90004)
                     93:       write (i02,90002)
                     94:       write (i02,90011)
                     95:       write (i02,90002)
                     96:       write (i02,90002)
                     97:       write (i02,90005)
                     98:       write (i02,90006)
                     99:       write (i02,90002)
                    100: c     test section
                    101: c
                    102: c            arithmetic assignment statement
                    103: c
                    104: c     test 50 through test 61 contain statement of form
                    105: c              integer variable = integer constant
                    106: c
                    107: c     tests 50 through 53 contain unsigned integer constant.
                    108: c
                    109:   501 continue
                    110:       ivtnum =  50
                    111: c
                    112: c      ****  test 50  ****
                    113: c
                    114:       if (iczero) 30500,  500, 30500
                    115:   500 continue
                    116:       ivcomp=3
                    117:       go to 40500
                    118: 30500 ivdele = ivdele + 1
                    119:       write (i02,80003) ivtnum
                    120:       if (iczero) 40500,  511, 40500
                    121: 40500 if (ivcomp - 3) 20500, 10500, 20500
                    122: 10500 ivpass = ivpass + 1
                    123:       write (i02,80001) ivtnum
                    124:       go to  511
                    125: 20500 ivfail = ivfail + 1
                    126:       ivcorr = 3
                    127:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    128:   511 continue
                    129:       ivtnum =  51
                    130: c
                    131: c      ****  test 51  ****
                    132: c
                    133:       if (iczero) 30510,  510, 30510
                    134:   510 continue
                    135:       ivcomp = 76
                    136:       go to 40510
                    137: 30510 ivdele = ivdele + 1
                    138:       write (i02,80003) ivtnum
                    139:       if (iczero) 40510,  521, 40510
                    140: 40510 if (ivcomp - 76) 20510, 10510, 20510
                    141: 10510 ivpass = ivpass + 1
                    142:       write (i02,80001) ivtnum
                    143:       go to  521
                    144: 20510 ivfail = ivfail + 1
                    145:       ivcorr = 76
                    146:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    147:   521 continue
                    148:       ivtnum =  52
                    149: c
                    150: c      ****  test 52  ****
                    151: c
                    152:       if (iczero) 30520,  520, 30520
                    153:   520 continue
                    154:       ivcomp = 587
                    155:       go to 40520
                    156: 30520 ivdele = ivdele + 1
                    157:       write (i02,80003) ivtnum
                    158:       if (iczero) 40520,  531, 40520
                    159: 40520 if (ivcomp - 587) 20520, 10520, 20520
                    160: 10520 ivpass = ivpass + 1
                    161:       write (i02,80001) ivtnum
                    162:       go to  531
                    163: 20520 ivfail = ivfail + 1
                    164:       ivcorr = 587
                    165:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    166:   531 continue
                    167:       ivtnum =  53
                    168: c
                    169: c      ****  test 53  ****
                    170: c
                    171:       if (iczero) 30530,  530, 30530
                    172:   530 continue
                    173:       ivcomp = 9999
                    174:       go to 40530
                    175: 30530 ivdele = ivdele + 1
                    176:       write (i02,80003) ivtnum
                    177:       if (iczero) 40530,  541, 40530
                    178: 40530 if (ivcomp - 9999) 20530, 10530, 20530
                    179: 10530 ivpass = ivpass + 1
                    180:       write (i02,80001) ivtnum
                    181:       go to  541
                    182: 20530 ivfail = ivfail + 1
                    183:       ivcorr = 9999
                    184:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    185: c
                    186: c         tests 54 through 57 contain positive signed integers
                    187: c
                    188:   541 continue
                    189:       ivtnum =  54
                    190: c
                    191: c      ****  test 54  ****
                    192: c
                    193:       if (iczero) 30540,  540, 30540
                    194:   540 continue
                    195:       ivcomp = +3
                    196:       go to 40540
                    197: 30540 ivdele = ivdele + 1
                    198:       write (i02,80003) ivtnum
                    199:       if (iczero) 40540,  551, 40540
                    200: 40540 if (ivcomp - 3) 20540, 10540, 20540
                    201: 10540 ivpass = ivpass + 1
                    202:       write (i02,80001) ivtnum
                    203:       go to  551
                    204: 20540 ivfail = ivfail + 1
                    205:       ivcorr = 3
                    206:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    207:   551 continue
                    208:       ivtnum =  55
                    209: c
                    210: c      ****  test 55  ****
                    211: c
                    212:       if (iczero) 30550,  550, 30550
                    213:   550 continue
                    214:       ivcomp = +76
                    215:       go to 40550
                    216: 30550 ivdele = ivdele + 1
                    217:       write (i02,80003) ivtnum
                    218:       if (iczero) 40550,  561, 40550
                    219: 40550 if (ivcomp - 76) 20550, 10550, 20550
                    220: 10550 ivpass = ivpass + 1
                    221:       write (i02,80001) ivtnum
                    222:       go to  561
                    223: 20550 ivfail = ivfail + 1
                    224:       ivcorr = 76
                    225:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    226:   561 continue
                    227:       ivtnum =  56
                    228: c
                    229: c      ****  test 56  ****
                    230: c
                    231:       if (iczero) 30560,  560, 30560
                    232:   560 continue
                    233:       ivcomp = +587
                    234:       go to 40560
                    235: 30560 ivdele = ivdele + 1
                    236:       write (i02,80003) ivtnum
                    237:       if (iczero) 40560,  571, 40560
                    238: 40560 if (ivcomp - 587) 20560, 10560, 20560
                    239: 10560 ivpass = ivpass + 1
                    240:       write (i02,80001) ivtnum
                    241:       go to  571
                    242: 20560 ivfail = ivfail + 1
                    243:       ivcorr = 587
                    244:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    245:   571 continue
                    246:       ivtnum =  57
                    247: c
                    248: c      ****  test 57  ****
                    249: c
                    250:       if (iczero) 30570,  570, 30570
                    251:   570 continue
                    252:       ivcomp = +9999
                    253:       go to 40570
                    254: 30570 ivdele = ivdele + 1
                    255:       write (i02,80003) ivtnum
                    256:       if (iczero) 40570,  581, 40570
                    257: 40570 if (ivcomp - 9999) 20570, 10570, 20570
                    258: 10570 ivpass = ivpass + 1
                    259:       write (i02,80001) ivtnum
                    260:       go to  581
                    261: 20570 ivfail = ivfail + 1
                    262:       ivcorr = 9999
                    263:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    264: c
                    265: c         tests 58 through 61 contain signed negative integers
                    266: c
                    267:   581 continue
                    268:       ivtnum =  58
                    269: c
                    270: c      ****  test 58  ****
                    271: c
                    272:       if (iczero) 30580,  580, 30580
                    273:   580 continue
                    274:       ivcomp = -3
                    275:       go to 40580
                    276: 30580 ivdele = ivdele + 1
                    277:       write (i02,80003) ivtnum
                    278:       if (iczero) 40580,  591, 40580
                    279: 40580 if (ivcomp + 3) 20580, 10580, 20580
                    280: 10580 ivpass = ivpass + 1
                    281:       write (i02,80001) ivtnum
                    282:       go to  591
                    283: 20580 ivfail = ivfail + 1
                    284:       ivcorr = -3
                    285:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    286:   591 continue
                    287:       ivtnum =  59
                    288: c
                    289: c      ****  test 59  ****
                    290: c
                    291:       if (iczero) 30590,  590, 30590
                    292:   590 continue
                    293:       ivcomp = -76
                    294:       go to 40590
                    295: 30590 ivdele = ivdele + 1
                    296:       write (i02,80003) ivtnum
                    297:       if (iczero) 40590,  601, 40590
                    298: 40590 if (ivcomp + 76) 20590, 10590, 20590
                    299: 10590 ivpass = ivpass + 1
                    300:       write (i02,80001) ivtnum
                    301:       go to  601
                    302: 20590 ivfail = ivfail + 1
                    303:       ivcorr = -76
                    304:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    305:   601 continue
                    306:       ivtnum =  60
                    307: c
                    308: c      ****  test 60  ****
                    309: c
                    310:       if (iczero) 30600,  600, 30600
                    311:   600 continue
                    312:       ivcomp = -587
                    313:       go to 40600
                    314: 30600 ivdele = ivdele + 1
                    315:       write (i02,80003) ivtnum
                    316:       if (iczero) 40600,  611, 40600
                    317: 40600 if (ivcomp + 587) 20600,10600,20600
                    318: 10600 ivpass = ivpass + 1
                    319:       write (i02,80001) ivtnum
                    320:       go to  611
                    321: 20600 ivfail = ivfail + 1
                    322:       ivcorr = -587
                    323:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    324:   611 continue
                    325:       ivtnum =  61
                    326: c
                    327: c      ****  test 61  ****
                    328: c
                    329:       if (iczero) 30610,  610, 30610
                    330:   610 continue
                    331:       ivcomp = -9999
                    332:       go to 40610
                    333: 30610 ivdele = ivdele + 1
                    334:       write (i02,80003) ivtnum
                    335:       if (iczero) 40610,  621, 40610
                    336: 40610 if (ivcomp + 9999) 20610, 10610, 20610
                    337: 10610 ivpass = ivpass + 1
                    338:       write (i02,80001) ivtnum
                    339:       go to  621
                    340: 20610 ivfail = ivfail + 1
                    341:       ivcorr = -9999
                    342:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    343: c
                    344: c     test 62 through test 73 contain statement of form
                    345: c         integer variable = integer variable
                    346: c
                    347: c     tests 62 through 65 contain unsigned values.
                    348: c
                    349:   621 continue
                    350:       ivtnum =  62
                    351: c
                    352: c      ****  test 62  ****
                    353: c
                    354:       if (iczero) 30620,  620, 30620
                    355:   620 continue
                    356:       ivon01 = 3
                    357:       ivcomp = ivon01
                    358:       go to 40620
                    359: 30620 ivdele = ivdele + 1
                    360:       write (i02,80003) ivtnum
                    361:       if (iczero) 40620,  631, 40620
                    362: 40620 if (ivcomp - 3) 20620, 10620, 20620
                    363: 10620 ivpass = ivpass + 1
                    364:       write (i02,80001) ivtnum
                    365:       go to  631
                    366: 20620 ivfail = ivfail + 1
                    367:       ivcorr = 3
                    368:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    369:   631 continue
                    370:       ivtnum =  63
                    371: c
                    372: c      ****  test 63  ****
                    373: c
                    374:       if (iczero) 30630,  630, 30630
                    375:   630 continue
                    376:       ivon01 = 76
                    377:       ivcomp = ivon01
                    378:       go to 40630
                    379: 30630 ivdele = ivdele + 1
                    380:       write (i02,80003) ivtnum
                    381:       if (iczero) 40630,  641, 40630
                    382: 40630 if (ivcomp - 76) 20630, 10630, 20630
                    383: 10630 ivpass = ivpass + 1
                    384:       write (i02,80001) ivtnum
                    385:       go to  641
                    386: 20630 ivfail = ivfail + 1
                    387:       ivcorr = 76
                    388:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    389:   641 continue
                    390:       ivtnum =  64
                    391: c
                    392: c      ****  test 64  ****
                    393: c
                    394:       if (iczero) 30640,  640, 30640
                    395:   640 continue
                    396:       ivon01 = 587
                    397:       ivcomp = ivon01
                    398:       go to 40640
                    399: 30640 ivdele = ivdele + 1
                    400:       write (i02,80003) ivtnum
                    401:       if (iczero) 40640,  651, 40640
                    402: 40640 if (ivcomp - 587) 20640, 10640, 20640
                    403: 10640 ivpass = ivpass + 1
                    404:       write (i02,80001) ivtnum
                    405:       go to  651
                    406: 20640 ivfail = ivfail + 1
                    407:       ivcorr = 587
                    408:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    409:   651 continue
                    410:       ivtnum =  65
                    411: c
                    412: c      ****  test 65  ****
                    413: c
                    414:       if (iczero) 30650,  650, 30650
                    415:   650 continue
                    416:       ivon01 = 9999
                    417:       ivcomp = ivon01
                    418:       go to 40650
                    419: 30650 ivdele = ivdele + 1
                    420:       write (i02,80003) ivtnum
                    421:       if (iczero) 40650,  661, 40650
                    422: 40650 if (ivcomp - 9999)  20650, 10650, 20650
                    423: 10650 ivpass = ivpass + 1
                    424:       write (i02,80001) ivtnum
                    425:       go to  661
                    426: 20650 ivfail = ivfail + 1
                    427:       ivcorr = 9999
                    428:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    429: c
                    430: c     tests 66 through 69 contain positive values.
                    431: c
                    432:   661 continue
                    433:       ivtnum =  66
                    434: c
                    435: c      ****  test 66  ****
                    436: c
                    437:       if (iczero) 30660,  660, 30660
                    438:   660 continue
                    439:       ivon01 = +3
                    440:       ivcomp = ivon01
                    441:       go to 40660
                    442: 30660 ivdele = ivdele + 1
                    443:       write (i02,80003) ivtnum
                    444:       if (iczero) 40660,  671, 40660
                    445: 40660 if (ivcomp - 3) 20660,10660,20660
                    446: 10660 ivpass = ivpass + 1
                    447:       write (i02,80001) ivtnum
                    448:       go to  671
                    449: 20660 ivfail = ivfail + 1
                    450:       ivcorr = 3
                    451:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    452:   671 continue
                    453:       ivtnum =  67
                    454: c
                    455: c      ****  test 67  ****
                    456: c
                    457:       if (iczero) 30670,  670, 30670
                    458:   670 continue
                    459:       ivon01 = +76
                    460:       ivcomp = ivon01
                    461:       go to 40670
                    462: 30670 ivdele = ivdele + 1
                    463:       write (i02,80003) ivtnum
                    464:       if (iczero) 40670,  681, 40670
                    465: 40670 if (ivcomp - 76) 20670, 10670, 20670
                    466: 10670 ivpass = ivpass + 1
                    467:       write (i02,80001) ivtnum
                    468:       go to  681
                    469: 20670 ivfail = ivfail + 1
                    470:       ivcorr = 76
                    471:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    472:   681 continue
                    473:       ivtnum =  68
                    474: c
                    475: c      ****  test 68  ****
                    476: c
                    477:       if (iczero) 30680,  680, 30680
                    478:   680 continue
                    479:       ivon01 = +587
                    480:       ivcomp = ivon01
                    481:       go to 40680
                    482: 30680 ivdele = ivdele + 1
                    483:       write (i02,80003) ivtnum
                    484:       if (iczero) 40680,  691, 40680
                    485: 40680 if (ivcomp - 587) 20680, 10680, 20680
                    486: 10680 ivpass = ivpass + 1
                    487:       write (i02,80001) ivtnum
                    488:       go to  691
                    489: 20680 ivfail = ivfail + 1
                    490:       ivcorr = 587
                    491:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    492:   691 continue
                    493:       ivtnum =  69
                    494: c
                    495: c      ****  test 69  ****
                    496: c
                    497:       if (iczero) 30690,  690, 30690
                    498:   690 continue
                    499:       ivon01 = +9999
                    500:       ivcomp = ivon01
                    501:       go to 40690
                    502: 30690 ivdele = ivdele + 1
                    503:       write (i02,80003) ivtnum
                    504:       if (iczero) 40690,  701, 40690
                    505: 40690 if (ivcomp - 9999) 20690, 10690, 20690
                    506: 10690 ivpass = ivpass + 1
                    507:       write (i02,80001) ivtnum
                    508:       go to  701
                    509: 20690 ivfail = ivfail + 1
                    510:       ivcorr = 9999
                    511:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    512: c
                    513: c     tests 70 through 73 contain negative values.
                    514: c
                    515:   701 continue
                    516:       ivtnum =  70
                    517: c
                    518: c      ****  test 70  ****
                    519: c
                    520:       if (iczero) 30700,  700, 30700
                    521:   700 continue
                    522:       ivon01 = -3
                    523:       ivcomp = ivon01
                    524:       go to 40700
                    525: 30700 ivdele = ivdele + 1
                    526:       write (i02,80003) ivtnum
                    527:       if (iczero) 40700,  711, 40700
                    528: 40700 if (ivcomp + 3) 20700, 10700, 20700
                    529: 10700 ivpass = ivpass + 1
                    530:       write (i02,80001) ivtnum
                    531:       go to  711
                    532: 20700 ivfail = ivfail + 1
                    533:       ivcorr = -3
                    534:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    535:   711 continue
                    536:       ivtnum =  71
                    537: c
                    538: c      ****  test 71  ****
                    539: c
                    540:       if (iczero) 30710,  710, 30710
                    541:   710 continue
                    542:       ivon01 = -76
                    543:       ivcomp = ivon01
                    544:       go to 40710
                    545: 30710 ivdele = ivdele + 1
                    546:       write (i02,80003) ivtnum
                    547:       if (iczero) 40710,  721, 40710
                    548: 40710 if (ivcomp + 76) 20710, 10710, 20710
                    549: 10710 ivpass = ivpass + 1
                    550:       write (i02,80001) ivtnum
                    551:       go to  721
                    552: 20710 ivfail = ivfail + 1
                    553:       ivcorr = -76
                    554:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    555:   721 continue
                    556:       ivtnum =  72
                    557: c
                    558: c      ****  test 72  ****
                    559: c
                    560:       if (iczero) 30720,  720, 30720
                    561:   720 continue
                    562:       ivon01 = -587
                    563:       ivcomp = ivon01
                    564:       go to 40720
                    565: 30720 ivdele = ivdele + 1
                    566:       write (i02,80003) ivtnum
                    567:       if (iczero) 40720,  731, 40720
                    568: 40720 if (ivcomp + 587) 20720, 10720, 20720
                    569: 10720 ivpass = ivpass + 1
                    570:       write (i02,80001) ivtnum
                    571:       go to  731
                    572: 20720 ivfail = ivfail + 1
                    573:       ivcorr = -587
                    574:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    575:   731 continue
                    576:       ivtnum =  73
                    577: c
                    578: c      ****  test 73  ****
                    579: c
                    580:       if (iczero) 30730,  730, 30730
                    581:   730 continue
                    582:       ivon01 = -9999
                    583:       ivcomp = ivon01
                    584:       go to 40730
                    585: 30730 ivdele = ivdele + 1
                    586:       write (i02,80003) ivtnum
                    587:       if (iczero) 40730,  741, 40730
                    588: 40730 if (ivcomp + 9999) 20730, 10730, 20730
                    589: 10730 ivpass = ivpass + 1
                    590:       write (i02,80001) ivtnum
                    591:       go to  741
                    592: 20730 ivfail = ivfail + 1
                    593:       ivcorr = -9999
                    594:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    595: c
                    596: c     tests 74 through 79 check that at least 16 bits are used in the
                    597: c     internal representation of an integer datum.  this includes one
                    598: c     bit for the sign.  the largest integer used is 32767 =2**15 - 1,
                    599: c     and the smallest integer used is -32766.
                    600: c
                    601:   741 continue
                    602:       ivtnum =  74
                    603: c
                    604: c      ****  test 74  ****
                    605: c             unsigned constant 32767
                    606: c
                    607:       if (iczero) 30740,  740, 30740
                    608:   740 continue
                    609:       ivcomp = 32767
                    610:       go to 40740
                    611: 30740 ivdele = ivdele + 1
                    612:       write (i02,80003) ivtnum
                    613:       if (iczero) 40740,  751, 40740
                    614: 40740 if (ivcomp - 32767) 20740, 10740, 20740
                    615: 10740 ivpass = ivpass + 1
                    616:       write (i02,80001) ivtnum
                    617:       go to  751
                    618: 20740 ivfail = ivfail + 1
                    619:       ivcorr = 32767
                    620:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    621:   751 continue
                    622:       ivtnum =  75
                    623: c
                    624: c      ****  test 75  ****
                    625: c             signed positive constant +32767
                    626: c
                    627:       if (iczero) 30750,  750, 30750
                    628:   750 continue
                    629:       ivcomp = +32767
                    630:       go to 40750
                    631: 30750 ivdele = ivdele + 1
                    632:       write (i02,80003) ivtnum
                    633:       if (iczero) 40750,  761, 40750
                    634: 40750 if (ivcomp - 32767) 20750, 10750, 20750
                    635: 10750 ivpass = ivpass + 1
                    636:       write (i02,80001) ivtnum
                    637:       go to  761
                    638: 20750 ivfail = ivfail + 1
                    639:       ivcorr = 32767
                    640:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    641:   761 continue
                    642:       ivtnum =  76
                    643: c
                    644: c      ****  test 76  ****
                    645: c             signed negative constant -32766
                    646: c
                    647:       if (iczero) 30760,  760, 30760
                    648:   760 continue
                    649:       ivcomp = - 32766
                    650:       go to 40760
                    651: 30760 ivdele = ivdele + 1
                    652:       write (i02,80003) ivtnum
                    653:       if (iczero) 40760,  771, 40760
                    654: 40760 if (ivcomp + 32766) 20760, 10760, 20760
                    655: 10760 ivpass = ivpass + 1
                    656:       write (i02,80001) ivtnum
                    657:       go to  771
                    658: 20760 ivfail = ivfail + 1
                    659:       ivcorr = -32766
                    660:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    661:   771 continue
                    662:       ivtnum =  77
                    663: c
                    664: c      ****  test 77  ****
                    665: c
                    666:       if (iczero) 30770,  770, 30770
                    667:   770 continue
                    668:       ivon01 = 32767
                    669:       ivcomp = ivon01
                    670:       go to 40770
                    671: 30770 ivdele = ivdele + 1
                    672:       write (i02,80003) ivtnum
                    673:       if (iczero) 40770,  781, 40770
                    674: 40770 if (ivcomp - 32767) 20770, 10770, 20770
                    675: 10770 ivpass = ivpass + 1
                    676:       write (i02,80001) ivtnum
                    677:       go to  781
                    678: 20770 ivfail = ivfail + 1
                    679:       ivcorr = 32767
                    680:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    681:   781 continue
                    682:       ivtnum =  78
                    683: c
                    684: c      ****  test 78  ****
                    685: c
                    686:       if (iczero) 30780,  780, 30780
                    687:   780 continue
                    688:       ivon01 = +32767
                    689:       ivcomp = ivon01
                    690:       go to 40780
                    691: 30780 ivdele = ivdele + 1
                    692:       write (i02,80003) ivtnum
                    693:       if (iczero) 40780,  791, 40780
                    694: 40780 if (ivcomp - 32767) 20780, 10780, 20780
                    695: 10780 ivpass = ivpass + 1
                    696:       write (i02,80001) ivtnum
                    697:       go to  791
                    698: 20780 ivfail = ivfail + 1
                    699:       ivcorr = 32767
                    700:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    701:   791 continue
                    702:       ivtnum =  79
                    703: c
                    704: c      ****  test 79  ****
                    705: c
                    706:       if (iczero) 30790,  790, 30790
                    707:   790 continue
                    708:       ivon01 = -32766
                    709:       ivcomp=ivon01
                    710:       go to 40790
                    711: 30790 ivdele = ivdele + 1
                    712:       write (i02,80003) ivtnum
                    713:       if (iczero) 40790,  801, 40790
                    714: 40790 if (ivcomp + 32766) 20790, 10790, 20790
                    715: 10790 ivpass = ivpass + 1
                    716:       write (i02,80001) ivtnum
                    717:       go to  801
                    718: 20790 ivfail = ivfail + 1
                    719:       ivcorr = -32766
                    720:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    721:   801 continue
                    722: c
                    723: c     write page footings and run summaries
                    724: 99999 continue
                    725:       write (i02,90002)
                    726:       write (i02,90006)
                    727:       write (i02,90002)
                    728:       write (i02,90002)
                    729:       write (i02,90007)
                    730:       write (i02,90002)
                    731:       write (i02,90008)  ivfail
                    732:       write (i02,90009) ivpass
                    733:       write (i02,90010) ivdele
                    734: c
                    735: c
                    736: c     terminate routine execution
                    737:       stop
                    738: c
                    739: c     format statements for page headers
                    740: 90000 format (1h1)
                    741: 90002 format (1h )
                    742: 90001 format (1h ,10x,34hfortran compiler validation system)
                    743: 90003 format (1h ,21x,11hversion 1.0)
                    744: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    745: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    746: 90006 format (1h ,5x,46h----------------------------------------------)
                    747: 90011 format (1h ,18x,17hsubset level test)
                    748: c
                    749: c     format statements for run summaries
                    750: 90008 format (1h ,15x,i5,19h errors encountered)
                    751: 90009 format (1h ,15x,i5,13h tests passed)
                    752: 90010 format (1h ,15x,i5,14h tests deleted)
                    753: c
                    754: c     format statements for test results
                    755: 80001 format (1h ,4x,i5,7x,4hpass)
                    756: 80002 format (1h ,4x,i5,7x,4hfail)
                    757: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    758: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    759: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    760: c
                    761: 90007 format (1h ,20x,20hend of program fm006)
                    762:       end

unix.superglobalmegacorp.com

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