Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm042.f, revision 1.1

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm042
        !             4: c
        !             5: c         this routine tests arithmetic assignments of the
        !             6: c     form      integer variable =  primary ** primary
        !             7: c     where the first of two primaries is an integer variable or an
        !             8: c     integer constant and the second primary is an integer variable.
        !             9: c
        !            10: c      references
        !            11: c        american national standard programming language fortran,
        !            12: c              x3.9-1978
        !            13: c
        !            14: c        section 4.3, integer type
        !            15: c        section 4.3.1, integer constant
        !            16: c        section 6.1, arithmetic expressions
        !            17: c        section 10.1, arithmetic assignment statement
        !            18: c
        !            19: c
        !            20: c      **********************************************************
        !            21: c
        !            22: c         a compiler validation system for the fortran language
        !            23: c     based on specifications as defined in american national standard
        !            24: c     programming language fortran x3.9-1978, has been developed by the
        !            25: c     federal cobol compiler testing service.  the fortran compiler
        !            26: c     validation system (fcvs) consists of audit routines, their related
        !            27: c     data, and an executive system.  each audit routine is a fortran
        !            28: c     program, subprogram or function which includes tests of specific
        !            29: c     language elements and supporting procedures indicating the result
        !            30: c     of executing these tests.
        !            31: c
        !            32: c         this particular program/subprogram/function contains features
        !            33: c     found only in the subset as defined in x3.9-1978.
        !            34: c
        !            35: c         suggestions and comments should be forwarded to -
        !            36: c
        !            37: c                  department of the navy
        !            38: c                  federal cobol compiler testing service
        !            39: c                  washington, d.c.  20376
        !            40: c
        !            41: c      **********************************************************
        !            42: c
        !            43: c
        !            44: c
        !            45: c     initialization section
        !            46: c
        !            47: c     initialize constants
        !            48: c      **************
        !            49: c     i01 contains the logical unit number for the card reader.
        !            50:       i01 = 5
        !            51: c     i02 contains the logical unit number for the printer.
        !            52:       i02 = 6
        !            53: c     system environment section
        !            54: c
        !            55: cx010    this card is replaced by contents of fexec x-010 control card.
        !            56: c     the cx010 card is for overriding the program default i01 = 5
        !            57: c     (unit number for card reader).
        !            58: cx011    this card is replaced by contents of fexec x-011 control card.
        !            59: c     the cx011 card is for systems which require additional
        !            60: c     fortran statements for files associated with cx010 above.
        !            61: c
        !            62: cx020    this card is replaced by contents of fexec x-020 control card.
        !            63: c     the cx020 card is for overriding the program default i02 = 6
        !            64: c     (unit number for printer).
        !            65: cx021    this card is replaced by contents of fexec x-021 control card.
        !            66: c     the cx021 card is for systems which require additional
        !            67: c     fortran statements for files associated with cx020 above.
        !            68: c
        !            69:       ivpass=0
        !            70:       ivfail=0
        !            71:       ivdele=0
        !            72:       iczero=0
        !            73: c
        !            74: c     write page headers
        !            75:       write (i02,90000)
        !            76:       write (i02,90001)
        !            77:       write (i02,90002)
        !            78:       write (i02, 90002)
        !            79:       write (i02,90003)
        !            80:       write (i02,90002)
        !            81:       write (i02,90004)
        !            82:       write (i02,90002)
        !            83:       write (i02,90011)
        !            84:       write (i02,90002)
        !            85:       write (i02,90002)
        !            86:       write (i02,90005)
        !            87:       write (i02,90006)
        !            88:       write (i02,90002)
        !            89: c
        !            90: c     test section
        !            91: c
        !            92: c         arithmetic assignment statement
        !            93: c
        !            94: c     test 649 through test 665 contain arithmetic assignment statements
        !            95: c     of the form    integer variable = integer const. ** integer var.
        !            96: c
        !            97: c     test 666 through test 682 contain arithmetic assignment statements
        !            98: c     of the form    integer variable = integer var. ** integer var.
        !            99: c
        !           100: c
        !           101:       ivtnum = 649
        !           102: c
        !           103: c      ****  test 649  ****
        !           104: c     test 649  - small number base; zero exponent
        !           105: c
        !           106:       if (iczero) 36490, 6490, 36490
        !           107:  6490 continue
        !           108:       ivon01 = 0
        !           109:       ivcomp = 1 ** ivon01
        !           110:       go to 46490
        !           111: 36490 ivdele = ivdele + 1
        !           112:       write (i02,80003) ivtnum
        !           113:       if (iczero) 46490, 6501, 46490
        !           114: 46490 if (ivcomp - 1) 26490,16490,26490
        !           115: 16490 ivpass = ivpass + 1
        !           116:       write (i02,80001) ivtnum
        !           117:       go to 6501
        !           118: 26490 ivfail = ivfail + 1
        !           119:       ivcorr = 1
        !           120:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           121:  6501 continue
        !           122:       ivtnum = 650
        !           123: c
        !           124: c      ****  test 650  ****
        !           125: c     test 650  - zero base to first power
        !           126: c
        !           127:       if (iczero) 36500, 6500, 36500
        !           128:  6500 continue
        !           129:       ivon01 = 1
        !           130:       ivcomp = 0 ** ivon01
        !           131:       go to 46500
        !           132: 36500 ivdele = ivdele + 1
        !           133:       write (i02,80003) ivtnum
        !           134:       if (iczero) 46500, 6511, 46500
        !           135: 46500 if (ivcomp) 26500,16500,26500
        !           136: 16500 ivpass = ivpass + 1
        !           137:       write (i02,80001) ivtnum
        !           138:       go to 6511
        !           139: 26500 ivfail = ivfail + 1
        !           140:       ivcorr = 0
        !           141:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           142:  6511 continue
        !           143:       ivtnum = 651
        !           144: c
        !           145: c      ****  test 651  ****
        !           146: c     test 651  - base =1; exponent = 1
        !           147: c
        !           148:       if (iczero) 36510, 6510, 36510
        !           149:  6510 continue
        !           150:       ivon01 = 1
        !           151:       ivcomp = 1 ** ivon01
        !           152:       go to 46510
        !           153: 36510 ivdele = ivdele + 1
        !           154:       write (i02,80003) ivtnum
        !           155:       if (iczero) 46510, 6521, 46510
        !           156: 46510 if (ivcomp - 1) 26510,16510,26510
        !           157: 16510 ivpass = ivpass + 1
        !           158:       write (i02,80001) ivtnum
        !           159:       go to 6521
        !           160: 26510 ivfail = ivfail + 1
        !           161:       ivcorr = 1
        !           162:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           163:  6521 continue
        !           164:       ivtnum = 652
        !           165: c
        !           166: c      ****  test 652  ****
        !           167: c     test 652  - large exponent
        !           168: c
        !           169:       if (iczero) 36520, 6520, 36520
        !           170:  6520 continue
        !           171:       ivon01 = 32767
        !           172:       ivcomp = 1 ** ivon01
        !           173:       go to 46520
        !           174: 36520 ivdele = ivdele + 1
        !           175:       write (i02,80003) ivtnum
        !           176:       if (iczero) 46520, 6531, 46520
        !           177: 46520 if (ivcomp - 1) 26520,16520,26520
        !           178: 16520 ivpass = ivpass + 1
        !           179:       write (i02,80001) ivtnum
        !           180:       go to 6531
        !           181: 26520 ivfail = ivfail + 1
        !           182:       ivcorr = 1
        !           183:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           184:  6531 continue
        !           185:       ivtnum = 653
        !           186: c
        !           187: c      ****  test 653  ****
        !           188: c     test 653  - large number base; exponent = 1
        !           189: c
        !           190:       if (iczero) 36530, 6530, 36530
        !           191:  6530 continue
        !           192:       ivon01 = 1
        !           193:       ivcomp = 32767 ** ivon01
        !           194:       go to 46530
        !           195: 36530 ivdele = ivdele + 1
        !           196:       write (i02,80003) ivtnum
        !           197:       if (iczero) 46530, 6541, 46530
        !           198: 46530 if (ivcomp - 32767) 26530,16530,26530
        !           199: 16530 ivpass = ivpass + 1
        !           200:       write (i02,80001) ivtnum
        !           201:       go to 6541
        !           202: 26530 ivfail = ivfail + 1
        !           203:       ivcorr = 32767
        !           204:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           205:  6541 continue
        !           206:       ivtnum = 654
        !           207: c
        !           208: c      ****  test 654  ****
        !           209: c     test 654  - zero base; large number exponent
        !           210: c
        !           211:       if (iczero) 36540, 6540, 36540
        !           212:  6540 continue
        !           213:       ivon01 = 32767
        !           214:       ivcomp = 0 ** ivon01
        !           215:       go to 46540
        !           216: 36540 ivdele = ivdele + 1
        !           217:       write (i02,80003) ivtnum
        !           218:       if (iczero) 46540, 6551, 46540
        !           219: 46540 if (ivcomp) 26540,16540,26540
        !           220: 16540 ivpass = ivpass + 1
        !           221:       write (i02,80001) ivtnum
        !           222:       go to 6551
        !           223: 26540 ivfail = ivfail + 1
        !           224:       ivcorr = 0
        !           225:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           226:  6551 continue
        !           227:       ivtnum = 655
        !           228: c
        !           229: c      ****  test 655  ****
        !           230: c     test 655  -large number base; zero exponent
        !           231: c
        !           232:       if (iczero) 36550, 6550, 36550
        !           233:  6550 continue
        !           234:       ivon01 = 0
        !           235:       ivcomp = 32767 ** ivon01
        !           236:       go to 46550
        !           237: 36550 ivdele = ivdele + 1
        !           238:       write (i02,80003) ivtnum
        !           239:       if (iczero) 46550, 6561, 46550
        !           240: 46550 if (ivcomp -1) 26550,16550,26550
        !           241: 16550 ivpass = ivpass + 1
        !           242:       write (i02,80001) ivtnum
        !           243:       go to 6561
        !           244: 26550 ivfail = ivfail + 1
        !           245:       ivcorr = 1
        !           246:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           247:  6561 continue
        !           248:       ivtnum = 656
        !           249: c
        !           250: c      ****  test 656  ****
        !           251: c     test 656  -exponent is power of two
        !           252: c
        !           253:       if (iczero) 36560, 6560, 36560
        !           254:  6560 continue
        !           255:       ivon01 = 2
        !           256:       ivcomp = 181 ** ivon01
        !           257:       go to 46560
        !           258: 36560 ivdele = ivdele + 1
        !           259:       write (i02,80003) ivtnum
        !           260:       if (iczero) 46560, 6571, 46560
        !           261: 46560 if (ivcomp - 32761) 26560,16560,26560
        !           262: 16560 ivpass = ivpass + 1
        !           263:       write (i02,80001) ivtnum
        !           264:       go to 6571
        !           265: 26560 ivfail = ivfail + 1
        !           266:       ivcorr = 32761
        !           267:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           268:  6571 continue
        !           269:       ivtnum = 657
        !           270: c
        !           271: c      ****  test 657  ****
        !           272: c     test 657  - base and exponent are both powers of two
        !           273: c
        !           274:       if (iczero) 36570, 6570, 36570
        !           275:  6570 continue
        !           276:       ivon01 = 8
        !           277:       ivcomp = 2 ** ivon01
        !           278:       go to 46570
        !           279: 36570 ivdele = ivdele + 1
        !           280:       write (i02,80003) ivtnum
        !           281:       if (iczero) 46570, 6581, 46570
        !           282: 46570 if (ivcomp - 256) 26570,16570,26560
        !           283: 16570 ivpass = ivpass + 1
        !           284:       write (i02,80001) ivtnum
        !           285:       go to 6581
        !           286: 26570 ivfail = ivfail + 1
        !           287:       ivcorr = 256
        !           288:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           289:  6581 continue
        !           290: c
        !           291: c     tests 658 and 659 test to ensure exponentiation operator is
        !           292: c                       not commutative
        !           293: c
        !           294:       ivtnum = 658
        !           295: c
        !           296: c      ****  test 658  ****
        !           297: c
        !           298:       if (iczero) 36580, 6580, 36580
        !           299:  6580 continue
        !           300:       ivon01 = 9
        !           301:       ivcomp = 3 ** ivon01
        !           302:       go to 46580
        !           303: 36580 ivdele = ivdele + 1
        !           304:       write (i02,80003) ivtnum
        !           305:       if (iczero) 46580, 6591, 46580
        !           306: 46580 if (ivcomp - 19683) 26580,16580,26580
        !           307: 16580 ivpass = ivpass + 1
        !           308:       write (i02,80001) ivtnum
        !           309:       go to 6591
        !           310: 26580 ivfail = ivfail + 1
        !           311:       ivcorr = 19683
        !           312:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           313:  6591 continue
        !           314:       ivtnum = 659
        !           315: c
        !           316: c      ****  test 659  ****
        !           317: c
        !           318:       if (iczero) 36590, 6590, 36590
        !           319:  6590 continue
        !           320:       ivon01 = 3
        !           321:       ivcomp = 9 ** ivon01
        !           322:       go to 46590
        !           323: 36590 ivdele = ivdele + 1
        !           324:       write (i02,80003) ivtnum
        !           325:       if (iczero) 46590, 6601, 46590
        !           326: 46590 if (ivcomp - 729) 26590,16590,26590
        !           327: 16590 ivpass = ivpass + 1
        !           328:       write (i02,80001) ivtnum
        !           329:       go to 6601
        !           330: 26590 ivfail = ivfail + 1
        !           331:       ivcorr = 729
        !           332:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           333:  6601 continue
        !           334: c
        !           335: c     tests 660 through 665 test positive and negative bases to positive
        !           336: c                           odd and even number powers checking the sign
        !           337: c                           of the results
        !           338: c
        !           339:       ivtnum = 660
        !           340: c
        !           341: c      ****  test 660  ****
        !           342: c
        !           343:       if (iczero) 36600, 6600, 36600
        !           344:  6600 continue
        !           345:       ivon01 = 2
        !           346:       ivcomp = 1 ** ivon01
        !           347:       go to 46600
        !           348: 36600 ivdele = ivdele + 1
        !           349:       write (i02,80003) ivtnum
        !           350:       if (iczero) 46600, 6611, 46600
        !           351: 46600 if (ivcomp - 1) 26600,16600,26600
        !           352: 16600 ivpass = ivpass + 1
        !           353:       write (i02,80001) ivtnum
        !           354:       go to 6611
        !           355: 26600 ivfail = ivfail + 1
        !           356:       ivcorr = 1
        !           357:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           358:  6611 continue
        !           359:       ivtnum = 661
        !           360: c
        !           361: c      ****  test 661  ****
        !           362: c
        !           363:       if (iczero) 36610, 6610, 36610
        !           364:  6610 continue
        !           365:       ivon01 = 2
        !           366:       ivcomp = ( -1) ** ivon01
        !           367:       go to 46610
        !           368: 36610 ivdele = ivdele + 1
        !           369:       write (i02,80003) ivtnum
        !           370:       if (iczero) 46610, 6621, 46610
        !           371: 46610 if (ivcomp - 1) 26610,16610,26610
        !           372: 16610 ivpass = ivpass + 1
        !           373:       write (i02,80001) ivtnum
        !           374:       go to 6621
        !           375: 26610 ivfail = ivfail + 1
        !           376:       ivcorr = 1
        !           377:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           378:  6621 continue
        !           379:       ivtnum = 662
        !           380: c
        !           381: c      ****  test 662  ****
        !           382: c
        !           383:       if (iczero) 36620, 6620, 36620
        !           384:  6620 continue
        !           385:       ivon01 = 3
        !           386:       ivcomp = 7 ** ivon01
        !           387:       go to 46620
        !           388: 36620 ivdele = ivdele + 1
        !           389:       write (i02,80003) ivtnum
        !           390:       if (iczero) 46620, 6631, 46620
        !           391: 46620 if (ivcomp - 343) 26620,16620,26620
        !           392: 16620 ivpass = ivpass + 1
        !           393:       write (i02,80001) ivtnum
        !           394:       go to 6631
        !           395: 26620 ivfail = ivfail + 1
        !           396:       ivcorr = 343
        !           397:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           398:  6631 continue
        !           399:       ivtnum = 663
        !           400: c
        !           401: c      ****  test 663  ****
        !           402: c
        !           403:       if (iczero) 36630, 6630, 36630
        !           404:  6630 continue
        !           405:       ivon01 = 3
        !           406:       ivcomp = (-7) **ivon01
        !           407:       go to 46630
        !           408: 36630 ivdele = ivdele + 1
        !           409:       write (i02,80003) ivtnum
        !           410:       if (iczero) 46630, 6641, 46630
        !           411: 46630 if (ivcomp + 343) 26630,16630,26630
        !           412: 16630 ivpass = ivpass + 1
        !           413:       write (i02,80001) ivtnum
        !           414:       go to 6641
        !           415: 26630 ivfail = ivfail + 1
        !           416:       ivcorr = -343
        !           417:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           418:  6641 continue
        !           419:       ivtnum = 664
        !           420: c
        !           421: c      ****  test 664  ****
        !           422: c
        !           423:       if (iczero) 36640, 6640, 36640
        !           424:  6640 continue
        !           425:       ivon01 = 4
        !           426:       ivcomp = 7 ** ivon01
        !           427:       go to 46640
        !           428: 36640 ivdele = ivdele + 1
        !           429:       write (i02,80003) ivtnum
        !           430:       if (iczero) 46640, 6651, 46640
        !           431: 46640 if (ivcomp - 2401) 26640,16640,26640
        !           432: 16640 ivpass = ivpass + 1
        !           433:       write (i02,80001) ivtnum
        !           434:       go to 6651
        !           435: 26640 ivfail = ivfail + 1
        !           436:       ivcorr = 2401
        !           437:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           438:  6651 continue
        !           439:       ivtnum = 665
        !           440: c
        !           441: c      ****  test 665  ****
        !           442: c
        !           443:       if (iczero) 36650, 6650, 36650
        !           444:  6650 continue
        !           445:       ivon01 = 4
        !           446:       ivcomp = (-7) ** ivon01
        !           447:       go to 46650
        !           448: 36650 ivdele = ivdele + 1
        !           449:       write (i02,80003) ivtnum
        !           450:       if (iczero) 46650, 6661, 46650
        !           451: 46650 if (ivcomp - 2401) 26650,16650,26650
        !           452: 16650 ivpass = ivpass + 1
        !           453:       write (i02,80001) ivtnum
        !           454:       go to 6661
        !           455: 26650 ivfail = ivfail + 1
        !           456:       ivcorr = 2401
        !           457:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           458:  6661 continue
        !           459:       ivtnum = 666
        !           460: c
        !           461: c      ****  test 666  ****
        !           462: c     test 666  - small number base; zero exponent
        !           463: c
        !           464:       if (iczero) 36660, 6660, 36660
        !           465:  6660 continue
        !           466:       ivon01 = 1
        !           467:       ivon02 = 0
        !           468:       ivcomp = ivon01 ** ivon02
        !           469:       go to 46660
        !           470: 36660 ivdele = ivdele + 1
        !           471:       write (i02,80003) ivtnum
        !           472:       if (iczero) 46660, 6671, 46660
        !           473: 46660 if (ivcomp - 1) 26660,16660,26660
        !           474: 16660 ivpass = ivpass + 1
        !           475:       write (i02,80001) ivtnum
        !           476:       go to 6671
        !           477: 26660 ivfail = ivfail + 1
        !           478:       ivcorr = 1
        !           479:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           480:  6671 continue
        !           481:       ivtnum = 667
        !           482: c
        !           483: c      ****  test 667  ****
        !           484: c     test 667  - zero base to first power
        !           485: c
        !           486:       if (iczero) 36670, 6670, 36670
        !           487:  6670 continue
        !           488:       ivon01 = 0
        !           489:       ivon02 = 1
        !           490:       ivcomp = ivon01 ** ivon02
        !           491:       go to 46670
        !           492: 36670 ivdele = ivdele + 1
        !           493:       write (i02,80003) ivtnum
        !           494:       if (iczero) 46670, 6681, 46670
        !           495: 46670 if (ivcomp) 26670,16670,26670
        !           496: 16670 ivpass = ivpass + 1
        !           497:       write (i02,80001) ivtnum
        !           498:       go to 6681
        !           499: 26670 ivfail = ivfail + 1
        !           500:       ivcorr = 0
        !           501:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           502:  6681 continue
        !           503:       ivtnum = 668
        !           504: c
        !           505: c      ****  test 668  ****
        !           506: c     test 668  - base =1; exponent = 1
        !           507: c
        !           508:       if (iczero) 36680, 6680, 36680
        !           509:  6680 continue
        !           510:       ivon01 = 1
        !           511:       ivon02 = 1
        !           512:       ivcomp = ivon01 ** ivon02
        !           513:       go to 46680
        !           514: 36680 ivdele = ivdele + 1
        !           515:       write (i02,80003) ivtnum
        !           516:       if (iczero) 46680, 6691, 46680
        !           517: 46680 if (ivcomp - 1) 26680,16680,26680
        !           518: 16680 ivpass = ivpass + 1
        !           519:       write (i02,80001) ivtnum
        !           520:       go to 6691
        !           521: 26680 ivfail = ivfail + 1
        !           522:       ivcorr = 1
        !           523:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           524:  6691 continue
        !           525:       ivtnum = 669
        !           526: c
        !           527: c      ****  test 669  ****
        !           528: c     test 669  - large exponent
        !           529: c
        !           530:       if (iczero) 36690, 6690, 36690
        !           531:  6690 continue
        !           532:       ivon01 = 1
        !           533:       ivon02 = 32767
        !           534:       ivcomp = ivon01 ** ivon02
        !           535:       go to 46690
        !           536: 36690 ivdele = ivdele + 1
        !           537:       write (i02,80003) ivtnum
        !           538:       if (iczero) 46690, 6701, 46690
        !           539: 46690 if (ivcomp - 1) 26690,16690,26690
        !           540: 16690 ivpass = ivpass + 1
        !           541:       write (i02,80001) ivtnum
        !           542:       go to 6701
        !           543: 26690 ivfail = ivfail + 1
        !           544:       ivcorr = 1
        !           545:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           546:  6701 continue
        !           547:       ivtnum = 670
        !           548: c
        !           549: c      ****  test 670  ****
        !           550: c     test 670  - large number base; exponent = 1
        !           551: c
        !           552:       if (iczero) 36700, 6700, 36700
        !           553:  6700 continue
        !           554:       ivon01 = 32767
        !           555:       ivon02 = 1
        !           556:       ivcomp = ivon01 ** ivon02
        !           557:       go to 46700
        !           558: 36700 ivdele = ivdele + 1
        !           559:       write (i02,80003) ivtnum
        !           560:       if (iczero) 46700, 6711, 46700
        !           561: 46700 if (ivcomp - 32767) 26700,16700,26700
        !           562: 16700 ivpass = ivpass + 1
        !           563:       write (i02,80001) ivtnum
        !           564:       go to 6711
        !           565: 26700 ivfail = ivfail + 1
        !           566:       ivcorr = 32767
        !           567:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           568:  6711 continue
        !           569:       ivtnum = 671
        !           570: c
        !           571: c      ****  test 671  ****
        !           572: c     test 671  - zero base; large number exponent
        !           573: c
        !           574:       if (iczero) 36710, 6710, 36710
        !           575:  6710 continue
        !           576:       ivon01 = 0
        !           577:       ivon02 = 32767
        !           578:       ivcomp = ivon01 ** ivon02
        !           579:       go to 46710
        !           580: 36710 ivdele = ivdele + 1
        !           581:       write (i02,80003) ivtnum
        !           582:       if (iczero) 46710, 6721, 46710
        !           583: 46710 if (ivcomp) 26710,16710,26710
        !           584: 16710 ivpass = ivpass + 1
        !           585:       write (i02,80001) ivtnum
        !           586:       go to 6721
        !           587: 26710 ivfail = ivfail + 1
        !           588:       ivcorr = 0
        !           589:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           590:  6721 continue
        !           591:       ivtnum = 672
        !           592: c
        !           593: c      ****  test 672  ****
        !           594: c     test 672  -large number base; zero exponent
        !           595: c
        !           596:       if (iczero) 36720, 6720, 36720
        !           597:  6720 continue
        !           598:       ivon01 = 32767
        !           599:       ivon02 = 0
        !           600:       ivcomp = ivon01 ** ivon02
        !           601:       go to 46720
        !           602: 36720 ivdele = ivdele + 1
        !           603:       write (i02,80003) ivtnum
        !           604:       if (iczero) 46720, 6731, 46720
        !           605: 46720 if (ivcomp -1) 26720,16720,26720
        !           606: 16720 ivpass = ivpass + 1
        !           607:       write (i02,80001) ivtnum
        !           608:       go to 6731
        !           609: 26720 ivfail = ivfail + 1
        !           610:       ivcorr = 1
        !           611:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           612:  6731 continue
        !           613:       ivtnum = 673
        !           614: c
        !           615: c      ****  test 673  ****
        !           616: c     test 673  -exponent is power of two
        !           617: c
        !           618:       if (iczero) 36730, 6730, 36730
        !           619:  6730 continue
        !           620:       ivon01 = 181
        !           621:       ivon02 = 2
        !           622:       ivcomp = ivon01 ** ivon02
        !           623:       go to 46730
        !           624: 36730 ivdele = ivdele + 1
        !           625:       write (i02,80003) ivtnum
        !           626:       if (iczero) 46730, 6741, 46730
        !           627: 46730 if (ivcomp - 32761) 26730,16730,26730
        !           628: 16730 ivpass = ivpass + 1
        !           629:       write (i02,80001) ivtnum
        !           630:       go to 6741
        !           631: 26730 ivfail = ivfail + 1
        !           632:       ivcorr = 32761
        !           633:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           634:  6741 continue
        !           635:       ivtnum = 674
        !           636: c
        !           637: c      ****  test 674  ****
        !           638: c     test 674  - base and exponent are both powers of two
        !           639: c
        !           640:       if (iczero) 36740, 6740, 36740
        !           641:  6740 continue
        !           642:       ivon01 = 2
        !           643:       ivon02 = 8
        !           644:       ivcomp = ivon01 ** ivon02
        !           645:       go to 46740
        !           646: 36740 ivdele = ivdele + 1
        !           647:       write (i02,80003) ivtnum
        !           648:       if (iczero) 46740, 6751, 46740
        !           649: 46740 if (ivcomp - 256) 26740,16740,26740
        !           650: 16740 ivpass = ivpass + 1
        !           651:       write (i02,80001) ivtnum
        !           652:       go to 6751
        !           653: 26740 ivfail = ivfail + 1
        !           654:       ivcorr = 256
        !           655:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           656:  6751 continue
        !           657: c
        !           658: c     tests 675 and 676 test to ensure exponentiation operator is
        !           659: c                       not commutative
        !           660: c
        !           661:       ivtnum = 675
        !           662: c
        !           663: c      ****  test 675  ****
        !           664: c
        !           665:       if (iczero) 36750, 6750, 36750
        !           666:  6750 continue
        !           667:       ivon01 = 3
        !           668:       ivon02 = 9
        !           669:       ivcomp = ivon01 ** ivon02
        !           670:       go to 46750
        !           671: 36750 ivdele = ivdele + 1
        !           672:       write (i02,80003) ivtnum
        !           673:       if (iczero) 46750, 6761, 46750
        !           674: 46750 if (ivcomp - 19683) 26750,16750,26750
        !           675: 16750 ivpass = ivpass + 1
        !           676:       write (i02,80001) ivtnum
        !           677:       go to 6761
        !           678: 26750 ivfail = ivfail + 1
        !           679:       ivcorr = 19683
        !           680:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           681:  6761 continue
        !           682:       ivtnum = 676
        !           683: c
        !           684: c      ****  test 676  ****
        !           685: c
        !           686:       if (iczero) 36760, 6760, 36760
        !           687:  6760 continue
        !           688:       ivon01 = 9
        !           689:       ivon02 = 3
        !           690:       ivcomp = ivon01 ** ivon02
        !           691:       go to 46760
        !           692: 36760 ivdele = ivdele + 1
        !           693:       write (i02,80003) ivtnum
        !           694:       if (iczero) 46760, 6771, 46760
        !           695: 46760 if (ivcomp - 729) 26760,16760,26760
        !           696: 16760 ivpass = ivpass + 1
        !           697:       write (i02,80001) ivtnum
        !           698:       go to 6771
        !           699: 26760 ivfail = ivfail + 1
        !           700:       ivcorr = 729
        !           701:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           702:  6771 continue
        !           703: c
        !           704: c     tests 677 through 682 test positive and negative bases to positive
        !           705: c                           odd and even number powers checking the sign
        !           706: c                           of the results
        !           707: c
        !           708:       ivtnum = 677
        !           709: c
        !           710: c      ****  test 677  ****
        !           711: c
        !           712:       if (iczero) 36770, 6770, 36770
        !           713:  6770 continue
        !           714:       ivon01 = 1
        !           715:       ivon02 = 2
        !           716:       ivcomp = ivon01 ** ivon02
        !           717:       go to 46770
        !           718: 36770 ivdele = ivdele + 1
        !           719:       write (i02,80003) ivtnum
        !           720:       if (iczero) 46770, 6781, 46770
        !           721: 46770 if (ivcomp - 1) 26770,16770,26770
        !           722: 16770 ivpass = ivpass + 1
        !           723:       write (i02,80001) ivtnum
        !           724:       go to 6781
        !           725: 26770 ivfail = ivfail + 1
        !           726:       ivcorr = 1
        !           727:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           728:  6781 continue
        !           729:       ivtnum = 678
        !           730: c
        !           731: c      ****  test 678  ****
        !           732: c
        !           733:       if (iczero) 36780, 6780, 36780
        !           734:  6780 continue
        !           735:       ivon01 = -1
        !           736:       ivon02 = 2
        !           737:       ivcomp = ivon01 ** ivon02
        !           738:       go to 46780
        !           739: 36780 ivdele = ivdele + 1
        !           740:       write (i02,80003) ivtnum
        !           741:       if (iczero) 46780, 6791, 46780
        !           742: 46780 if (ivcomp - 1) 26780,16780,26780
        !           743: 16780 ivpass = ivpass + 1
        !           744:       write (i02,80001) ivtnum
        !           745:       go to 6791
        !           746: 26780 ivfail = ivfail + 1
        !           747:       ivcorr = 1
        !           748:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           749:  6791 continue
        !           750:       ivtnum = 679
        !           751: c
        !           752: c      ****  test 679  ****
        !           753: c
        !           754:       if (iczero) 36790, 6790, 36790
        !           755:  6790 continue
        !           756:       ivon01 = 7
        !           757:       ivon02 = 3
        !           758:       ivcomp = ivon01 ** ivon02
        !           759:       go to 46790
        !           760: 36790 ivdele = ivdele + 1
        !           761:       write (i02,80003) ivtnum
        !           762:       if (iczero) 46790, 6801, 46790
        !           763: 46790 if (ivcomp - 343) 26790,16790,26790
        !           764: 16790 ivpass = ivpass + 1
        !           765:       write (i02,80001) ivtnum
        !           766:       go to 6801
        !           767: 26790 ivfail = ivfail + 1
        !           768:       ivcorr = 343
        !           769:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           770:  6801 continue
        !           771:       ivtnum = 680
        !           772: c
        !           773: c      ****  test 680  ****
        !           774: c
        !           775:       if (iczero) 36800, 6800, 36800
        !           776:  6800 continue
        !           777:       ivon01 = -7
        !           778:       ivon02 = 3
        !           779:       ivcomp = ivon01 ** ivon02
        !           780:       go to 46800
        !           781: 36800 ivdele = ivdele + 1
        !           782:       write (i02,80003) ivtnum
        !           783:       if (iczero) 46800, 6811, 46800
        !           784: 46800 if (ivcomp + 343) 26800,16800,26800
        !           785: 16800 ivpass = ivpass + 1
        !           786:       write (i02,80001) ivtnum
        !           787:       go to 6811
        !           788: 26800 ivfail = ivfail + 1
        !           789:       ivcorr = -343
        !           790:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           791:  6811 continue
        !           792:       ivtnum = 681
        !           793: c
        !           794: c      ****  test 681  ****
        !           795: c
        !           796:       if (iczero) 36810, 6810, 36810
        !           797:  6810 continue
        !           798:       ivon01 = 7
        !           799:       ivon02 = 4
        !           800:       ivcomp = ivon01 ** ivon02
        !           801:       go to 46810
        !           802: 36810 ivdele = ivdele + 1
        !           803:       write (i02,80003) ivtnum
        !           804:       if (iczero) 46810, 6821, 46810
        !           805: 46810 if (ivcomp - 2401) 26810,16810,26810
        !           806: 16810 ivpass = ivpass + 1
        !           807:       write (i02,80001) ivtnum
        !           808:       go to 6821
        !           809: 26810 ivfail = ivfail + 1
        !           810:       ivcorr = 2401
        !           811:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           812:  6821 continue
        !           813:       ivtnum = 682
        !           814: c
        !           815: c      ****  test 682  ****
        !           816: c
        !           817:       if (iczero) 36820, 6820, 36820
        !           818:  6820 continue
        !           819:       ivon01 = -7
        !           820:       ivon02 = 4
        !           821:       ivcomp = ivon01 ** ivon02
        !           822:       go to 46820
        !           823: 36820 ivdele = ivdele + 1
        !           824:       write (i02,80003) ivtnum
        !           825:       if (iczero) 46820, 6831, 46820
        !           826: 46820 if (ivcomp - 2401) 26820,16820,26820
        !           827: 16820 ivpass = ivpass + 1
        !           828:       write (i02,80001) ivtnum
        !           829:       go to 6831
        !           830: 26820 ivfail = ivfail + 1
        !           831:       ivcorr = 2401
        !           832:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           833:  6831 continue
        !           834: c
        !           835: c     write page footings and run summaries
        !           836: 99999 continue
        !           837:       write (i02,90002)
        !           838:       write (i02,90006)
        !           839:       write (i02,90002)
        !           840:       write (i02,90002)
        !           841:       write (i02,90007)
        !           842:       write (i02,90002)
        !           843:       write (i02,90008)  ivfail
        !           844:       write (i02,90009) ivpass
        !           845:       write (i02,90010) ivdele
        !           846: c
        !           847: c
        !           848: c     terminate routine execution
        !           849:       stop
        !           850: c
        !           851: c     format statements for page headers
        !           852: 90000 format (1h1)
        !           853: 90002 format (1h )
        !           854: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           855: 90003 format (1h ,21x,11hversion 1.0)
        !           856: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           857: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           858: 90006 format (1h ,5x,46h----------------------------------------------)
        !           859: 90011 format (1h ,18x,17hsubset level test)
        !           860: c
        !           861: c     format statements for run summaries
        !           862: 90008 format (1h ,15x,i5,19h errors encountered)
        !           863: 90009 format (1h ,15x,i5,13h tests passed)
        !           864: 90010 format (1h ,15x,i5,14h tests deleted)
        !           865: c
        !           866: c     format statements for test results
        !           867: 80001 format (1h ,4x,i5,7x,4hpass)
        !           868: 80002 format (1h ,4x,i5,7x,4hfail)
        !           869: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           870: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           871: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           872: c
        !           873: 90007 format (1h ,20x,20hend of program fm042)
        !           874:       end

unix.superglobalmegacorp.com

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