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

1.1       root        1: c     comment section
                      2: c
                      3: c     fm098
                      4: c
                      5: c     this routine tests intrinsic functions where the function type is
                      6: c     integer and the arguments are either integer or real.  the real
                      7: c     and integer variables and the real and integer constants contain
                      8: c     both positive and negative values.  the intrinsic functions tested
                      9: c     by fm098 include
                     10: c                                                     type of
                     11: c       intrinsic function          name       argument     function
                     12: c       ------------------          ----       --------     --------
                     13: c         absolute value            iabs       integer      integer
                     14: c         truncation                int        real         integer
                     15: c         remaindering              mod        integer      integer
                     16: c         choosing largest value    max0       integer      integer
                     17: c                                   max1       real         integer
                     18: c         choosing smallest value   min0       integer      integer
                     19: c                                   min1       real         integer
                     20: c         fix                       ifix      real          integer
                     21: c         transfer of sign          isign     integer       integer
                     22: c         positive difference       idim      integer       integer
                     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 907 through test 909 contain intrinsic function tests for
                    106: c     absolute value where argument and function are integer
                    107: c
                    108:  9071 continue
                    109:       ivtnum = 907
                    110: c
                    111: c      ****  test 907  ****
                    112: c
                    113:       if (iczero) 39070, 9070, 39070
                    114:  9070 continue
                    115:       ivcomp = iabs (-382)
                    116:       go to 49070
                    117: 39070 ivdele = ivdele + 1
                    118:       write (i02,80003) ivtnum
                    119:       if (iczero) 49070, 9081, 49070
                    120: 49070 if (ivcomp - 382) 29070,19070,29070
                    121: 19070 ivpass = ivpass + 1
                    122:       write (i02,80001) ivtnum
                    123:       go to 9081
                    124: 29070 ivfail = ivfail + 1
                    125:       ivcorr = 382
                    126:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    127:  9081 continue
                    128:       ivtnum = 908
                    129: c
                    130: c      ****  test 908  ****
                    131: c
                    132:       if (iczero) 39080, 9080, 39080
                    133:  9080 continue
                    134:       ivon01 = 445
                    135:       ivcomp = iabs (ivon01)
                    136:       go to 49080
                    137: 39080 ivdele = ivdele + 1
                    138:       write (i02,80003) ivtnum
                    139:       if (iczero) 49080, 9091, 49080
                    140: 49080 if (ivcomp - 445) 29080,19080,29080
                    141: 19080 ivpass = ivpass + 1
                    142:       write (i02,80001) ivtnum
                    143:       go to 9091
                    144: 29080 ivfail = ivfail + 1
                    145:       ivcorr = 445
                    146:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    147:  9091 continue
                    148:       ivtnum = 909
                    149: c
                    150: c      ****  test 909  ****
                    151: c
                    152:       if (iczero) 39090, 9090, 39090
                    153:  9090 continue
                    154:       ivon01 = -32176
                    155:       ivcomp = iabs (ivon01)
                    156:       go to 49090
                    157: 39090 ivdele = ivdele + 1
                    158:       write (i02,80003) ivtnum
                    159:       if (iczero) 49090, 9101, 49090
                    160: 49090 if (ivcomp - 32176) 29090,19090,29090
                    161: 19090 ivpass = ivpass + 1
                    162:       write (i02,80001) ivtnum
                    163:       go to 9101
                    164: 29090 ivfail = ivfail + 1
                    165:       ivcorr = 32176
                    166:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    167: c
                    168: c     test 910 through test 913 contain intrinsic function tests for
                    169: c     truncation where argument is real and function is integer
                    170: c
                    171:  9101 continue
                    172:       ivtnum = 910
                    173: c
                    174: c      ****  test 910  ****
                    175: c
                    176:       if (iczero) 39100, 9100, 39100
                    177:  9100 continue
                    178:       ivcomp = int (38.2)
                    179:       go to 49100
                    180: 39100 ivdele = ivdele + 1
                    181:       write (i02,80003) ivtnum
                    182:       if (iczero) 49100, 9111, 49100
                    183: 49100 if (ivcomp - 38) 29100,19100,29100
                    184: 19100 ivpass = ivpass + 1
                    185:       write (i02,80001) ivtnum
                    186:       go to 9111
                    187: 29100 ivfail = ivfail + 1
                    188:       ivcorr = 38
                    189:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    190:  9111 continue
                    191:       ivtnum = 911
                    192: c
                    193: c      ****  test 911  ****
                    194: c
                    195:       if (iczero) 39110, 9110, 39110
                    196:  9110 continue
                    197:       rvon01 = -445.95
                    198:       ivcomp = int (rvon01)
                    199:       go to 49110
                    200: 39110 ivdele = ivdele + 1
                    201:       write (i02,80003) ivtnum
                    202:       if (iczero) 49110, 9121, 49110
                    203: 49110 if (ivcomp + 445) 29110,19110,29110
                    204: 19110 ivpass = ivpass + 1
                    205:       write (i02,80001) ivtnum
                    206:       go to 9121
                    207: 29110 ivfail = ivfail + 1
                    208:       ivcorr = -445
                    209:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    210:  9121 continue
                    211:       ivtnum = 912
                    212: c
                    213: c      ****  test 912  ****
                    214: c
                    215:       if (iczero) 39120, 9120, 39120
                    216:  9120 continue
                    217:       rvon01 = 466.01
                    218:       ivcomp = int (rvon01)
                    219:       go to 49120
                    220: 39120 ivdele = ivdele + 1
                    221:       write (i02,80003) ivtnum
                    222:       if (iczero) 49120, 9131, 49120
                    223: 49120 if (ivcomp - 466) 29120,19120,29120
                    224: 19120 ivpass = ivpass + 1
                    225:       write (i02,80001) ivtnum
                    226:       go to 9131
                    227: 29120 ivfail = ivfail + 1
                    228:       ivcorr = 466
                    229:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    230:  9131 continue
                    231:       ivtnum = 913
                    232: c
                    233: c      ****  test 913  ****
                    234: c
                    235:       if (iczero) 39130, 9130, 39130
                    236:  9130 continue
                    237:       rvon01 = 382e-1
                    238:       ivcomp = int (rvon01)
                    239:       go to 49130
                    240: 39130 ivdele = ivdele + 1
                    241:       write (i02,80003) ivtnum
                    242:       if (iczero) 49130, 9141, 49130
                    243: 49130 if (ivcomp - 38) 29130,19130,29130
                    244: 19130 ivpass = ivpass + 1
                    245:       write (i02,80001) ivtnum
                    246:       go to 9141
                    247: 29130 ivfail = ivfail + 1
                    248:       ivcorr = 38
                    249:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    250: c
                    251: c     test 914 through test 917 contain intrinsic function tests for
                    252: c     remaindering where arguments and function are integers
                    253: c
                    254:  9141 continue
                    255:       ivtnum = 914
                    256: c
                    257: c      ****  test 914  ****
                    258: c
                    259:       if (iczero) 39140, 9140, 39140
                    260:  9140 continue
                    261:       ivcomp = mod (42,19)
                    262:       go to 49140
                    263: 39140 ivdele = ivdele + 1
                    264:       write (i02,80003) ivtnum
                    265:       if (iczero) 49140, 9151, 49140
                    266: 49140 if (ivcomp - 4) 29140,19140,29140
                    267: 19140 ivpass = ivpass + 1
                    268:       write (i02,80001) ivtnum
                    269:       go to 9151
                    270: 29140 ivfail = ivfail + 1
                    271:       ivcorr = 4
                    272:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    273:  9151 continue
                    274:       ivtnum = 915
                    275: c
                    276: c      ****  test 915  ****
                    277: c
                    278:       if (iczero) 39150, 9150, 39150
                    279:  9150 continue
                    280:       ivon01 = 6667
                    281:       ivon02 = 2
                    282:       ivcomp = mod (ivon01,ivon02)
                    283:       go to 49150
                    284: 39150 ivdele = ivdele + 1
                    285:       write (i02,80003) ivtnum
                    286:       if (iczero) 49150, 9161, 49150
                    287: 49150 if (ivcomp - 1) 29150,19150,29150
                    288: 19150 ivpass = ivpass + 1
                    289:       write (i02,80001) ivtnum
                    290:       go to 9161
                    291: 29150 ivfail = ivfail + 1
                    292:       ivcorr = 1
                    293:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    294:  9161 continue
                    295:       ivtnum = 916
                    296: c
                    297: c      ****  test 916  ****
                    298: c
                    299:       if (iczero) 39160, 9160, 39160
                    300:  9160 continue
                    301:       ivon01 = 225
                    302:       ivon02 = 50
                    303:       ivcomp = mod (ivon01,ivon02)
                    304:       go to 49160
                    305: 39160 ivdele = ivdele + 1
                    306:       write (i02,80003) ivtnum
                    307:       if (iczero) 49160, 9171, 49160
                    308: 49160 if (ivcomp - 25) 29160,19160,29160
                    309: 19160 ivpass = ivpass + 1
                    310:       write (i02,80001) ivtnum
                    311:       go to 9171
                    312: 29160 ivfail = ivfail + 1
                    313:       ivcorr = 25
                    314:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    315:  9171 continue
                    316:       ivtnum = 917
                    317: c
                    318: c      ****  test 917  ****
                    319: c
                    320:       if (iczero) 39170, 9170, 39170
                    321:  9170 continue
                    322:       ivon01 = -39
                    323:       ivon02 = 500
                    324:       ivcomp = mod (ivon01,ivon02)
                    325:       go to 49170
                    326: 39170 ivdele = ivdele + 1
                    327:       write (i02,80003) ivtnum
                    328:       if (iczero) 49170, 9181, 49170
                    329: 49170 if (ivcomp + 39) 29170,19170,29170
                    330: 19170 ivpass = ivpass + 1
                    331:       write (i02,80001) ivtnum
                    332:       go to 9181
                    333: 29170 ivfail = ivfail + 1
                    334:       ivcorr = -39
                    335:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    336: c
                    337: c     test 918 and 919 contain intrinsic function tests for choosing
                    338: c     largest value where arguments and function are integer
                    339: c
                    340:  9181 continue
                    341:       ivtnum = 918
                    342: c
                    343: c      ****  test 918  ****
                    344: c
                    345:       if (iczero) 39180, 9180, 39180
                    346:  9180 continue
                    347:       ivon01 = 317
                    348:       ivon02 = -99
                    349:       ivon03 = 1
                    350:       ivcomp = max0 (263,ivon01,ivon02,ivon03)
                    351:       go to 49180
                    352: 39180 ivdele = ivdele + 1
                    353:       write (i02,80003) ivtnum
                    354:       if (iczero) 49180, 9191, 49180
                    355: 49180 if (ivcomp - 317) 29180,19180,29180
                    356: 19180 ivpass = ivpass + 1
                    357:       write (i02,80001) ivtnum
                    358:       go to 9191
                    359: 29180 ivfail = ivfail + 1
                    360:       ivcorr = 317
                    361:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    362:  9191 continue
                    363:       ivtnum = 919
                    364: c
                    365: c      ****  test 919  ****
                    366: c
                    367:       if (iczero) 39190, 9190, 39190
                    368:  9190 continue
                    369:       ivon01 = 2572
                    370:       ivon02 = 2570
                    371:       ivcomp = max0 (ivon01,ivon02)
                    372:       go to 49190
                    373: 39190 ivdele = ivdele + 1
                    374:       write (i02,80003) ivtnum
                    375:       if (iczero) 49190, 9201, 49190
                    376: 49190 if (ivcomp - 2572) 29190,19190,29190
                    377: 19190 ivpass = ivpass + 1
                    378:       write (i02,80001) ivtnum
                    379:       go to 9201
                    380: 29190 ivfail = ivfail + 1
                    381:       ivcorr = 2572
                    382:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    383: c
                    384: c     test 920 and 921 contain intrinsic function tests for choosing
                    385: c     largest value where arguments are real and function is integer
                    386: c
                    387:  9201 continue
                    388:       ivtnum = 920
                    389: c
                    390: c      ****  test 920  ****
                    391: c
                    392:       if (iczero) 39200, 9200, 39200
                    393:  9200 continue
                    394:       rvon01 = .326e+2
                    395:       rvon02 = 22.075
                    396:       rvon03 = 76e-1
                    397:       ivcomp = max1 (rvon01,rvon02,rvon03)
                    398:       go to 49200
                    399: 39200 ivdele = ivdele + 1
                    400:       write (i02,80003) ivtnum
                    401:       if (iczero) 49200, 9211, 49200
                    402: 49200 if (ivcomp - 32) 29200,19200,29200
                    403: 19200 ivpass = ivpass + 1
                    404:       write (i02,80001) ivtnum
                    405:       go to 9211
                    406: 29200 ivfail = ivfail + 1
                    407:       ivcorr = 32
                    408:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    409:  9211 continue
                    410:       ivtnum = 921
                    411: c
                    412: c      ****  test 921  ****
                    413: c
                    414:       if (iczero) 39210, 9210, 39210
                    415:  9210 continue
                    416:       rvon01 = -6.3e2
                    417:       rvon02 = -21.0
                    418:       ivcomp = max1 (-463.3,rvon01,rvon02)
                    419:       go to 49210
                    420: 39210 ivdele = ivdele + 1
                    421:       write (i02,80003) ivtnum
                    422:       if (iczero) 49210, 9221, 49210
                    423: 49210 if (ivcomp + 21) 29210,19210,29210
                    424: 19210 ivpass = ivpass + 1
                    425:       write (i02,80001) ivtnum
                    426:       go to 9221
                    427: 29210 ivfail = ivfail + 1
                    428:       ivcorr = -21
                    429:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    430: c
                    431: c     test 922 and 923 contain intrinsic function tests for choosing
                    432: c     smallest value where arguments and function are integer
                    433: c
                    434:  9221 continue
                    435:       ivtnum = 922
                    436: c
                    437: c      ****  test 922  ****
                    438: c
                    439:       if (iczero) 39220, 9220, 39220
                    440:  9220 continue
                    441:       ivon01 = -75
                    442:       ivon02 = -243
                    443:       ivcomp = min0 (ivon01,ivon02)
                    444:       go to 49220
                    445: 39220 ivdele = ivdele + 1
                    446:       write (i02,80003) ivtnum
                    447:       if (iczero) 49220, 9231, 49220
                    448: 49220 if (ivcomp + 243) 29220,19220,29220
                    449: 19220 ivpass = ivpass + 1
                    450:       write (i02,80001) ivtnum
                    451:       go to 9231
                    452: 29220 ivfail = ivfail + 1
                    453:       ivcorr = -243
                    454:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    455:  9231 continue
                    456:       ivtnum = 923
                    457: c
                    458: c      ****  test 923  ****
                    459: c
                    460:       if (iczero) 39230, 9230, 39230
                    461:  9230 continue
                    462:       ivon01 = -11
                    463:       ivon02 = 11
                    464:       ivcomp = min0 (0,ivon01,ivon02)
                    465:       go to 49230
                    466: 39230 ivdele = ivdele + 1
                    467:       write (i02,80003) ivtnum
                    468:       if (iczero) 49230, 9241, 49230
                    469: 49230 if (ivcomp + 11) 29230,19230,29230
                    470: 19230 ivpass = ivpass + 1
                    471:       write (i02,80001) ivtnum
                    472:       go to 9241
                    473: 29230 ivfail = ivfail + 1
                    474:       ivcorr = -11
                    475:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    476: c
                    477: c     test 924 and 925 contain intrinsic function tests for choosing
                    478: c     smallest value where arguments are real and function is integer
                    479: c
                    480:  9241 continue
                    481:       ivtnum = 924
                    482: c
                    483: c      ****  test 924  ****
                    484: c
                    485:       if (iczero) 39240, 9240, 39240
                    486:  9240 continue
                    487:       rvon01 = 1.1111
                    488:       rvon02 = 22.222
                    489:       rvon03 = 333.33
                    490:       ivcomp = min1 (rvon01,rvon02,rvon03)
                    491:       go to 49240
                    492: 39240 ivdele = ivdele + 1
                    493:       write (i02,80003) ivtnum
                    494:       if (iczero) 49240, 9251, 49240
                    495: 49240 if (ivcomp - 1) 29240,19240,29240
                    496: 19240 ivpass = ivpass + 1
                    497:       write (i02,80001) ivtnum
                    498:       go to 9251
                    499: 29240 ivfail = ivfail + 1
                    500:       ivcorr = 1
                    501:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    502:  9251 continue
                    503:       ivtnum = 925
                    504: c
                    505: c      ****  test 925  ****
                    506: c
                    507:       if (iczero) 39250, 9250, 39250
                    508:  9250 continue
                    509:       rvon01 = 28.8
                    510:       rvon02 = 2.88e1
                    511:       rvon03 = 288e-1
                    512:       rvon04 = 35.0
                    513:       ivcomp = min1 (rvon01,rvon02,rvon03,rvon04)
                    514:       go to 49250
                    515: 39250 ivdele = ivdele + 1
                    516:       write (i02,80003) ivtnum
                    517:       if (iczero) 49250, 9261, 49250
                    518: 49250 if (ivcomp - 28) 29250,19250,29250
                    519: 19250 ivpass = ivpass + 1
                    520:       write (i02,80001) ivtnum
                    521:       go to 9261
                    522: 29250 ivfail = ivfail + 1
                    523:       ivcorr = 28
                    524:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    525: c
                    526: c     test 926 through test 929 contain the intrinsic function fix
                    527: c     which converts real arguments to integer function results
                    528: c
                    529:  9261 continue
                    530:       ivtnum = 926
                    531: c
                    532: c      ****  test 926  ****
                    533: c
                    534:       if (iczero) 39260, 9260, 39260
                    535:  9260 continue
                    536:       ivcomp = ifix (-6.06)
                    537:       go to 49260
                    538: 39260 ivdele = ivdele + 1
                    539:       write (i02,80003) ivtnum
                    540:       if (iczero) 49260, 9271, 49260
                    541: 49260 if (ivcomp + 6) 29260,19260,29260
                    542: 19260 ivpass = ivpass + 1
                    543:       write (i02,80001) ivtnum
                    544:       go to 9271
                    545: 29260 ivfail = ivfail + 1
                    546:       ivcorr = -6
                    547:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    548:  9271 continue
                    549:       ivtnum = 927
                    550: c
                    551: c      ****  test 927  ****
                    552: c
                    553:       if (iczero) 39270, 9270, 39270
                    554:  9270 continue
                    555:       rvon01 = 71.01
                    556:       ivcomp = ifix (rvon01)
                    557:       go to 49270
                    558: 39270 ivdele = ivdele + 1
                    559:       write (i02,80003) ivtnum
                    560:       if (iczero) 49270, 9281, 49270
                    561: 49270 if (ivcomp - 71) 29270,19270,29270
                    562: 19270 ivpass = ivpass + 1
                    563:       write (i02,80001) ivtnum
                    564:       go to 9281
                    565: 29270 ivfail = ivfail + 1
                    566:       ivcorr = 71
                    567:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    568:  9281 continue
                    569:       ivtnum = 928
                    570: c
                    571: c      ****  test 928  ****
                    572: c
                    573:       if (iczero) 39280, 9280, 39280
                    574:  9280 continue
                    575:       rvon01 = 3.211e2
                    576:       ivcomp = ifix (rvon01)
                    577:       go to 49280
                    578: 39280 ivdele = ivdele + 1
                    579:       write (i02,80003) ivtnum
                    580:       if (iczero) 49280, 9291, 49280
                    581: 49280 if (ivcomp - 321) 29280,19280,29280
                    582: 19280 ivpass = ivpass + 1
                    583:       write (i02,80001) ivtnum
                    584:       go to 9291
                    585: 29280 ivfail = ivfail + 1
                    586:       ivcorr = 321
                    587:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    588:  9291 continue
                    589:       ivtnum = 929
                    590: c
                    591: c      ****  test 929  ****
                    592: c
                    593:       if (iczero) 39290, 9290, 39290
                    594:  9290 continue
                    595:       rvon01 = 777e-1
                    596:       ivcomp = ifix (rvon01)
                    597:       go to 49290
                    598: 39290 ivdele = ivdele + 1
                    599:       write (i02,80003) ivtnum
                    600:       if (iczero) 49290, 9301, 49290
                    601: 49290 if (ivcomp - 77) 29290,19290,29290
                    602: 19290 ivpass = ivpass + 1
                    603:       write (i02,80001) ivtnum
                    604:       go to 9301
                    605: 29290 ivfail = ivfail + 1
                    606:       ivcorr = 77
                    607:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    608: c
                    609: c     test 930 through test 932 contain intrinsic function tests for
                    610: c     transfer of sign where arguments and function are integer
                    611: c
                    612:  9301 continue
                    613:       ivtnum = 930
                    614: c
                    615: c      ****  test 930  ****
                    616: c
                    617:       if (iczero) 39300, 9300, 39300
                    618:  9300 continue
                    619:       ivon01 = 643
                    620:       ivcomp = isign (ivon01,-1)
                    621:       go to 49300
                    622: 39300 ivdele = ivdele + 1
                    623:       write (i02,80003) ivtnum
                    624:       if (iczero) 49300, 9311, 49300
                    625: 49300 if (ivcomp + 643) 29300,19300,29300
                    626: 19300 ivpass = ivpass + 1
                    627:       write (i02,80001) ivtnum
                    628:       go to 9311
                    629: 29300 ivfail = ivfail + 1
                    630:       ivcorr = -643
                    631:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    632:  9311 continue
                    633:       ivtnum = 931
                    634: c
                    635: c      ****  test 931  ****
                    636: c
                    637:       if (iczero) 39310, 9310, 39310
                    638:  9310 continue
                    639:       ivon01 = -22
                    640:       ivon02 = 723
                    641:       ivcomp = isign (ivon01,ivon02)
                    642:       go to 49310
                    643: 39310 ivdele = ivdele + 1
                    644:       write (i02,80003) ivtnum
                    645:       if (iczero) 49310, 9321, 49310
                    646: 49310 if (ivcomp - 22) 29310,19310,29310
                    647: 19310 ivpass = ivpass + 1
                    648:       write (i02,80001) ivtnum
                    649:       go to 9321
                    650: 29310 ivfail = ivfail + 1
                    651:       ivcorr = 22
                    652:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    653:  9321 continue
                    654:       ivtnum = 932
                    655: c
                    656: c      ****  test 932  ****
                    657: c
                    658:       if (iczero) 39320, 9320, 39320
                    659:  9320 continue
                    660:       ivon01 = 3532
                    661:       ivon02 = 1
                    662:       ivcomp = isign (ivon01,ivon02)
                    663:       go to 49320
                    664: 39320 ivdele = ivdele + 1
                    665:       write (i02,80003) ivtnum
                    666:       if (iczero) 49320, 9331, 49320
                    667: 49320 if (ivcomp - 3532) 29320,19320,29320
                    668: 19320 ivpass = ivpass + 1
                    669:       write (i02,80001) ivtnum
                    670:       go to 9331
                    671: 29320 ivfail = ivfail + 1
                    672:       ivcorr = 3532
                    673:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    674: c
                    675: c     test 933 through test 936 contain intrinsic function tests for
                    676: c     positive difference where arguments and function are integers
                    677: c
                    678:  9331 continue
                    679:       ivtnum = 933
                    680: c
                    681: c      ****  test 933  ****
                    682: c
                    683:       if (iczero) 39330, 9330, 39330
                    684:  9330 continue
                    685:       ivon01 = 222
                    686:       ivcomp = idim (ivon01,1)
                    687:       go to 49330
                    688: 39330 ivdele = ivdele + 1
                    689:       write (i02,80003) ivtnum
                    690:       if (iczero) 49330, 9341, 49330
                    691: 49330 if (ivcomp - 221) 29330,19330,29330
                    692: 19330 ivpass = ivpass + 1
                    693:       write (i02,80001) ivtnum
                    694:       go to 9341
                    695: 29330 ivfail = ivfail + 1
                    696:       ivcorr = 221
                    697:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    698:  9341 continue
                    699:       ivtnum = 934
                    700: c
                    701: c      ****  test 934  ****
                    702: c
                    703:       if (iczero) 39340, 9340, 39340
                    704:  9340 continue
                    705:       ivon01 = 45
                    706:       ivon02 = 41
                    707:       ivcomp = idim (ivon01,ivon02)
                    708:       go to 49340
                    709: 39340 ivdele = ivdele + 1
                    710:       write (i02,80003) ivtnum
                    711:       if (iczero) 49340, 9351, 49340
                    712: 49340 if (ivcomp - 4) 29340,19340,29340
                    713: 19340 ivpass = ivpass + 1
                    714:       write (i02,80001) ivtnum
                    715:       go to 9351
                    716: 29340 ivfail = ivfail + 1
                    717:       ivcorr = 4
                    718:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    719:  9351 continue
                    720:       ivtnum = 935
                    721: c
                    722: c      ****  test 935  ****
                    723: c
                    724:       if (iczero) 39350, 9350, 39350
                    725:  9350 continue
                    726:       ivon01 = 2
                    727:       ivon02 = 10
                    728:       ivcomp = idim (ivon01,ivon02)
                    729:       go to 49350
                    730: 39350 ivdele = ivdele + 1
                    731:       write (i02,80003) ivtnum
                    732:       if (iczero) 49350, 9361, 49350
                    733: 49350 if (ivcomp) 29350,19350,29350
                    734: 19350 ivpass = ivpass + 1
                    735:       write (i02,80001) ivtnum
                    736:       go to 9361
                    737: 29350 ivfail = ivfail + 1
                    738:       ivcorr = 0
                    739:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    740:  9361 continue
                    741:       ivtnum = 936
                    742: c
                    743: c      ****  test 936  ****
                    744: c
                    745:       if (iczero) 39360, 9360, 39360
                    746:  9360 continue
                    747:       ivon01 = 165
                    748:       ivon02 = -2
                    749:       ivcomp = idim (ivon01,ivon02)
                    750:       go to 49360
                    751: 39360 ivdele = ivdele + 1
                    752:       write (i02,80003) ivtnum
                    753:       if (iczero) 49360, 9371, 49360
                    754: 49360 if (ivcomp - 167) 29360,19360,29360
                    755: 19360 ivpass = ivpass + 1
                    756:       write (i02,80001) ivtnum
                    757:       go to 9371
                    758: 29360 ivfail = ivfail + 1
                    759:       ivcorr = 167
                    760:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    761: c
                    762: c     tests 937 and 938 contain expressions containing more than one
                    763: c     intrinsic function - the functions are integer and the arguments
                    764: c     are real and integer
                    765: c
                    766:  9371 continue
                    767:       ivtnum = 937
                    768: c
                    769: c      ****  test 937  ****
                    770: c
                    771:       if (iczero) 39370, 9370, 39370
                    772:  9370 continue
                    773:       rvon01 = 33.3
                    774:       ivon01 = -12
                    775:       ivcomp = int (rvon01) + iabs (ivon01)
                    776:       go to 49370
                    777: 39370 ivdele = ivdele + 1
                    778:       write (i02,80003) ivtnum
                    779:       if (iczero) 49370, 9381, 49370
                    780: 49370 if (ivcomp -  45) 29370,19370,29370
                    781: 19370 ivpass = ivpass + 1
                    782:       write (i02,80001) ivtnum
                    783:       go to 9381
                    784: 29370 ivfail = ivfail + 1
                    785:       ivcorr = 45
                    786:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    787:  9381 continue
                    788:       ivtnum = 938
                    789: c
                    790: c      ****  test 938  ****
                    791: c
                    792:       if (iczero) 39380, 9380, 39380
                    793:  9380 continue
                    794:       ivon01 = 76
                    795:       ivon02 = 21
                    796:       ivon03 = 30
                    797:       ivcomp = max0 (ivon01,ivon02,ivon03) - min0 (ivon01,ivon02,ivon03)
                    798:       go to 49380
                    799: 39380 ivdele = ivdele + 1
                    800:       write (i02,80003) ivtnum
                    801:       if (iczero) 49380, 9391, 49380
                    802: 49380 if (ivcomp - 55) 29380,19380,29380
                    803: 19380 ivpass = ivpass + 1
                    804:       write (i02,80001) ivtnum
                    805:       go to 9391
                    806: 29380 ivfail = ivfail + 1
                    807:       ivcorr = 55
                    808:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    809:  9391 continue
                    810: c
                    811: c     write page footings and run summaries
                    812: 99999 continue
                    813:       write (i02,90002)
                    814:       write (i02,90006)
                    815:       write (i02,90002)
                    816:       write (i02,90002)
                    817:       write (i02,90007)
                    818:       write (i02,90002)
                    819:       write (i02,90008)  ivfail
                    820:       write (i02,90009) ivpass
                    821:       write (i02,90010) ivdele
                    822: c
                    823: c
                    824: c     terminate routine execution
                    825:       stop
                    826: c
                    827: c     format statements for page headers
                    828: 90000 format (1h1)
                    829: 90002 format (1h )
                    830: 90001 format (1h ,10x,34hfortran compiler validation system)
                    831: 90003 format (1h ,21x,11hversion 1.0)
                    832: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    833: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    834: 90006 format (1h ,5x,46h----------------------------------------------)
                    835: 90011 format (1h ,18x,17hsubset level test)
                    836: c
                    837: c     format statements for run summaries
                    838: 90008 format (1h ,15x,i5,19h errors encountered)
                    839: 90009 format (1h ,15x,i5,13h tests passed)
                    840: 90010 format (1h ,15x,i5,14h tests deleted)
                    841: c
                    842: c     format statements for test results
                    843: 80001 format (1h ,4x,i5,7x,4hpass)
                    844: 80002 format (1h ,4x,i5,7x,4hfail)
                    845: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    846: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    847: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    848: c
                    849: 90007 format (1h ,20x,20hend of program fm098)
                    850:       end

unix.superglobalmegacorp.com

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