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

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm099
        !             4: c
        !             5: c     this routine tests various mathematical functions where both the
        !             6: c     function type and arguments are real.  the real variables and
        !             7: c     constants contain both positive and negative values.  the
        !             8: c     functions tested in fm099 include
        !             9: c
        !            10: c                                                     type of
        !            11: c       function                    name       argument     function
        !            12: c       ----------------            ----        --------    --------
        !            13: c         exponential               exp        real         real
        !            14: c         natural logarithm         alog       real         real
        !            15: c         common logarithm          alog10     real         real
        !            16: c         square root               sqrt       real         real
        !            17: c         trigonometric sine        sin        real         real
        !            18: c         trigonometric cosine      cos        real         real
        !            19: c         hyperbolic tangent        tanh       real         real
        !            20: c         arctangent                atan       real         real
        !            21: c                                   atan2      real         real
        !            22: c
        !            23: c      references
        !            24: c        american national standard programming language fortran,
        !            25: c              x3.9-1978
        !            26: c
        !            27: c        section 8.7, external statement
        !            28: c        section 15.5.2, function reference
        !            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
        !           101: c     test section
        !           102: c
        !           103: c     test 939 through test 942 contain function tests for exponential
        !           104: c     functions where the argument and function are real
        !           105: c
        !           106:       ivtnum = 939
        !           107: c
        !           108: c      ****  test 939  ****
        !           109: c
        !           110:       if (iczero) 39390, 9390, 39390
        !           111:  9390 continue
        !           112:       rvon01 = 0.0
        !           113:       rvcomp = exp (rvon01)
        !           114:       go to 49390
        !           115: 39390 ivdele = ivdele + 1
        !           116:       write (i02,80003) ivtnum
        !           117:       if (iczero) 49390, 9401, 49390
        !           118: 49390 if (rvcomp - 0.95) 29390,19390,49391
        !           119: 49391 if (rvcomp - 1.05) 19390,19390,29390
        !           120: 19390 ivpass = ivpass + 1
        !           121:       write (i02,80001) ivtnum
        !           122:       go to 9401
        !           123: 29390 ivfail = ivfail + 1
        !           124:       rvcorr = 1.00
        !           125:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           126:  9401 continue
        !           127:       ivtnum = 940
        !           128: c
        !           129: c      ****  test 940  ****
        !           130: c
        !           131:       if (iczero) 39400, 9400, 39400
        !           132:  9400 continue
        !           133:       rvcomp = exp (0.5)
        !           134:       go to 49400
        !           135: 39400 ivdele = ivdele + 1
        !           136:       write (i02,80003) ivtnum
        !           137:       if (iczero) 49400, 9411, 49400
        !           138: 49400 if (rvcomp - 1.60) 29400,19400,49401
        !           139: 49401 if (rvcomp - 1.70) 19400,19400,29400
        !           140: 19400 ivpass = ivpass + 1
        !           141:       write (i02,80001) ivtnum
        !           142:       go to 9411
        !           143: 29400 ivfail = ivfail + 1
        !           144:       rvcorr = 1.65
        !           145:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           146:  9411 continue
        !           147:       ivtnum = 941
        !           148: c
        !           149: c      ****  test 941  ****
        !           150: c
        !           151:       if (iczero) 39410, 9410, 39410
        !           152:  9410 continue
        !           153:       rvon01 = .1e1
        !           154:       rvcomp = exp (rvon01)
        !           155:       go to 49410
        !           156: 39410 ivdele = ivdele + 1
        !           157:       write (i02,80003) ivtnum
        !           158:       if (iczero) 49410, 9421, 49410
        !           159: 49410 if (rvcomp - 2.67) 29410,19410,49411
        !           160: 49411 if (rvcomp - 2.77) 19410,19410,29410
        !           161: 19410 ivpass = ivpass + 1
        !           162:       write (i02,80001) ivtnum
        !           163:       go to 9421
        !           164: 29410 ivfail = ivfail + 1
        !           165:       rvcorr = 2.72
        !           166:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           167:  9421 continue
        !           168:       ivtnum = 942
        !           169: c
        !           170: c      ****  test 942  ****
        !           171: c
        !           172:       if (iczero) 39420, 9420, 39420
        !           173:  9420 continue
        !           174:       rvon01 = -1.0
        !           175:       rvcomp = exp (rvon01)
        !           176:       go to 49420
        !           177: 39420 ivdele = ivdele + 1
        !           178:       write (i02,80003) ivtnum
        !           179:       if (iczero) 49420, 9431, 49420
        !           180: 49420 if (rvcomp - 0.363) 29420,19420,49421
        !           181: 49421 if (rvcomp - 0.373) 19420,19420,29420
        !           182: 19420 ivpass = ivpass + 1
        !           183:       write (i02,80001) ivtnum
        !           184:       go to 9431
        !           185: 29420 ivfail = ivfail + 1
        !           186:       rvcorr = 0.368
        !           187:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           188:  9431 continue
        !           189: c
        !           190: c     test 943 through test 945 contain function tests for natural
        !           191: c     logarithm functions where the argument and function are real
        !           192: c
        !           193:       ivtnum = 943
        !           194: c
        !           195: c      ****  test 943  ****
        !           196: c
        !           197:       if (iczero) 39430, 9430, 39430
        !           198:  9430 continue
        !           199:       rvon01 = 5e1
        !           200:       rvcomp = alog (rvon01)
        !           201:       go to 49430
        !           202: 39430 ivdele = ivdele + 1
        !           203:       write (i02,80003) ivtnum
        !           204:       if (iczero) 49430, 9441, 49430
        !           205: 49430 if (rvcomp - 3.9115) 29430,19430,49431
        !           206: 49431 if (rvcomp - 3.9125) 19430,19430,29430
        !           207: 19430 ivpass = ivpass + 1
        !           208:       write (i02,80001) ivtnum
        !           209:       go to 9441
        !           210: 29430 ivfail = ivfail + 1
        !           211:       rvcorr = 3.9120
        !           212:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           213:  9441 continue
        !           214:       ivtnum = 944
        !           215: c
        !           216: c      ****  test 944  ****
        !           217: c
        !           218:       if (iczero) 39440, 9440, 39440
        !           219:  9440 continue
        !           220:       rvon01 = 1.0
        !           221:       rvcomp = alog (rvon01)
        !           222:       go to 49440
        !           223: 39440 ivdele = ivdele + 1
        !           224:       write (i02,80003) ivtnum
        !           225:       if (iczero) 49440, 9451, 49440
        !           226: 49440 if (rvcomp + .00005) 29440,19440,49441
        !           227: 49441 if (rvcomp - .00005) 19440,19440,29440
        !           228: 19440 ivpass = ivpass + 1
        !           229:       write (i02,80001) ivtnum
        !           230:       go to 9451
        !           231: 29440 ivfail = ivfail + 1
        !           232:       rvcorr = 0.00000
        !           233:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           234:  9451 continue
        !           235:       ivtnum = 945
        !           236: c
        !           237: c      ****  test 945  ****
        !           238: c
        !           239:       if (iczero) 39450, 9450, 39450
        !           240:  9450 continue
        !           241:       rvcomp = alog (2.0)
        !           242:       go to 49450
        !           243: 39450 ivdele = ivdele + 1
        !           244:       write (i02,80003) ivtnum
        !           245:       if (iczero) 49450, 9461, 49450
        !           246: 49450 if (rvcomp - 0.688) 29450,19450,49451
        !           247: 49451 if (rvcomp - 0.698) 19450,19450,29450
        !           248: 19450 ivpass = ivpass + 1
        !           249:       write (i02,80001) ivtnum
        !           250:       go to 9461
        !           251: 29450 ivfail = ivfail + 1
        !           252:       rvcorr = 0.693
        !           253:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           254:  9461 continue
        !           255: c
        !           256: c     test 946 through test 948 contain function tests for common
        !           257: c     logarithm functions where the argument and function are real
        !           258: c
        !           259:       ivtnum = 946
        !           260: c
        !           261: c      ****  test 946  ****
        !           262: c
        !           263:       if (iczero) 39460, 9460, 39460
        !           264:  9460 continue
        !           265:       rvon01 = 2e2
        !           266:       rvcomp = alog10 (rvon01)
        !           267:       go to 49460
        !           268: 39460 ivdele = ivdele + 1
        !           269:       write (i02,80003) ivtnum
        !           270:       if (iczero) 49460, 9471, 49460
        !           271: 49460 if (rvcomp - 2.296) 29460,19460,49461
        !           272: 49461 if (rvcomp - 2.306) 19460,19460,29460
        !           273: 19460 ivpass = ivpass + 1
        !           274:       write (i02,80001) ivtnum
        !           275:       go to 9471
        !           276: 29460 ivfail = ivfail + 1
        !           277:       rvcorr = 2.301
        !           278:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           279:  9471 continue
        !           280:       ivtnum = 947
        !           281: c
        !           282: c      ****  test 947  ****
        !           283: c
        !           284:       if (iczero) 39470, 9470, 39470
        !           285:  9470 continue
        !           286:       rvon01 = .3e+3
        !           287:       rvcomp = alog10 (rvon01)
        !           288:       go to 49470
        !           289: 39470 ivdele = ivdele + 1
        !           290:       write (i02,80003) ivtnum
        !           291:       if (iczero) 49470, 9481, 49470
        !           292: 49470 if (rvcomp - 2.472) 29470,19470,49471
        !           293: 49471 if (rvcomp - 2.482) 19470,19470,29470
        !           294: 19470 ivpass = ivpass + 1
        !           295:       write (i02,80001) ivtnum
        !           296:       go to 9481
        !           297: 29470 ivfail = ivfail + 1
        !           298:       rvcorr = 2.477
        !           299:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           300:  9481 continue
        !           301:       ivtnum = 948
        !           302: c
        !           303: c      ****  test 948  ****
        !           304: c
        !           305:       if (iczero) 39480, 9480, 39480
        !           306:  9480 continue
        !           307:       rvon01 = 1350.0
        !           308:       rvcomp = alog10 (rvon01)
        !           309:       go to 49480
        !           310: 39480 ivdele = ivdele + 1
        !           311:       write (i02,80003) ivtnum
        !           312:       if (iczero) 49480, 9491, 49480
        !           313: 49480 if (rvcomp - 3.125) 29480,19480,49481
        !           314: 49481 if (rvcomp - 3.135) 19480,19480,29480
        !           315: 19480 ivpass = ivpass + 1
        !           316:       write (i02,80001) ivtnum
        !           317:       go to 9491
        !           318: 29480 ivfail = ivfail + 1
        !           319:       rvcorr = 3.130
        !           320:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           321:  9491 continue
        !           322: c
        !           323: c     test 949 through test 951 contain function tests for square root
        !           324: c     functions where the argument and function are real
        !           325: c
        !           326:       ivtnum = 949
        !           327: c
        !           328: c      ****  test 949  ****
        !           329: c
        !           330:       if (iczero) 39490, 9490, 39490
        !           331:  9490 continue
        !           332:       rvon01 = 1.0
        !           333:       rvcomp = sqrt (rvon01)
        !           334:       go to 49490
        !           335: 39490 ivdele = ivdele + 1
        !           336:       write (i02,80003) ivtnum
        !           337:       if (iczero) 49490, 9501, 49490
        !           338: 49490 if (rvcomp - 0.95) 29490,19490,49491
        !           339: 49491 if (rvcomp - 1.05) 19490,19490,29490
        !           340: 19490 ivpass = ivpass + 1
        !           341:       write (i02,80001) ivtnum
        !           342:       go to 9501
        !           343: 29490 ivfail = ivfail + 1
        !           344:       rvcorr = 1.00
        !           345:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           346:  9501 continue
        !           347:       ivtnum = 950
        !           348: c
        !           349: c      ****  test 950  ****
        !           350: c
        !           351:       if (iczero) 39500, 9500, 39500
        !           352:  9500 continue
        !           353:       rvcomp = sqrt (2.0)
        !           354:       go to 49500
        !           355: 39500 ivdele = ivdele + 1
        !           356:       write (i02,80003) ivtnum
        !           357:       if (iczero) 49500, 9511, 49500
        !           358: 49500 if (rvcomp - 1.36) 29500,19500,49501
        !           359: 49501 if (rvcomp - 1.46) 19500,19500,29500
        !           360: 19500 ivpass = ivpass + 1
        !           361:       write (i02,80001) ivtnum
        !           362:       go to 9511
        !           363: 29500 ivfail = ivfail + 1
        !           364:       rvcorr = 1.41
        !           365:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           366:  9511 continue
        !           367:       ivtnum = 951
        !           368: c
        !           369: c      ****  test 951  ****
        !           370: c
        !           371:       if (iczero) 39510, 9510, 39510
        !           372:  9510 continue
        !           373:       rvon01 = .229e1
        !           374:       rvcomp = sqrt (rvon01)
        !           375:       go to 49510
        !           376: 39510 ivdele = ivdele + 1
        !           377:       write (i02,80003) ivtnum
        !           378:       if (iczero) 49510, 9521, 49510
        !           379: 49510 if (rvcomp - 1.46) 29510,19510,49511
        !           380: 49511 if (rvcomp - 1.56) 19510,19510,29510
        !           381: 19510 ivpass = ivpass + 1
        !           382:       write (i02,80001) ivtnum
        !           383:       go to 9521
        !           384: 29510 ivfail = ivfail + 1
        !           385:       rvcorr = 1.51
        !           386:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           387:  9521 continue
        !           388: c
        !           389: c     test 952 through test 953 contain function tests for trigonometric
        !           390: c     sine functions where the argument and function are real
        !           391: c
        !           392:       ivtnum = 952
        !           393: c
        !           394: c      ****  test 952  ****
        !           395: c
        !           396:       if (iczero) 39520, 9520, 39520
        !           397:  9520 continue
        !           398:       rvon01 = 0.00000
        !           399:       rvcomp = sin (rvon01)
        !           400:       go to 49520
        !           401: 39520 ivdele = ivdele + 1
        !           402:       write (i02,80003) ivtnum
        !           403:       if (iczero) 49520, 9531, 49520
        !           404: 49520 if (rvcomp + .00005) 29520,19520,49521
        !           405: 49521 if (rvcomp - .00005) 19520,19520,29520
        !           406: 19520 ivpass = ivpass + 1
        !           407:       write (i02,80001) ivtnum
        !           408:       go to 9531
        !           409: 29520 ivfail = ivfail + 1
        !           410:       rvcorr = 0.00000
        !           411:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           412:  9531 continue
        !           413:       ivtnum = 953
        !           414: c
        !           415: c      ****  test 953  ****
        !           416: c
        !           417:       if (iczero) 39530, 9530, 39530
        !           418:  9530 continue
        !           419:       rvon01 = 0.5
        !           420:       rvcomp = sin (rvon01)
        !           421:       go to 49530
        !           422: 39530 ivdele = ivdele + 1
        !           423:       write (i02,80003) ivtnum
        !           424:       if (iczero) 49530, 9541, 49530
        !           425: 49530 if (rvcomp - .474) 29530,19530,49531
        !           426: 49531 if (rvcomp - .484) 19530,19530,29530
        !           427: 19530 ivpass = ivpass + 1
        !           428:       write (i02,80001) ivtnum
        !           429:       go to 9541
        !           430: 29530 ivfail = ivfail + 1
        !           431:       rvcorr = .479
        !           432:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           433:  9541 continue
        !           434:       ivtnum = 954
        !           435: c
        !           436: c      ****  test 954  ****
        !           437: c
        !           438:       if (iczero) 39540, 9540, 39540
        !           439:  9540 continue
        !           440:       rvon01 = 4e0
        !           441:       rvcomp = sin (rvon01)
        !           442:       go to 49540
        !           443: 39540 ivdele = ivdele + 1
        !           444:       write (i02,80003) ivtnum
        !           445:       if (iczero) 49540, 9551, 49540
        !           446: 49540 if (rvcomp + .762) 29540,19540,49541
        !           447: 49541 if (rvcomp + .752) 19540,19540,29540
        !           448: 19540 ivpass = ivpass + 1
        !           449:       write (i02,80001) ivtnum
        !           450:       go to 9551
        !           451: 29540 ivfail = ivfail + 1
        !           452:       rvcorr = -.757
        !           453:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           454:  9551 continue
        !           455: c
        !           456: c     test 955 through test 957 contain function tests for trigonometric
        !           457: c     cosine functions where the argument and function are real
        !           458: c
        !           459:       ivtnum = 955
        !           460: c
        !           461: c      ****  test 955  ****
        !           462: c
        !           463:       if (iczero) 39550, 9550, 39550
        !           464:  9550 continue
        !           465:       rvon01 = 0.00000
        !           466:       rvcomp = cos (rvon01)
        !           467:       go to 49550
        !           468: 39550 ivdele = ivdele + 1
        !           469:       write (i02,80003) ivtnum
        !           470:       if (iczero) 49550, 9561, 49550
        !           471: 49550 if (rvcomp - .995) 29550,19550,49551
        !           472: 49551 if (rvcomp - 1.005) 19550,19550,29550
        !           473: 19550 ivpass = ivpass + 1
        !           474:       write (i02,80001) ivtnum
        !           475:       go to 9561
        !           476: 29550 ivfail = ivfail + 1
        !           477:       rvcorr = 1.000
        !           478:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           479:  9561 continue
        !           480:       ivtnum = 956
        !           481: c
        !           482: c      ****  test 956  ****
        !           483: c
        !           484:       if (iczero) 39560, 9560, 39560
        !           485:  9560 continue
        !           486:       rvon01 = 1.0e0
        !           487:       rvcomp = cos (rvon01)
        !           488:       go to 49560
        !           489: 39560 ivdele = ivdele + 1
        !           490:       write (i02,80003) ivtnum
        !           491:       if (iczero) 49560, 9571, 49560
        !           492: 49560 if (rvcomp - .535) 29560,19560,49561
        !           493: 49561 if (rvcomp - .545) 19560,19560,29560
        !           494: 19560 ivpass = ivpass + 1
        !           495:       write (i02,80001) ivtnum
        !           496:       go to 9571
        !           497: 29560 ivfail = ivfail + 1
        !           498:       rvcorr = 0.540
        !           499:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           500:  9571 continue
        !           501:       ivtnum = 957
        !           502: c
        !           503: c      ****  test 957  ****
        !           504: c
        !           505:       if (iczero) 39570, 9570, 39570
        !           506:  9570 continue
        !           507:       rvcomp = cos (4.0)
        !           508:       go to 49570
        !           509: 39570 ivdele = ivdele + 1
        !           510:       write (i02,80003) ivtnum
        !           511:       if (iczero) 49570, 9581, 49570
        !           512: 49570 if (rvcomp + .659) 29570,19570,49571
        !           513: 49571 if (rvcomp + .649) 19570,19570,29570
        !           514: 19570 ivpass = ivpass + 1
        !           515:       write (i02,80001) ivtnum
        !           516:       go to 9581
        !           517: 29570 ivfail = ivfail + 1
        !           518:       rvcorr = -0.654
        !           519:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           520:  9581 continue
        !           521: c
        !           522: c     test 958 through test 960 contain function tests for hyperbolic
        !           523: c     tangent functions where the argument and function are real
        !           524: c
        !           525:       ivtnum = 958
        !           526: c
        !           527: c      ****  test 958  ****
        !           528: c
        !           529:       if (iczero) 39580, 9580, 39580
        !           530:  9580 continue
        !           531:       rvcomp = tanh (0.0)
        !           532:       go to 49580
        !           533: 39580 ivdele = ivdele + 1
        !           534:       write (i02,80003) ivtnum
        !           535:       if (iczero) 49580, 9591, 49580
        !           536: 49580 if (rvcomp + .00005) 29580,19580,49581
        !           537: 49581 if (rvcomp - .00005) 19580,19580,29580
        !           538: 19580 ivpass = ivpass + 1
        !           539:       write (i02,80001) ivtnum
        !           540:       go to 9591
        !           541: 29580 ivfail = ivfail + 1
        !           542:       rvcorr = 0.00000
        !           543:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           544:  9591 continue
        !           545:       ivtnum = 959
        !           546: c
        !           547: c      ****  test 959  ****
        !           548: c
        !           549:       if (iczero) 39590, 9590, 39590
        !           550:  9590 continue
        !           551:       rvon01 = .5e0
        !           552:       rvcomp = tanh (rvon01)
        !           553:       go to 49590
        !           554: 39590 ivdele = ivdele + 1
        !           555:       write (i02,80003) ivtnum
        !           556:       if (iczero) 49590, 9601, 49590
        !           557: 49590 if (rvcomp - .457) 29590,19590,49591
        !           558: 49591 if (rvcomp - .467) 19590,19590,29590
        !           559: 19590 ivpass = ivpass + 1
        !           560:       write (i02,80001) ivtnum
        !           561:       go to 9601
        !           562: 29590 ivfail = ivfail + 1
        !           563:       rvcorr = 0.462
        !           564:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           565:  9601 continue
        !           566:       ivtnum = 960
        !           567: c
        !           568: c      ****  test 960  ****
        !           569: c
        !           570:       if (iczero) 39600, 9600, 39600
        !           571:  9600 continue
        !           572:       rvon01 = .25
        !           573:       rvcomp = tanh (rvon01)
        !           574:       go to 49600
        !           575: 39600 ivdele = ivdele + 1
        !           576:       write (i02,80003) ivtnum
        !           577:       if (iczero) 49600, 9611, 49600
        !           578: 49600 if (rvcomp - .240) 29600,19600,49601
        !           579: 49601 if (rvcomp - .250) 19600,19600,29600
        !           580: 19600 ivpass = ivpass + 1
        !           581:       write (i02,80001) ivtnum
        !           582:       go to 9611
        !           583: 29600 ivfail = ivfail + 1
        !           584:       rvcorr = 0.245
        !           585:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           586:  9611 continue
        !           587: c
        !           588: c     tests 961 and 962 contain tests for arctangent of the form
        !           589: c     atan (a) where the argument and function are real
        !           590: c
        !           591:       ivtnum = 961
        !           592: c
        !           593: c      ****  test 961  ****
        !           594: c
        !           595:       if (iczero) 39610, 9610, 39610
        !           596:  9610 continue
        !           597:       rvcomp = atan (0.0)
        !           598:       go to 49610
        !           599: 39610 ivdele = ivdele + 1
        !           600:       write (i02,80003) ivtnum
        !           601:       if (iczero) 49610, 9621, 49610
        !           602: 49610 if (rvcomp + .00005) 29610,19610,49611
        !           603: 49611 if (rvcomp - .00005) 19610,19610,29610
        !           604: 19610 ivpass = ivpass + 1
        !           605:       write (i02,80001) ivtnum
        !           606:       go to 9621
        !           607: 29610 ivfail = ivfail + 1
        !           608:       rvcorr = 0.00000
        !           609:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           610:  9621 continue
        !           611:       ivtnum = 962
        !           612: c
        !           613: c      ****  test 962  ****
        !           614: c
        !           615:       if (iczero) 39620, 9620, 39620
        !           616:  9620 continue
        !           617:       rvon01 = 5e-1
        !           618:       rvcomp = atan (rvon01)
        !           619:       go to 49620
        !           620: 39620 ivdele = ivdele + 1
        !           621:       write (i02,80003) ivtnum
        !           622:       if (iczero) 49620, 9631, 49620
        !           623: 49620 if (rvcomp - .459) 29620,19620,49621
        !           624: 49621 if (rvcomp - .469) 19620,19620,29620
        !           625: 19620 ivpass = ivpass + 1
        !           626:       write (i02,80001) ivtnum
        !           627:       go to 9631
        !           628: 29620 ivfail = ivfail + 1
        !           629:       rvcorr = 0.464
        !           630:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           631:  9631 continue
        !           632: c
        !           633: c     tests 963 and 964 contain tests for arctangent of the form
        !           634: c     atan2 (a1,a2) where the arguments and function are real
        !           635: c
        !           636:       ivtnum = 963
        !           637: c
        !           638: c      ****  test 963  ****
        !           639: c
        !           640:       if (iczero) 39630, 9630, 39630
        !           641:  9630 continue
        !           642:       rvon01 = 0.0
        !           643:       rvon02 = 1e0
        !           644:       rvcomp = atan2 (rvon01,rvon02)
        !           645:       go to 49630
        !           646: 39630 ivdele = ivdele + 1
        !           647:       write (i02,80003) ivtnum
        !           648:       if (iczero) 49630, 9641, 49630
        !           649: 49630 if (rvcomp + .00005) 29630,19630,49631
        !           650: 49631 if (rvcomp - .00005) 19630,19630,29630
        !           651: 19630 ivpass = ivpass + 1
        !           652:       write (i02,80001) ivtnum
        !           653:       go to 9641
        !           654: 29630 ivfail = ivfail + 1
        !           655:       rvcorr = 0.00000
        !           656:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           657:  9641 continue
        !           658:       ivtnum = 964
        !           659: c
        !           660: c      ****  test 964  ****
        !           661: c
        !           662:       if (iczero) 39640, 9640, 39640
        !           663:  9640 continue
        !           664:       rvon01 = 2e1
        !           665:       rvcomp = atan2 (-1.0,rvon01)
        !           666:       go to 49640
        !           667: 39640 ivdele = ivdele + 1
        !           668:       write (i02,80003) ivtnum
        !           669:       if (iczero) 49640, 9651, 49640
        !           670: 49640 if (rvcomp + .05001) 29640,19640,49641
        !           671: 49641 if (rvcomp + .04991) 19640,19640,29640
        !           672: 19640 ivpass = ivpass + 1
        !           673:       write (i02,80001) ivtnum
        !           674:       go to 9651
        !           675: 29640 ivfail = ivfail + 1
        !           676:       rvcorr = -.04996
        !           677:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           678:  9651 continue
        !           679: c
        !           680: c     write page footings and run summaries
        !           681: 99999 continue
        !           682:       write (i02,90002)
        !           683:       write (i02,90006)
        !           684:       write (i02,90002)
        !           685:       write (i02,90002)
        !           686:       write (i02,90007)
        !           687:       write (i02,90002)
        !           688:       write (i02,90008)  ivfail
        !           689:       write (i02,90009) ivpass
        !           690:       write (i02,90010) ivdele
        !           691: c
        !           692: c
        !           693: c     terminate routine execution
        !           694:       stop
        !           695: c
        !           696: c     format statements for page headers
        !           697: 90000 format (1h1)
        !           698: 90002 format (1h )
        !           699: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           700: 90003 format (1h ,21x,11hversion 1.0)
        !           701: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           702: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           703: 90006 format (1h ,5x,46h----------------------------------------------)
        !           704: 90011 format (1h ,18x,17hsubset level test)
        !           705: c
        !           706: c     format statements for run summaries
        !           707: 90008 format (1h ,15x,i5,19h errors encountered)
        !           708: 90009 format (1h ,15x,i5,13h tests passed)
        !           709: 90010 format (1h ,15x,i5,14h tests deleted)
        !           710: c
        !           711: c     format statements for test results
        !           712: 80001 format (1h ,4x,i5,7x,4hpass)
        !           713: 80002 format (1h ,4x,i5,7x,4hfail)
        !           714: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           715: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           716: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           717: c
        !           718: 90007 format (1h ,20x,20hend of program fm099)
        !           719:       end

unix.superglobalmegacorp.com

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