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

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm097
        !             4: c
        !             5: c     this routine tests intrinsic functions where the function type is
        !             6: c     real and the arguments are either integer or real.  the real and
        !             7: c     integer variables and the real and integer constants contain both
        !             8: c     positive and negative values.  the intrinsic functions tested by
        !             9: c     fm097 include
        !            10: c                                                   type of
        !            11: c       intrinsic function          name       argument     function
        !            12: c       ------------------          ----       --------     --------
        !            13: c         absolute value            abs        real         real
        !            14: c         truncation                aint       real         real
        !            15: c         remaindering              amod       real         real
        !            16: c         choosing largest value    amax0      integer      real
        !            17: c                                   amax1      real         real
        !            18: c         choosing smallest value   amin0     integer       real
        !            19: c                                   amin1      real         real
        !            20: c         float                     float      integer      real
        !            21: c         transfer of sign          sign       real         real
        !            22: c         positive difference       dim        real         real
        !            23: c
        !            24: c      references
        !            25: c        american national standard programming language fortran,
        !            26: c              x3.9-1978
        !            27: c
        !            28: c        section 4.1.2, type rules for data and procedure identifiers
        !            29: c        section 15.3, intrinsic function
        !            30: c        section 15.3.2, intrinsic functions and their reference
        !            31: c
        !            32: c
        !            33: c      **********************************************************
        !            34: c
        !            35: c         a compiler validation system for the fortran language
        !            36: c     based on specifications as defined in american national standard
        !            37: c     programming language fortran x3.9-1978, has been developed by the
        !            38: c     federal cobol compiler testing service.  the fortran compiler
        !            39: c     validation system (fcvs) consists of audit routines, their related
        !            40: c     data, and an executive system.  each audit routine is a fortran
        !            41: c     program, subprogram or function which includes tests of specific
        !            42: c     language elements and supporting procedures indicating the result
        !            43: c     of executing these tests.
        !            44: c
        !            45: c         this particular program/subprogram/function contains features
        !            46: c     found only in the subset as defined in x3.9-1978.
        !            47: c
        !            48: c         suggestions and comments should be forwarded to -
        !            49: c
        !            50: c                  department of the navy
        !            51: c                  federal cobol compiler testing service
        !            52: c                  washington, d.c.  20376
        !            53: c
        !            54: c      **********************************************************
        !            55: c
        !            56: c
        !            57: c
        !            58: c     initialization section
        !            59: c
        !            60: c     initialize constants
        !            61: c      **************
        !            62: c     i01 contains the logical unit number for the card reader.
        !            63:       i01 = 5
        !            64: c     i02 contains the logical unit number for the printer.
        !            65:       i02 = 6
        !            66: c     system environment section
        !            67: c
        !            68: cx010    this card is replaced by contents of fexec x-010 control card.
        !            69: c     the cx010 card is for overriding the program default i01 = 5
        !            70: c     (unit number for card reader).
        !            71: cx011    this card is replaced by contents of fexec x-011 control card.
        !            72: c     the cx011 card is for systems which require additional
        !            73: c     fortran statements for files associated with cx010 above.
        !            74: c
        !            75: cx020    this card is replaced by contents of fexec x-020 control card.
        !            76: c     the cx020 card is for overriding the program default i02 = 6
        !            77: c     (unit number for printer).
        !            78: cx021    this card is replaced by contents of fexec x-021 control card.
        !            79: c     the cx021 card is for systems which require additional
        !            80: c     fortran statements for files associated with cx020 above.
        !            81: c
        !            82:       ivpass=0
        !            83:       ivfail=0
        !            84:       ivdele=0
        !            85:       iczero=0
        !            86: c
        !            87: c     write page headers
        !            88:       write (i02,90000)
        !            89:       write (i02,90001)
        !            90:       write (i02,90002)
        !            91:       write (i02, 90002)
        !            92:       write (i02,90003)
        !            93:       write (i02,90002)
        !            94:       write (i02,90004)
        !            95:       write (i02,90002)
        !            96:       write (i02,90011)
        !            97:       write (i02,90002)
        !            98:       write (i02,90002)
        !            99:       write (i02,90005)
        !           100:       write (i02,90006)
        !           101:       write (i02,90002)
        !           102: c
        !           103: c     test section
        !           104: c
        !           105: c     test 875 through test 878 contain intrinsic function tests for
        !           106: c     absolute value where argument and function are real
        !           107: c
        !           108:       ivtnum = 875
        !           109: c
        !           110: c      ****  test 875  ****
        !           111: c
        !           112:       if (iczero) 38750, 8750, 38750
        !           113:  8750 continue
        !           114:       rvcomp = abs (-38.2)
        !           115:       go to 48750
        !           116: 38750 ivdele = ivdele + 1
        !           117:       write (i02,80003) ivtnum
        !           118:       if (iczero) 48750, 8761, 48750
        !           119: 48750 if (rvcomp - 38.195) 28750,18750,48751
        !           120: 48751 if (rvcomp - 38.205) 18750,18750,28750
        !           121: 18750 ivpass = ivpass + 1
        !           122:       write (i02,80001) ivtnum
        !           123:       go to 8761
        !           124: 28750 ivfail = ivfail + 1
        !           125:       rvcorr = 38.200
        !           126:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           127:  8761 continue
        !           128:       ivtnum = 876
        !           129: c
        !           130: c      ****  test 876  ****
        !           131: c
        !           132:       if (iczero) 38760, 8760, 38760
        !           133:  8760 continue
        !           134:       rvon01 = 445.06
        !           135:       rvcomp = abs (rvon01)
        !           136:       go to 48760
        !           137: 38760 ivdele = ivdele + 1
        !           138:       write (i02,80003) ivtnum
        !           139:       if (iczero) 48760, 8771, 48760
        !           140: 48760 if (rvcomp - 445.01) 28760,18760,48761
        !           141: 48761 if (rvcomp - 445.11) 18760,18760,28760
        !           142: 18760 ivpass = ivpass + 1
        !           143:       write (i02,80001) ivtnum
        !           144:       go to 8771
        !           145: 28760 ivfail = ivfail + 1
        !           146:       rvcorr = 445.06
        !           147:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           148:  8771 continue
        !           149:       ivtnum = 877
        !           150: c
        !           151: c      ****  test 877  ****
        !           152: c
        !           153:       if (iczero) 38770, 8770, 38770
        !           154:  8770 continue
        !           155:       rvon01 = -32.176
        !           156:       rvcomp = abs (rvon01)
        !           157:       go to 48770
        !           158: 38770 ivdele = ivdele + 1
        !           159:       write (i02,80003) ivtnum
        !           160:       if (iczero) 48770, 8781, 48770
        !           161: 48770 if (rvcomp - 32.171) 28770,18770,48771
        !           162: 48771 if (rvcomp - 32.181) 18770,18770,28770
        !           163: 18770 ivpass = ivpass + 1
        !           164:       write (i02,80001) ivtnum
        !           165:       go to 8781
        !           166: 28770 ivfail = ivfail + 1
        !           167:       rvcorr = 32.176
        !           168:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           169:  8781 continue
        !           170:       ivtnum = 878
        !           171: c
        !           172: c      ****  test 878  ****
        !           173: c
        !           174:       if (iczero) 38780, 8780, 38780
        !           175:  8780 continue
        !           176:       rvon01 = -2.2e+2
        !           177:       rvcomp = abs (rvon01)
        !           178:       go to 48780
        !           179: 38780 ivdele = ivdele + 1
        !           180:       write (i02,80003) ivtnum
        !           181:       if (iczero) 48780, 8791, 48780
        !           182: 48780 if (rvcomp - 219.95) 28780,18780,48781
        !           183: 48781 if (rvcomp - 220.05) 18780,18780,28780
        !           184: 18780 ivpass = ivpass + 1
        !           185:       write (i02,80001) ivtnum
        !           186:       go to 8791
        !           187: 28780 ivfail = ivfail + 1
        !           188:       rvcorr = 220.00
        !           189:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           190:  8791 continue
        !           191:       ivtnum = 879
        !           192: c
        !           193: c      ****  test 879  ****
        !           194: c
        !           195: c     test 879 through test 882 contain intrinsic function tests for
        !           196: c     truncation where argument and function are real
        !           197: c
        !           198: c
        !           199:       if (iczero) 38790, 8790, 38790
        !           200:  8790 continue
        !           201:       rvcomp = aint (38.2)
        !           202:       go to 48790
        !           203: 38790 ivdele = ivdele + 1
        !           204:       write (i02,80003) ivtnum
        !           205:       if (iczero) 48790, 8801, 48790
        !           206: 48790 if (rvcomp - 37.995) 28790,18790,48791
        !           207: 48791 if (rvcomp - 38.005) 18790,18790,28790
        !           208: 18790 ivpass = ivpass + 1
        !           209:       write (i02,80001) ivtnum
        !           210:       go to 8801
        !           211: 28790 ivfail = ivfail + 1
        !           212:       rvcorr = 38.000
        !           213:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           214:  8801 continue
        !           215:       ivtnum = 880
        !           216: c
        !           217: c      ****  test 880  ****
        !           218: c
        !           219:       if (iczero) 38800, 8800, 38800
        !           220:  8800 continue
        !           221:       rvon01 = -445.95
        !           222:       rvcomp = aint (rvon01)
        !           223:       go to 48800
        !           224: 38800 ivdele = ivdele + 1
        !           225:       write (i02,80003) ivtnum
        !           226:       if (iczero) 48800, 8811, 48800
        !           227: 48800 if (rvcomp + 445.05) 28800,18800,48801
        !           228: 48801 if (rvcomp + 444.95) 18800,18800,28800
        !           229: 18800 ivpass = ivpass + 1
        !           230:       write (i02,80001) ivtnum
        !           231:       go to 8811
        !           232: 28800 ivfail = ivfail + 1
        !           233:       rvcorr = -445.00
        !           234:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           235:  8811 continue
        !           236:       ivtnum = 881
        !           237: c
        !           238: c      ****  test 881  ****
        !           239: c
        !           240:       if (iczero) 38810, 8810, 38810
        !           241:  8810 continue
        !           242:       rvon01 = 466.01
        !           243:       rvcomp = aint (rvon01)
        !           244:       go to 48810
        !           245: 38810 ivdele = ivdele + 1
        !           246:       write (i02,80003) ivtnum
        !           247:       if (iczero) 48810, 8821, 48810
        !           248: 48810 if (rvcomp - 465.95) 28810,18810,48811
        !           249: 48811 if (rvcomp - 466.05) 18810,18810,28810
        !           250: 18810 ivpass = ivpass + 1
        !           251:       write (i02,80001) ivtnum
        !           252:       go to 8821
        !           253: 28810 ivfail = ivfail + 1
        !           254:       rvcomp = 466.00
        !           255:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           256:  8821 continue
        !           257:       ivtnum = 882
        !           258: c
        !           259: c      ****  test 882  ****
        !           260: c
        !           261:       if (iczero) 38820, 8820, 38820
        !           262:  8820 continue
        !           263:       rvon01 = 382e-1
        !           264:       rvcomp = aint (rvon01)
        !           265:       go to 48820
        !           266: 38820 ivdele = ivdele + 1
        !           267:       write (i02,80003) ivtnum
        !           268:       if (iczero) 48820, 8831, 48820
        !           269: 48820 if (rvcomp - 37.995) 28820,18820,48821
        !           270: 48821 if (rvcomp - 38.005) 18820,18820,28820
        !           271: 18820 ivpass = ivpass + 1
        !           272:       write (i02,80001) ivtnum
        !           273:       go to 8831
        !           274: 28820 ivfail = ivfail + 1
        !           275:       rvcorr = 38.000
        !           276:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           277:  8831 continue
        !           278: c
        !           279: c     test 883 through 886 contain intrinsic function tests for
        !           280: c     remaindering where argument and function are real
        !           281: c
        !           282:       ivtnum = 883
        !           283: c
        !           284: c      ****  test 883  ****
        !           285: c
        !           286:       if (iczero) 38830, 8830, 38830
        !           287:  8830 continue
        !           288:       rvcomp = amod (42.0,19.0)
        !           289:       go to 48830
        !           290: 38830 ivdele = ivdele + 1
        !           291:       write (i02,80003) ivtnum
        !           292:       if (iczero) 48830, 8841, 48830
        !           293: 48830 if (rvcomp - 3.9995) 28830,18830,48831
        !           294: 48831 if (rvcomp - 4.0005) 18830,18830,28830
        !           295: 18830 ivpass = ivpass + 1
        !           296:       write (i02,80001) ivtnum
        !           297:       go to 8841
        !           298: 28830 ivfail = ivfail + 1
        !           299:       rvcorr = 4.0000
        !           300:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           301:  8841 continue
        !           302:       ivtnum = 884
        !           303: c
        !           304: c      ****  test 884  ****
        !           305: c
        !           306:       if (iczero) 38840, 8840, 38840
        !           307:  8840 continue
        !           308:       rvon01 = 16.27
        !           309:       rvon02 = 2.0
        !           310:       rvcomp = amod (rvon01,rvon02)
        !           311:       go to 48840
        !           312: 38840 ivdele = ivdele + 1
        !           313:       write (i02,80003) ivtnum
        !           314:       if (iczero) 48840, 8851, 48840
        !           315: 48840 if (rvcomp - .26995) 28840,18840,48841
        !           316: 48841 if (rvcomp - .27005) 18840,18840,28840
        !           317: 18840 ivpass = ivpass + 1
        !           318:       write (i02,80001) ivtnum
        !           319:       go to 8851
        !           320: 28840 ivfail = ivfail + 1
        !           321:       rvcorr = .27000
        !           322:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           323:  8851 continue
        !           324:       ivtnum = 885
        !           325: c
        !           326: c      ****  test 885  ****
        !           327: c
        !           328:       if (iczero) 38850, 8850, 38850
        !           329:  8850 continue
        !           330:       rvon01 = 225.0
        !           331:       rvon02 = 5.0e1
        !           332:       rvcomp = amod (rvon01,rvon02)
        !           333:       go to 48850
        !           334: 38850 ivdele = ivdele + 1
        !           335:       write (i02,80003) ivtnum
        !           336:       if (iczero) 48850, 8861, 48850
        !           337: 48850 if (rvcomp - 24.995) 28850,18850,48851
        !           338: 48851 if (rvcomp - 25.005) 18850,18850,28850
        !           339: 18850 ivpass = ivpass + 1
        !           340:       write (i02,80001) ivtnum
        !           341:       go to 8861
        !           342: 28850 ivfail = ivfail + 1
        !           343:       rvcorr = 25.000
        !           344:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           345:  8861 continue
        !           346:       ivtnum = 886
        !           347: c
        !           348: c      ****  test 886  ****
        !           349: c
        !           350:       if (iczero) 38860, 8860, 38860
        !           351:  8860 continue
        !           352:       rvon01 = -0.390e+2
        !           353:       rvon02 = 5e2
        !           354:       rvcomp = amod (rvon01,rvon02)
        !           355:       go to 48860
        !           356: 38860 ivdele = ivdele + 1
        !           357:       write (i02,80003) ivtnum
        !           358:       if (iczero) 48860, 8871, 48860
        !           359: 48860 if (rvcomp + 39.005) 28860,18860,48861
        !           360: 48861 if (rvcomp + 38.995) 18860,18860,28860
        !           361: 18860 ivpass = ivpass + 1
        !           362:       write (i02,80001) ivtnum
        !           363:       go to 8871
        !           364: 28860 ivfail = ivfail + 1
        !           365:       rvcorr = -39.000
        !           366:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           367:  8871 continue
        !           368: c
        !           369: c     test 887 and 888 contain intrinsic function tests for choosing
        !           370: c     largest value where arguments are integer and function is real
        !           371: c
        !           372:       ivtnum = 887
        !           373: c
        !           374: c      ****  test 887  ****
        !           375: c
        !           376:       if (iczero) 38870, 8870, 38870
        !           377:  8870 continue
        !           378:       ivon01 = 317
        !           379:       ivon02 = -99
        !           380:       ivon03 = 1
        !           381:       rvcomp = amax0 (263,ivon01,ivon02,ivon03)
        !           382:       go to 48870
        !           383: 38870 ivdele = ivdele + 1
        !           384:       write (i02,80003) ivtnum
        !           385:       if (iczero) 48870, 8881, 48870
        !           386: 48870 if (rvcomp - 316.95) 28870,18870,48871
        !           387: 48871 if (rvcomp - 317.05) 18870,18870,28870
        !           388: 18870 ivpass = ivpass + 1
        !           389:       write (i02,80001) ivtnum
        !           390:       go to 8881
        !           391: 28870 ivfail = ivfail + 1
        !           392:       rvcorr = 317.00
        !           393:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           394:  8881 continue
        !           395:       ivtnum = 888
        !           396: c
        !           397: c      ****  test 888  ****
        !           398: c
        !           399:       if (iczero) 38880, 8880, 38880
        !           400:  8880 continue
        !           401:       ivon01 = 2572
        !           402:       ivon02 = 2570
        !           403:       rvcomp = amax0 (ivon01,ivon02)
        !           404:       go to 48880
        !           405: 38880 ivdele = ivdele + 1
        !           406:       write (i02,80003) ivtnum
        !           407:       if (iczero) 48880, 8891, 48880
        !           408: 48880 if (rvcomp - 2571.5) 28880,18880,48881
        !           409: 48881 if (rvcomp - 2572.5) 18880,18880,28880
        !           410: 18880 ivpass = ivpass + 1
        !           411:       write (i02,80001) ivtnum
        !           412:       go to 8891
        !           413: 28880 ivfail = ivfail + 1
        !           414:       rvcorr = 2572.0
        !           415:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           416:  8891 continue
        !           417: c
        !           418: c     test 889 and 890 contain intrinsic function tests for choosing
        !           419: c     largest value where the arguments and function are real
        !           420: c
        !           421:       ivtnum = 889
        !           422: c
        !           423: c      ****  test 889  ****
        !           424: c
        !           425:       if (iczero) 38890, 8890, 38890
        !           426:  8890 continue
        !           427:       rvon01 = .326e+2
        !           428:       rvon02 = 22.075
        !           429:       rvon03 = 76e-1
        !           430:       rvcomp = amax1 (rvon01,rvon02,rvon03)
        !           431:       go to 48890
        !           432: 38890 ivdele = ivdele + 1
        !           433:       write (i02,80003) ivtnum
        !           434:       if (iczero) 48890, 8901, 48890
        !           435: 48890 if (rvcomp - 32.595) 28890,18890,48891
        !           436: 48891 if (rvcomp - 32.605) 18890,18890,28890
        !           437: 18890 ivpass = ivpass + 1
        !           438:       write (i02,80001) ivtnum
        !           439:       go to 8901
        !           440: 28890 ivfail = ivfail + 1
        !           441:       rvcorr = 32.600
        !           442:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           443:  8901 continue
        !           444:       ivtnum = 890
        !           445: c
        !           446: c      ****  test 890  ****
        !           447: c
        !           448:       if (iczero) 38900, 8900, 38900
        !           449:  8900 continue
        !           450:       rvon01 = -6.3e2
        !           451:       rvon02 = -21.0
        !           452:       rvcomp = amax1 (-463.3,rvon01,rvon02)
        !           453:       go to 48900
        !           454: 38900 ivdele = ivdele + 1
        !           455:       write (i02,80003) ivtnum
        !           456:       if (iczero) 48900, 8911, 48900
        !           457: 48900 if (rvcomp + 21.005) 28900,18900,48901
        !           458: 48901 if (rvcomp + 20.995) 18900,18900,28900
        !           459: 18900 ivpass = ivpass + 1
        !           460:       write (i02,80001) ivtnum
        !           461:       go to 8911
        !           462: 28900 ivfail = ivfail + 1
        !           463:       rvcorr = -21.000
        !           464:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           465:  8911 continue
        !           466: c
        !           467: c     tests 891 and 892 contain intrinsic function tests for choosing
        !           468: c     smallest value where arguments are integer and function is real
        !           469: c
        !           470:       ivtnum = 891
        !           471: c
        !           472: c      ****  test 891  ****
        !           473: c
        !           474:       if (iczero) 38910, 8910, 38910
        !           475:  8910 continue
        !           476:       ivon01 = -75
        !           477:       ivon02 = -243
        !           478:       rvcomp = amin0 (ivon01,ivon02)
        !           479:       go to 48910
        !           480: 38910 ivdele = ivdele + 1
        !           481:       write (i02,80003) ivtnum
        !           482:       if (iczero) 48910, 8921, 48910
        !           483: 48910 if (rvcomp + 243.05) 28910,18910,48911
        !           484: 48911 if (rvcomp + 242.95) 18910,18910,28910
        !           485: 18910 ivpass = ivpass + 1
        !           486:       write (i02,80001) ivtnum
        !           487:       go to 8921
        !           488: 28910 ivfail = ivfail + 1
        !           489:       rvcorr = -243.00
        !           490:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           491:  8921 continue
        !           492:       ivtnum = 892
        !           493: c
        !           494: c      ****  test 892  ****
        !           495: c
        !           496:       if (iczero) 38920, 8920, 38920
        !           497:  8920 continue
        !           498:       ivon01 = -11
        !           499:       ivon02 = 11
        !           500:       rvcomp = amin0 (0,ivon01,ivon02)
        !           501:       go to 48920
        !           502: 38920 ivdele = ivdele + 1
        !           503:       write (i02,80003) ivtnum
        !           504:       if (iczero) 48920, 8931, 48920
        !           505: 48920 if (rvcomp + 11.005) 28920,18920,48921
        !           506: 48921 if (rvcomp + 10.995) 18920,18920,28920
        !           507: 18920 ivpass = ivpass + 1
        !           508:       write (i02,80001) ivtnum
        !           509:       go to 8931
        !           510: 28920 ivfail = ivfail + 1
        !           511:       rvcorr = -11.000
        !           512:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           513:  8931 continue
        !           514: c
        !           515: c     tests 893 and 894 contain intrinsic function tests for choosing
        !           516: c     smallest value where arguments and function are real
        !           517: c
        !           518:       ivtnum = 893
        !           519: c
        !           520: c      ****  test 893  ****
        !           521: c
        !           522:       if (iczero) 38930, 8930, 38930
        !           523:  8930 continue
        !           524:       rvon01 = 1.1111
        !           525:       rvon02 = 22.222
        !           526:       rvon03 = 333.33
        !           527:       rvcomp = amin1 (rvon01,rvon02,rvon03)
        !           528:       go to 48930
        !           529: 38930 ivdele = ivdele + 1
        !           530:       write (i02,80003) ivtnum
        !           531:       if (iczero) 48930, 8941, 48930
        !           532: 48930 if (rvcomp - 1.1106) 28930,18930,48931
        !           533: 48931 if (rvcomp - 1.1116) 18930,18930,28930
        !           534: 18930 ivpass = ivpass + 1
        !           535:       write (i02,80001) ivtnum
        !           536:       go to 8941
        !           537: 28930 ivfail = ivfail + 1
        !           538:       rvcorr = 1.1111
        !           539:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           540:  8941 continue
        !           541:       ivtnum = 894
        !           542: c
        !           543: c      ****  test 894  ****
        !           544: c
        !           545:       if (iczero) 38940, 8940, 38940
        !           546:  8940 continue
        !           547:       rvon01 = 28.8
        !           548:       rvon02 = 2.88e1
        !           549:       rvon03 = 288e-1
        !           550:       rvon04 = 35.0
        !           551:       rvcomp = amin1 (rvon01,rvon02,rvon03,rvon04)
        !           552:       go to 48940
        !           553: 38940 ivdele = ivdele + 1
        !           554:       write (i02,80003) ivtnum
        !           555:       if (iczero) 48940, 8951, 48940
        !           556: 48940 if (rvcomp - 28.795) 28940,18940,48941
        !           557: 48941 if (rvcomp - 28.805) 18940,18940,28940
        !           558: 18940 ivpass = ivpass + 1
        !           559:       write (i02,80001) ivtnum
        !           560:       go to 8951
        !           561: 28940 ivfail = ivfail + 1
        !           562:       rvcorr = 28.800
        !           563:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           564:  8951 continue
        !           565: c
        !           566: c     test 895 through test 897 contain intrinsic function tests for
        !           567: c     float - conversion of an integer argument to real function
        !           568: c
        !           569:       ivtnum = 895
        !           570: c
        !           571: c      ****  test 895  ****
        !           572: c
        !           573:       if (iczero) 38950, 8950, 38950
        !           574:  8950 continue
        !           575:       rvcomp = float (-606)
        !           576:       go to 48950
        !           577: 38950 ivdele = ivdele + 1
        !           578:       write (i02,80003) ivtnum
        !           579:       if (iczero) 48950, 8961, 48950
        !           580: 48950 if (rvcomp + 606.05) 28950,18950,48951
        !           581: 48951 if (rvcomp + 605.95) 18950,18950,28950
        !           582: 18950 ivpass = ivpass + 1
        !           583:       write (i02,80001) ivtnum
        !           584:       go to 8961
        !           585: 28950 ivfail = ivfail + 1
        !           586:       rvcorr = -606.00
        !           587:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           588:  8961 continue
        !           589:       ivtnum = 896
        !           590: c
        !           591: c      ****  test 896  ****
        !           592: c
        !           593:       if (iczero) 38960, 8960, 38960
        !           594:  8960 continue
        !           595:       ivon01 = 71
        !           596:       rvcomp = float (ivon01)
        !           597:       go to 48960
        !           598: 38960 ivdele = ivdele + 1
        !           599:       write (i02,80003) ivtnum
        !           600:       if (iczero) 48960, 8971, 48960
        !           601: 48960 if (rvcomp - 70.995) 28960,18960,48961
        !           602: 48961 if (rvcomp - 71.005) 18960,18960,28960
        !           603: 18960 ivpass = ivpass + 1
        !           604:       write (i02,80001) ivtnum
        !           605:       go to 8971
        !           606: 28960 ivfail = ivfail + 1
        !           607:       rvcorr = 71.000
        !           608:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           609:  8971 continue
        !           610:       ivtnum = 897
        !           611: c
        !           612: c      ****  test 897  ****
        !           613: c
        !           614:       if (iczero) 38970, 8970, 38970
        !           615:  8970 continue
        !           616:       ivon01 = 321
        !           617:       rvcomp = float (-ivon01)
        !           618:       go to 48970
        !           619: 38970 ivdele = ivdele + 1
        !           620:       write (i02,80003) ivtnum
        !           621:       if (iczero) 48970, 8981, 48970
        !           622: 48970 if (rvcomp + 321.05) 28970,18970,48971
        !           623: 48971 if (rvcomp + 320.95) 18970,18970,28970
        !           624: 18970 ivpass = ivpass + 1
        !           625:       write (i02,80001) ivtnum
        !           626:       go to 8981
        !           627: 28970 ivfail = ivfail + 1
        !           628:       rvcorr = -321.00
        !           629:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           630:  8981 continue
        !           631: c
        !           632: c     test 898 through test 900 contain intrinsic function tests for
        !           633: c     transfer of sign - both arguments and function are real
        !           634: c
        !           635:       ivtnum = 898
        !           636: c
        !           637: c      ****  test 898  ****
        !           638: c
        !           639:       if (iczero) 38980, 8980, 38980
        !           640:  8980 continue
        !           641:       rvon01 = 64.3
        !           642:       rvcomp = sign (rvon01,-1.0)
        !           643:       go to 48980
        !           644: 38980 ivdele = ivdele + 1
        !           645:       write (i02,80003) ivtnum
        !           646:       if (iczero) 48980, 8991, 48980
        !           647: 48980 if (rvcomp + 64.305) 28980,18980,48981
        !           648: 48981 if (rvcomp + 64.295) 18980,18980,28980
        !           649: 18980 ivpass = ivpass + 1
        !           650:       write (i02,80001) ivtnum
        !           651:       go to 8991
        !           652: 28980 ivfail = ivfail + 1
        !           653:       rvcorr = -64.300
        !           654:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           655:  8991 continue
        !           656:       ivtnum = 899
        !           657: c
        !           658: c      ****  test 899  ****
        !           659: c
        !           660:       if (iczero) 38990, 8990, 38990
        !           661:  8990 continue
        !           662:       rvon01 = -2.2
        !           663:       rvon02 = 7.23e1
        !           664:       rvcomp = sign (rvon01,rvon02)
        !           665:       go to 48990
        !           666: 38990 ivdele = ivdele + 1
        !           667:       write (i02,80003) ivtnum
        !           668:       if (iczero) 48990, 9001, 48990
        !           669: 48990 if (rvcomp - 2.1995) 28990,18990,48991
        !           670: 48991 if (rvcomp - 2.2005) 18990,18990,28990
        !           671: 18990 ivpass = ivpass + 1
        !           672:       write (i02,80001) ivtnum
        !           673:       go to 9001
        !           674: 28990 ivfail = ivfail + 1
        !           675:       rvcorr = 2.2000
        !           676:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           677:  9001 continue
        !           678:       ivtnum = 900
        !           679: c
        !           680: c      ****  test 900  ****
        !           681: c
        !           682:       if (iczero) 39000, 9000, 39000
        !           683:  9000 continue
        !           684:       rvon01 = 35.32e+1
        !           685:       rvon02 = 1.0
        !           686:       rvcomp = sign (rvon01,rvon02)
        !           687:       go to 49000
        !           688: 39000 ivdele = ivdele + 1
        !           689:       write (i02,80003) ivtnum
        !           690:       if (iczero) 49000, 9011, 49000
        !           691: 49000 if (rvcomp - 353.15) 29000,19000,49001
        !           692: 49001 if (rvcomp - 353.25) 19000,19000,29000
        !           693: 19000 ivpass = ivpass + 1
        !           694:       write (i02,80001) ivtnum
        !           695:       go to 9011
        !           696: 29000 ivfail = ivfail + 1
        !           697:       rvcorr = 353.20
        !           698:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           699:  9011 continue
        !           700: c
        !           701: c     test 901 through test 904 contain intrinsic function tests for
        !           702: c     positive difference where arguments and function are real
        !           703: c
        !           704:       ivtnum = 901
        !           705: c
        !           706: c      ****  test 901  ****
        !           707: c
        !           708:       if (iczero) 39010, 9010, 39010
        !           709:  9010 continue
        !           710:       rvon01 = 22.2
        !           711:       rvcomp = dim (rvon01,1.0)
        !           712:       go to 49010
        !           713: 39010 ivdele = ivdele + 1
        !           714:       write (i02,80003) ivtnum
        !           715:       if (iczero) 49010, 9021, 49010
        !           716: 49010 if (rvcomp - 21.195) 29010,19010,49011
        !           717: 49011 if (rvcomp - 21.205) 19010,19010,29010
        !           718: 19010 ivpass = ivpass + 1
        !           719:       write (i02,80001) ivtnum
        !           720:       go to 9021
        !           721: 29010 ivfail = ivfail + 1
        !           722:       rvcorr = 21.200
        !           723:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           724:  9021 continue
        !           725:       ivtnum = 902
        !           726: c
        !           727: c      ****  test 902  ****
        !           728: c
        !           729:       if (iczero) 39020, 9020, 39020
        !           730:  9020 continue
        !           731:       rvon01 = 4.5e1
        !           732:       rvon02 = 41.0
        !           733:       rvcomp = dim (rvon01,rvon02)
        !           734:       go to 49020
        !           735: 39020 ivdele = ivdele + 1
        !           736:       write (i02,80003) ivtnum
        !           737:       if (iczero) 49020, 9031, 49020
        !           738: 49020 if (rvcomp - 3.9995) 29020,19020,49021
        !           739: 49021 if (rvcomp - 4.0005) 19020,19020,29020
        !           740: 19020 ivpass = ivpass + 1
        !           741:       write (i02,80001) ivtnum
        !           742:       go to 9031
        !           743: 29020 ivfail = ivfail + 1
        !           744:       rvcorr = 4.0000
        !           745:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           746:  9031 continue
        !           747:       ivtnum = 903
        !           748: c
        !           749: c      ****  test 903  ****
        !           750: c
        !           751:       if (iczero) 39030, 9030, 39030
        !           752:  9030 continue
        !           753:       rvon01 = 2.0
        !           754:       rvon02 = 10.0
        !           755:       rvcomp = dim (rvon01,rvon02)
        !           756:       go to 49030
        !           757: 39030 ivdele = ivdele + 1
        !           758:       write (i02,80003) ivtnum
        !           759:       if (iczero) 49030, 9041, 49030
        !           760: 49030 if (rvcomp) 29030,19030,29030
        !           761: 19030 ivpass = ivpass + 1
        !           762:       write (i02,80001) ivtnum
        !           763:       go to 9041
        !           764: 29030 ivfail = ivfail + 1
        !           765:       rvcorr = 0.0000
        !           766:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           767:  9041 continue
        !           768:       ivtnum = 904
        !           769: c
        !           770: c      ****  test 904  ****
        !           771: c
        !           772:       if (iczero) 39040, 9040, 39040
        !           773:  9040 continue
        !           774:       rvon01 = 1.65e+1
        !           775:       rvon02 = -2.0
        !           776:       rvcomp = dim (rvon01,rvon02)
        !           777:       go to 49040
        !           778: 39040 ivdele = ivdele + 1
        !           779:       write (i02,80003) ivtnum
        !           780:       if (iczero) 49040, 9051, 49040
        !           781: 49040 if (rvcomp - 18.495) 29040,19040,49041
        !           782: 49041 if (rvcomp - 18.505) 19040,19040,29040
        !           783: 19040 ivpass = ivpass + 1
        !           784:       write (i02,80001) ivtnum
        !           785:       go to 9051
        !           786: 29040 ivfail = ivfail + 1
        !           787:       rvcorr = 18.500
        !           788:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           789:  9051 continue
        !           790: c
        !           791: c     tests 905 and 906 contain expressions containing more than one
        !           792: c     intrinsic function - all arguments and functions are real
        !           793: c
        !           794:       ivtnum = 905
        !           795: c
        !           796: c      ****  test 905  ****
        !           797: c
        !           798:       if (iczero) 39050, 9050, 39050
        !           799:  9050 continue
        !           800:       rvon01 = 33.3
        !           801:       rvon02 = -12.1
        !           802:       rvcomp = aint (rvon01) + abs (rvon02)
        !           803:       go to 49050
        !           804: 39050 ivdele = ivdele + 1
        !           805:       write (i02,80003) ivtnum
        !           806:       if (iczero) 49050, 9061, 49050
        !           807: 49050 if (rvcomp - 45.095) 29050,19050,49051
        !           808: 49051 if (rvcomp - 45.105) 19050,19050,29050
        !           809: 19050 ivpass = ivpass + 1
        !           810:       write (i02,80001) ivtnum
        !           811:       go to 9061
        !           812: 29050 ivfail = ivfail + 1
        !           813:       rvcorr = 45.100
        !           814:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           815:  9061 continue
        !           816:       ivtnum = 906
        !           817: c
        !           818: c      ****  test 906  ****
        !           819: c
        !           820:       if (iczero) 39060, 9060, 39060
        !           821:  9060 continue
        !           822:       rvon01 = 76.3
        !           823:       rvon02 = 2.1e1
        !           824:       rvon03 = 3e1
        !           825:       rvcomp = amax1(rvon01,rvon02,rvon03)-amin1(rvon01,rvon02,rvon03)
        !           826:       go to 49060
        !           827: 39060 ivdele = ivdele + 1
        !           828:       write (i02,80003) ivtnum
        !           829:       if (iczero) 49060, 9071, 49060
        !           830: 49060 if (rvcomp - 55.295) 29060,19060,49061
        !           831: 49061 if (rvcomp - 55.305) 19060,19060,29060
        !           832: 19060 ivpass = ivpass + 1
        !           833:       write (i02,80001) ivtnum
        !           834:       go to 9071
        !           835: 29060 ivfail = ivfail + 1
        !           836:       rvcorr = 55.300
        !           837:       write (i02,80005) ivtnum, rvcomp, rvcorr
        !           838:  9071 continue
        !           839: c
        !           840: c     write page footings and run summaries
        !           841: 99999 continue
        !           842:       write (i02,90002)
        !           843:       write (i02,90006)
        !           844:       write (i02,90002)
        !           845:       write (i02,90002)
        !           846:       write (i02,90007)
        !           847:       write (i02,90002)
        !           848:       write (i02,90008)  ivfail
        !           849:       write (i02,90009) ivpass
        !           850:       write (i02,90010) ivdele
        !           851: c
        !           852: c
        !           853: c     terminate routine execution
        !           854:       stop
        !           855: c
        !           856: c     format statements for page headers
        !           857: 90000 format (1h1)
        !           858: 90002 format (1h )
        !           859: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           860: 90003 format (1h ,21x,11hversion 1.0)
        !           861: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           862: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           863: 90006 format (1h ,5x,46h----------------------------------------------)
        !           864: 90011 format (1h ,18x,17hsubset level test)
        !           865: c
        !           866: c     format statements for run summaries
        !           867: 90008 format (1h ,15x,i5,19h errors encountered)
        !           868: 90009 format (1h ,15x,i5,13h tests passed)
        !           869: 90010 format (1h ,15x,i5,14h tests deleted)
        !           870: c
        !           871: c     format statements for test results
        !           872: 80001 format (1h ,4x,i5,7x,4hpass)
        !           873: 80002 format (1h ,4x,i5,7x,4hfail)
        !           874: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           875: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           876: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           877: c
        !           878: 90007 format (1h ,20x,20hend of program fm097)
        !           879:       end

unix.superglobalmegacorp.com

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