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

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm041
        !             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 constant.
        !             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 615 through test 631 contain arithmetic assignment statements
        !            95: c     of the form    integer variable = integer constant ** integer con.
        !            96: c
        !            97: c     test 632 through test 648 contain arithmetic assignment statements
        !            98: c     of the form    integer variable = integer variable ** integer con.
        !            99: c
        !           100: c
        !           101:       ivtnum = 615
        !           102: c
        !           103: c      ****  test 615  ****
        !           104: c     test 615  - small number base; zero exponent
        !           105: c
        !           106:       if (iczero) 36150, 6150, 36150
        !           107:  6150 continue
        !           108:       ivcomp = 1 ** 0
        !           109:       go to 46150
        !           110: 36150 ivdele = ivdele + 1
        !           111:       write (i02,80003) ivtnum
        !           112:       if (iczero) 46150, 6161, 46150
        !           113: 46150 if (ivcomp - 1) 26150,16150,26150
        !           114: 16150 ivpass = ivpass + 1
        !           115:       write (i02,80001) ivtnum
        !           116:       go to 6161
        !           117: 26150 ivfail = ivfail + 1
        !           118:       ivcorr = 1
        !           119:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           120:  6161 continue
        !           121:       ivtnum = 616
        !           122: c
        !           123: c      ****  test 616  ****
        !           124: c     test 616  - zero base to first power
        !           125: c
        !           126:       if (iczero) 36160, 6160, 36160
        !           127:  6160 continue
        !           128:       ivcomp = 0 ** 1
        !           129:       go to 46160
        !           130: 36160 ivdele = ivdele + 1
        !           131:       write (i02,80003) ivtnum
        !           132:       if (iczero) 46160, 6171, 46160
        !           133: 46160 if (ivcomp) 26160,16160,26160
        !           134: 16160 ivpass = ivpass + 1
        !           135:       write (i02,80001) ivtnum
        !           136:       go to 6171
        !           137: 26160 ivfail = ivfail + 1
        !           138:       ivcorr = 0
        !           139:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           140:  6171 continue
        !           141:       ivtnum = 617
        !           142: c
        !           143: c      ****  test 617  ****
        !           144: c     test 617  - base =1; exponent = 1
        !           145: c
        !           146:       if (iczero) 36170, 6170, 36170
        !           147:  6170 continue
        !           148:       ivcomp = 1 ** 1
        !           149:       go to 46170
        !           150: 36170 ivdele = ivdele + 1
        !           151:       write (i02,80003) ivtnum
        !           152:       if (iczero) 46170, 6181, 46170
        !           153: 46170 if (ivcomp - 1) 26170,16170,26170
        !           154: 16170 ivpass = ivpass + 1
        !           155:       write (i02,80001) ivtnum
        !           156:       go to 6181
        !           157: 26170 ivfail = ivfail + 1
        !           158:       ivcorr = 1
        !           159:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           160:  6181 continue
        !           161:       ivtnum = 618
        !           162: c
        !           163: c      ****  test 618  ****
        !           164: c     test 618  - large number base; exponent = 1
        !           165: c
        !           166:       if (iczero) 36180, 6180, 36180
        !           167:  6180 continue
        !           168:       ivcomp = 32767 ** 1
        !           169:       go to 46180
        !           170: 36180 ivdele = ivdele + 1
        !           171:       write (i02,80003) ivtnum
        !           172:       if (iczero) 46180, 6191, 46180
        !           173: 46180 if (ivcomp - 32767) 26180,16180,26180
        !           174: 16180 ivpass = ivpass + 1
        !           175:       write (i02,80001) ivtnum
        !           176:       go to 6191
        !           177: 26180 ivfail = ivfail + 1
        !           178:       ivcorr = 32767
        !           179:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           180:  6191 continue
        !           181:       ivtnum = 619
        !           182: c
        !           183: c      ****  test 619  ****
        !           184: c     test 619  - large exponent
        !           185: c
        !           186:       if (iczero) 36190, 6190, 36190
        !           187:  6190 continue
        !           188:       ivcomp = 1 ** 32767
        !           189:       go to 46190
        !           190: 36190 ivdele = ivdele + 1
        !           191:       write (i02,80003) ivtnum
        !           192:       if (iczero) 46190, 6201, 46190
        !           193: 46190 if (ivcomp - 1) 26190,16190,26190
        !           194: 16190 ivpass = ivpass + 1
        !           195:       write (i02,80001) ivtnum
        !           196:       go to 6201
        !           197: 26190 ivfail = ivfail + 1
        !           198:       ivcorr = 1
        !           199:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           200:  6201 continue
        !           201:       ivtnum = 620
        !           202: c
        !           203: c      ****  test 620  ****
        !           204: c     test 620  - zero base; large number exponent
        !           205: c
        !           206:       if (iczero) 36200, 6200, 36200
        !           207:  6200 continue
        !           208:       ivcomp = 0 ** 32767
        !           209:       go to 46200
        !           210: 36200 ivdele = ivdele + 1
        !           211:       write (i02,80003) ivtnum
        !           212:       if (iczero) 46200, 6211, 46200
        !           213: 46200 if (ivcomp) 26200,16200,26200
        !           214: 16200 ivpass = ivpass + 1
        !           215:       write (i02,80001) ivtnum
        !           216:       go to 6211
        !           217: 26200 ivfail = ivfail + 1
        !           218:       ivcorr = 0
        !           219:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           220:  6211 continue
        !           221:       ivtnum = 621
        !           222: c
        !           223: c      ****  test 621  ****
        !           224: c     test 621  -large number base; zero exponent
        !           225: c
        !           226:       if (iczero) 36210, 6210, 36210
        !           227:  6210 continue
        !           228:       ivcomp = 32767 ** 0
        !           229:       go to 46210
        !           230: 36210 ivdele = ivdele + 1
        !           231:       write (i02,80003) ivtnum
        !           232:       if (iczero) 46210, 6221, 46210
        !           233: 46210 if (ivcomp - 1) 26210,16210,26210
        !           234: 16210 ivpass = ivpass + 1
        !           235:       write (i02,80001) ivtnum
        !           236:       go to 6221
        !           237: 26210 ivfail = ivfail + 1
        !           238:       ivcorr = 1
        !           239:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           240:  6221 continue
        !           241:       ivtnum = 622
        !           242: c
        !           243: c      ****  test 622  ****
        !           244: c     test 622  -exponent is power of two
        !           245: c
        !           246:       if (iczero) 36220, 6220, 36220
        !           247:  6220 continue
        !           248:       ivcomp = 181 ** 2
        !           249:       go to 46220
        !           250: 36220 ivdele = ivdele + 1
        !           251:       write (i02,80003) ivtnum
        !           252:       if (iczero) 46220, 6231, 46220
        !           253: 46220 if (ivcomp - 32761) 26220,16220,26220
        !           254: 16220 ivpass = ivpass + 1
        !           255:       write (i02,80001) ivtnum
        !           256:       go to 6231
        !           257: 26220 ivfail = ivfail + 1
        !           258:       ivcorr = 32761
        !           259:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           260:  6231 continue
        !           261:       ivtnum = 623
        !           262: c
        !           263: c      ****  test 623  ****
        !           264: c     test 623  - base and exponent are both powers of two
        !           265: c
        !           266:       if (iczero) 36230, 6230, 36230
        !           267:  6230 continue
        !           268:       ivcomp = 2 ** 8
        !           269:       go to 46230
        !           270: 36230 ivdele = ivdele + 1
        !           271:       write (i02,80003) ivtnum
        !           272:       if (iczero) 46230, 6241, 46230
        !           273: 46230 if (ivcomp - 256) 26230,16230,26230
        !           274: 16230 ivpass = ivpass + 1
        !           275:       write (i02,80001) ivtnum
        !           276:       go to 6241
        !           277: 26230 ivfail = ivfail + 1
        !           278:       ivcorr = 256
        !           279:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           280:  6241 continue
        !           281: c
        !           282: c     tests 624 and 625 test to ensure exponentiation operator is
        !           283: c                       not commutative
        !           284: c
        !           285:       ivtnum = 624
        !           286: c
        !           287: c      ****  test 624  ****
        !           288: c
        !           289:       if (iczero) 36240, 6240, 36240
        !           290:  6240 continue
        !           291:       ivcomp = 3 ** 9
        !           292:       go to 46240
        !           293: 36240 ivdele = ivdele + 1
        !           294:       write (i02,80003) ivtnum
        !           295:       if (iczero) 46240, 6251, 46240
        !           296: 46240 if (ivcomp - 19683) 26240,16240,26240
        !           297: 16240 ivpass = ivpass + 1
        !           298:       write (i02,80001) ivtnum
        !           299:       go to 6251
        !           300: 26240 ivfail = ivfail + 1
        !           301:       ivcorr = 19683
        !           302:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           303:  6251 continue
        !           304:       ivtnum = 625
        !           305: c
        !           306: c      ****  test 625  ****
        !           307: c
        !           308:       if (iczero) 36250, 6250, 36250
        !           309:  6250 continue
        !           310:       ivcomp = 9 ** 3
        !           311:       go to 46250
        !           312: 36250 ivdele = ivdele + 1
        !           313:       write (i02,80003) ivtnum
        !           314:       if (iczero) 46250, 6261, 46250
        !           315: 46250 if (ivcomp - 729) 26250,16250,26250
        !           316: 16250 ivpass = ivpass + 1
        !           317:       write (i02,80001) ivtnum
        !           318:       go to 6261
        !           319: 26250 ivfail = ivfail + 1
        !           320:       ivcorr = 729
        !           321:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           322:  6261 continue
        !           323: c
        !           324: c     tests 626 through 631 test positive and negative bases to positive
        !           325: c                           odd and even number powers checking the sign
        !           326: c                           of the results
        !           327: c
        !           328:       ivtnum = 626
        !           329: c
        !           330: c      ****  test 626  ****
        !           331: c
        !           332:       if (iczero) 36260, 6260, 36260
        !           333:  6260 continue
        !           334:       ivcomp = 1 ** 2
        !           335:       go to 46260
        !           336: 36260 ivdele = ivdele + 1
        !           337:       write (i02,80003) ivtnum
        !           338:       if (iczero) 46260, 6271, 46260
        !           339: 46260 if (ivcomp - 1) 26260,16260,26260
        !           340: 16260 ivpass = ivpass + 1
        !           341:       write (i02,80001) ivtnum
        !           342:       go to 6271
        !           343: 26260 ivfail = ivfail + 1
        !           344:       ivcorr = 1
        !           345:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           346:  6271 continue
        !           347:       ivtnum = 627
        !           348: c
        !           349: c      ****  test 627  ****
        !           350: c
        !           351:       if (iczero) 36270, 6270, 36270
        !           352:  6270 continue
        !           353:       ivcomp= (-1) ** 2
        !           354:       go to 46270
        !           355: 36270 ivdele = ivdele + 1
        !           356:       write (i02,80003) ivtnum
        !           357:       if (iczero) 46270, 6281, 46270
        !           358: 46270 if (ivcomp - 1) 26270,16270,26270
        !           359: 16270 ivpass = ivpass + 1
        !           360:       write (i02,80001) ivtnum
        !           361:       go to 6281
        !           362: 26270 ivfail = ivfail + 1
        !           363:       ivcorr = 1
        !           364:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           365:  6281 continue
        !           366:       ivtnum = 628
        !           367: c
        !           368: c      ****  test 628  ****
        !           369: c
        !           370:       if (iczero) 36280, 6280, 36280
        !           371:  6280 continue
        !           372:       ivcomp = 7 ** 3
        !           373:       go to 46280
        !           374: 36280 ivdele = ivdele + 1
        !           375:       write (i02,80003) ivtnum
        !           376:       if (iczero) 46280, 6291, 46280
        !           377: 46280 if (ivcomp - 343) 26280,16280,26280
        !           378: 16280 ivpass = ivpass + 1
        !           379:       write (i02,80001) ivtnum
        !           380:       go to 6291
        !           381: 26280 ivfail = ivfail + 1
        !           382:       ivcorr = 343
        !           383:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           384:  6291 continue
        !           385:       ivtnum = 629
        !           386: c
        !           387: c      ****  test 629  ****
        !           388: c
        !           389:       if (iczero) 36290, 6290, 36290
        !           390:  6290 continue
        !           391:       ivcomp = (-7) ** 3
        !           392:       go to 46290
        !           393: 36290 ivdele = ivdele + 1
        !           394:       write (i02,80003) ivtnum
        !           395:       if (iczero) 46290, 6301, 46290
        !           396: 46290 if (ivcomp + 343) 26290,16290,26290
        !           397: 16290 ivpass = ivpass + 1
        !           398:       write (i02,80001) ivtnum
        !           399:       go to 6301
        !           400: 26290 ivfail = ivfail + 1
        !           401:       ivcorr = -343
        !           402:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           403:  6301 continue
        !           404:       ivtnum = 630
        !           405: c
        !           406: c      ****  test 630  ****
        !           407: c
        !           408:       if (iczero) 36300, 6300, 36300
        !           409:  6300 continue
        !           410:       ivcomp = 7 ** 4
        !           411:       go to 46300
        !           412: 36300 ivdele = ivdele + 1
        !           413:       write (i02,80003) ivtnum
        !           414:       if (iczero) 46300, 6311, 46300
        !           415: 46300 if (ivcomp - 2401) 26300,16300,26300
        !           416: 16300 ivpass = ivpass + 1
        !           417:       write (i02,80001) ivtnum
        !           418:       go to 6311
        !           419: 26300 ivfail = ivfail + 1
        !           420:       ivcorr = 2401
        !           421:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           422:  6311 continue
        !           423:       ivtnum = 631
        !           424: c
        !           425: c      ****  test 631  ****
        !           426: c
        !           427:       if (iczero) 36310, 6310, 36310
        !           428:  6310 continue
        !           429:       ivcomp = (-7) ** 4
        !           430:       go to 46310
        !           431: 36310 ivdele = ivdele + 1
        !           432:       write (i02,80003) ivtnum
        !           433:       if (iczero) 46310, 6321, 46310
        !           434: 46310 if (ivcomp - 2401) 26310,16310,26310
        !           435: 16310 ivpass = ivpass + 1
        !           436:       write (i02,80001) ivtnum
        !           437:       go to 6321
        !           438: 26310 ivfail = ivfail + 1
        !           439:       ivcorr = 2401
        !           440:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           441:  6321 continue
        !           442:       ivtnum = 632
        !           443: c
        !           444: c      ****  test 632  ****
        !           445: c     test 632  - small number base; zero exponent
        !           446: c
        !           447:       if (iczero) 36320, 6320, 36320
        !           448:  6320 continue
        !           449:       ivon01 = 1
        !           450:       ivcomp = ivon01 ** 1
        !           451:       go to 46320
        !           452: 36320 ivdele = ivdele + 1
        !           453:       write (i02,80003) ivtnum
        !           454:       if (iczero) 46320, 6331, 46320
        !           455: 46320 if (ivcomp - 1) 26320,16320,26320
        !           456: 16320 ivpass = ivpass + 1
        !           457:       write (i02,80001) ivtnum
        !           458:       go to 6331
        !           459: 26320 ivfail = ivfail + 1
        !           460:       ivcorr = 1
        !           461:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           462:  6331 continue
        !           463:       ivtnum = 633
        !           464: c
        !           465: c      ****  test 633  ****
        !           466: c     test 633  - zero base to first power
        !           467: c
        !           468:       if (iczero) 36330, 6330, 36330
        !           469:  6330 continue
        !           470:       ivon01 = 0
        !           471:       ivcomp = ivon01 ** 1
        !           472:       go to 46330
        !           473: 36330 ivdele = ivdele + 1
        !           474:       write (i02,80003) ivtnum
        !           475:       if (iczero) 46330, 6341, 46330
        !           476: 46330 if (ivcomp) 26330,16330,26330
        !           477: 16330 ivpass = ivpass + 1
        !           478:       write (i02,80001) ivtnum
        !           479:       go to 6341
        !           480: 26330 ivfail = ivfail + 1
        !           481:       ivcorr = 0
        !           482:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           483:  6341 continue
        !           484:       ivtnum = 634
        !           485: c
        !           486: c      ****  test 634  ****
        !           487: c     test 634  - base =1; exponent = 1
        !           488: c
        !           489:       if (iczero) 36340, 6340, 36340
        !           490:  6340 continue
        !           491:       ivon01 = 1
        !           492:       ivcomp = ivon01 ** 1
        !           493:       go to 46340
        !           494: 36340 ivdele = ivdele + 1
        !           495:       write (i02,80003) ivtnum
        !           496:       if (iczero) 46340, 6351, 46340
        !           497: 46340 if (ivcomp - 1) 26340,16340,26340
        !           498: 16340 ivpass = ivpass + 1
        !           499:       write (i02,80001) ivtnum
        !           500:       go to 6351
        !           501: 26340 ivfail = ivfail + 1
        !           502:       ivcorr = 1
        !           503:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           504:  6351 continue
        !           505:       ivtnum = 635
        !           506: c
        !           507: c      ****  test 635  ****
        !           508: c     test 635  - large exponent
        !           509: c
        !           510:       if (iczero) 36350, 6350, 36350
        !           511:  6350 continue
        !           512:       ivon01 = 1
        !           513:       ivcomp = ivon01 ** 32767
        !           514:       go to 46350
        !           515: 36350 ivdele = ivdele + 1
        !           516:       write (i02,80003) ivtnum
        !           517:       if (iczero) 46350, 6361, 46350
        !           518: 46350 if (ivcomp - 1) 26350,16350,26350
        !           519: 16350 ivpass = ivpass + 1
        !           520:       write (i02,80001) ivtnum
        !           521:       go to 6361
        !           522: 26350 ivfail = ivfail + 1
        !           523:       ivcorr = 1
        !           524:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           525:  6361 continue
        !           526:       ivtnum = 636
        !           527: c
        !           528: c      ****  test 636  ****
        !           529: c     test 636  - large number base; exponent = 1
        !           530: c
        !           531:       if (iczero) 36360, 6360, 36360
        !           532:  6360 continue
        !           533:       ivon01 = 32767
        !           534:       ivcomp = ivon01 ** 1
        !           535:       go to 46360
        !           536: 36360 ivdele = ivdele + 1
        !           537:       write (i02,80003) ivtnum
        !           538:       if (iczero) 46360, 6371, 46360
        !           539: 46360 if (ivcomp - 32767) 26360,16360,26360
        !           540: 16360 ivpass = ivpass + 1
        !           541:       write (i02,80001) ivtnum
        !           542:       go to 6371
        !           543: 26360 ivfail = ivfail + 1
        !           544:       ivcorr = 32767
        !           545:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           546:  6371 continue
        !           547:       ivtnum = 637
        !           548: c
        !           549: c      ****  test 637  ****
        !           550: c     test 637  - zero base; large number exponent
        !           551: c
        !           552:       if (iczero) 36370, 6370, 36370
        !           553:  6370 continue
        !           554:       ivon01 = 0
        !           555:       ivcomp = ivon01 ** 32767
        !           556:       go to 46370
        !           557: 36370 ivdele = ivdele + 1
        !           558:       write (i02,80003) ivtnum
        !           559:       if (iczero) 46370, 6381, 46370
        !           560: 46370 if (ivcomp) 26370,16370,26370
        !           561: 16370 ivpass = ivpass + 1
        !           562:       write (i02,80001) ivtnum
        !           563:       go to 6381
        !           564: 26370 ivfail = ivfail +1
        !           565:       ivcorr = 0
        !           566:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           567:  6381 continue
        !           568:       ivtnum = 638
        !           569: c
        !           570: c      ****  test 638  ****
        !           571: c     test 638  -large number base; zero exponent
        !           572: c
        !           573:       if (iczero) 36380, 6380, 36380
        !           574:  6380 continue
        !           575:       ivon01 = 32767
        !           576:       ivcomp = ivon01 ** 0
        !           577:       go to 46380
        !           578: 36380 ivdele = ivdele + 1
        !           579:       write (i02,80003) ivtnum
        !           580:       if (iczero) 46380, 6391, 46380
        !           581: 46380 if (ivcomp - 1) 26380,16380,26380
        !           582: 16380 ivpass = ivpass + 1
        !           583:       write (i02,80001) ivtnum
        !           584:       go to 6391
        !           585: 26380 ivfail = ivfail + 1
        !           586:       ivcorr = 1
        !           587:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           588:  6391 continue
        !           589:       ivtnum = 639
        !           590: c
        !           591: c      ****  test 639  ****
        !           592: c     test 639  -exponent is power of two
        !           593: c
        !           594:       if (iczero) 36390, 6390, 36390
        !           595:  6390 continue
        !           596:       ivon01 = 181
        !           597:       ivcomp = ivon01 ** 2
        !           598:       go to 46390
        !           599: 36390 ivdele = ivdele + 1
        !           600:       write (i02,80003) ivtnum
        !           601:       if (iczero) 46390, 6401, 46390
        !           602: 46390 if (ivcomp - 32761) 26390,16390,26390
        !           603: 16390 ivpass = ivpass + 1
        !           604:       write (i02,80001) ivtnum
        !           605:       go to 6401
        !           606: 26390 ivfail = ivfail + 1
        !           607:       ivcorr = 32761
        !           608:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           609:  6401 continue
        !           610:       ivtnum = 640
        !           611: c
        !           612: c      ****  test 640  ****
        !           613: c     test 640  - base and exponent are both powers of two
        !           614: c
        !           615:       if (iczero) 36400, 6400, 36400
        !           616:  6400 continue
        !           617:       ivon01 = 2
        !           618:       ivcomp = ivon01 ** 8
        !           619:       go to 46400
        !           620: 36400 ivdele = ivdele + 1
        !           621:       write (i02,80003) ivtnum
        !           622:       if (iczero) 46400, 6411, 46400
        !           623: 46400 if (ivcomp - 256) 26400,16400,26400
        !           624: 16400 ivpass = ivpass + 1
        !           625:       write (i02,80001) ivtnum
        !           626:       go to 6411
        !           627: 26400 ivfail = ivfail + 1
        !           628:       ivcorr = 256
        !           629:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           630:  6411 continue
        !           631: c
        !           632: c     tests 641 and 642 test to ensure exponentiation operator is
        !           633: c                       not commutative
        !           634: c
        !           635:       ivtnum = 641
        !           636: c
        !           637: c      ****  test 641  ****
        !           638: c
        !           639:       if (iczero) 36410, 6410, 36410
        !           640:  6410 continue
        !           641:       ivon01 = 3
        !           642:       ivcomp = ivon01 ** 9
        !           643:       go to 46410
        !           644: 36410 ivdele = ivdele + 1
        !           645:       write (i02,80003) ivtnum
        !           646:       if (iczero) 46410, 6421, 46410
        !           647: 46410 if (ivcomp - 19683) 26410,16410,26410
        !           648: 16410 ivpass = ivpass + 1
        !           649:       write (i02,80001) ivtnum
        !           650:       go to 6421
        !           651: 26410 ivfail = ivfail + 1
        !           652:       ivcorr = 19683
        !           653:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           654:  6421 continue
        !           655:       ivtnum = 642
        !           656: c
        !           657: c      ****  test 642  ****
        !           658: c
        !           659:       if (iczero) 36420, 6420, 36420
        !           660:  6420 continue
        !           661:       ivon01 = 9
        !           662:       ivcomp = ivon01 ** 3
        !           663:       go to 46420
        !           664: 36420 ivdele = ivdele + 1
        !           665:       write (i02,80003) ivtnum
        !           666:       if (iczero) 46420, 6431, 46420
        !           667: 46420 if (ivcomp - 729) 26420,16420,26420
        !           668: 16420 ivpass = ivpass + 1
        !           669:       write (i02,80001) ivtnum
        !           670:       go to 6431
        !           671: 26420 ivfail = ivfail + 1
        !           672:       ivcorr = 729
        !           673:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           674:  6431 continue
        !           675: c
        !           676: c     tests 643 through 648 test positive and negative bases to positive
        !           677: c                           odd and even number powers checking the sign
        !           678: c                           of the results
        !           679: c
        !           680:       ivtnum = 643
        !           681: c
        !           682: c      ****  test 643  ****
        !           683: c
        !           684:       if (iczero) 36430, 6430, 36430
        !           685:  6430 continue
        !           686:       ivon01 = 1
        !           687:       ivcomp = ivon01 ** 2
        !           688:       go to 46430
        !           689: 36430 ivdele = ivdele + 1
        !           690:       write (i02,80003) ivtnum
        !           691:       if (iczero) 46430, 6441, 46430
        !           692: 46430 if (ivcomp - 1) 26430,16430,26430
        !           693: 16430 ivpass = ivpass + 1
        !           694:       write (i02,80001) ivtnum
        !           695:       go to 6441
        !           696: 26430 ivfail = ivfail + 1
        !           697:       ivcorr = 1
        !           698:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           699:  6441 continue
        !           700:       ivtnum = 644
        !           701: c
        !           702: c      ****  test 644  ****
        !           703: c
        !           704:       if (iczero) 36440, 6440, 36440
        !           705:  6440 continue
        !           706:       ivon01 = -1
        !           707:       ivcomp = ivon01 ** 2
        !           708:       go to 46440
        !           709: 36440 ivdele = ivdele + 1
        !           710:       write (i02,80003) ivtnum
        !           711:       if (iczero) 46440, 6451, 46440
        !           712: 46440 if (ivcomp - 1) 26440,16440,26440
        !           713: 16440 ivpass = ivpass + 1
        !           714:       write (i02,80001) ivtnum
        !           715:       go to 6451
        !           716: 26440 ivfail = ivfail + 1
        !           717:       ivcorr = 1
        !           718:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           719:  6451 continue
        !           720:       ivtnum = 645
        !           721: c
        !           722: c      ****  test 645  ****
        !           723: c
        !           724:       if (iczero) 36450, 6450, 36450
        !           725:  6450 continue
        !           726:       ivon01 = 7
        !           727:       ivcomp = ivon01 ** 3
        !           728:       go to 46450
        !           729: 36450 ivdele = ivdele + 1
        !           730:       write (i02,80003) ivtnum
        !           731:       if (iczero) 46450, 6461, 46450
        !           732: 46450 if (ivcomp - 343) 26450,16450,26450
        !           733: 16450 ivpass = ivpass + 1
        !           734:       write (i02,80001) ivtnum
        !           735:       go to 6461
        !           736: 26450 ivfail = ivfail + 1
        !           737:       ivcorr = 343
        !           738:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           739:  6461 continue
        !           740:       ivtnum = 646
        !           741: c
        !           742: c      ****  test 646  ****
        !           743: c
        !           744:       if (iczero) 36460, 6460, 36460
        !           745:  6460 continue
        !           746:       ivon01 = -7
        !           747:       ivcomp = ivon01 ** 3
        !           748:       go to 46460
        !           749: 36460 ivdele = ivdele + 1
        !           750:       write (i02,80003) ivtnum
        !           751:       if (iczero) 46460, 6471, 46460
        !           752: 46460 if (ivcomp + 343) 26460,16460,26460
        !           753: 16460 ivpass = ivpass + 1
        !           754:       write (i02,80001) ivtnum
        !           755:       go to 6471
        !           756: 26460 ivfail = ivfail + 1
        !           757:       ivcorr = -343
        !           758:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           759:  6471 continue
        !           760:       ivtnum = 647
        !           761: c
        !           762: c      ****  test 647  ****
        !           763: c
        !           764:       if (iczero) 36470, 6470, 36470
        !           765:  6470 continue
        !           766:       ivon01 = 7
        !           767:       ivcomp = ivon01 ** 4
        !           768:       go to 46470
        !           769: 36470 ivdele = ivdele + 1
        !           770:       write (i02,80003) ivtnum
        !           771:       if (iczero) 46470, 6481, 46470
        !           772: 46470 if (ivcomp - 2401) 26470,16470,26470
        !           773: 16470 ivpass = ivpass + 1
        !           774:       write (i02,80001) ivtnum
        !           775:       go to 6481
        !           776: 26470 ivfail = ivfail + 1
        !           777:       ivcorr = 2401
        !           778:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           779:  6481 continue
        !           780:       ivtnum = 648
        !           781: c
        !           782: c      ****  test 648  ****
        !           783: c
        !           784:       if (iczero) 36480, 6480, 36480
        !           785:  6480 continue
        !           786:       ivon01 = -7
        !           787:       ivcomp = ivon01 ** 4
        !           788:       go to 46480
        !           789: 36480 ivdele = ivdele + 1
        !           790:       write (i02,80003) ivtnum
        !           791:       if (iczero) 46480, 6491, 46480
        !           792: 46480 if (ivcomp - 2401) 26480,16480,26480
        !           793: 16480 ivpass = ivpass + 1
        !           794:       write (i02,80001) ivtnum
        !           795:       go to 6491
        !           796: 26480 ivfail = ivfail + 1
        !           797:       ivcorr = 2401
        !           798:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           799:  6491 continue
        !           800: c      ***    end of tests    ***
        !           801: c
        !           802: c     write page footings and run summaries
        !           803: 99999 continue
        !           804:       write (i02,90002)
        !           805:       write (i02,90006)
        !           806:       write (i02,90002)
        !           807:       write (i02,90002)
        !           808:       write (i02,90007)
        !           809:       write (i02,90002)
        !           810:       write (i02,90008)  ivfail
        !           811:       write (i02,90009) ivpass
        !           812:       write (i02,90010) ivdele
        !           813: c
        !           814: c
        !           815: c     terminate routine execution
        !           816:       stop
        !           817: c
        !           818: c     format statements for page headers
        !           819: 90000 format (1h1)
        !           820: 90002 format (1h )
        !           821: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           822: 90003 format (1h ,21x,11hversion 1.0)
        !           823: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           824: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           825: 90006 format (1h ,5x,46h----------------------------------------------)
        !           826: 90011 format (1h ,18x,17hsubset level test)
        !           827: c
        !           828: c     format statements for run summaries
        !           829: 90008 format (1h ,15x,i5,19h errors encountered)
        !           830: 90009 format (1h ,15x,i5,13h tests passed)
        !           831: 90010 format (1h ,15x,i5,14h tests deleted)
        !           832: c
        !           833: c     format statements for test results
        !           834: 80001 format (1h ,4x,i5,7x,4hpass)
        !           835: 80002 format (1h ,4x,i5,7x,4hfail)
        !           836: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           837: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           838: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           839: c
        !           840: 90007 format (1h ,20x,20hend of program fm041)
        !           841:       end

unix.superglobalmegacorp.com

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