|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm037 ! 4: c ! 5: c this routine tests arithmetic assignment statements of the ! 6: c form ! 7: c integer variable = arithmetic expression ! 8: c where the arithmetic expression is formed with three integer ! 9: c constants and the arithmetic operator /. both positive and nega- ! 10: c tive constants are used in the arithmetic expression. ! 11: c ! 12: c there are tests which require no truncation of the result ! 13: c and tests where the result must be truncated before being stored ! 14: c in the resultant integer variable. the standard states 'the value ! 15: c of an integer factor or term is the nearest integer whose magni- ! 16: c tude does not exceed the magnitude of the mathematical value ! 17: c represented by that factor or term. the associative and commuta- ! 18: c tive laws do not apply in the evaluation of integer terms con- ! 19: c taining division, hence the evaluation of such terms must effec- ! 20: c tively proceed from left to right.' ! 21: c ! 22: c there are tests where the arithmetic expression contains ! 23: c (1) integer constant/integer constant/integer constant ! 24: c no truncation required ! 25: c (2) integer constant/integer constant/integer constant ! 26: c truncation required ! 27: c ! 28: c references ! 29: c american national standard programming language fortran, ! 30: c x3.9-1978 ! 31: c ! 32: c section 4.3, integer type ! 33: c section 4.3.1, integer constant ! 34: c section 6.1, arithmetic expressions ! 35: c section 6.6, evaluation of expressions ! 36: c section 10.1, arithmetic assignment statement ! 37: c ! 38: c ********************************************************** ! 39: c ! 40: c a compiler validation system for the fortran language ! 41: c based on specifications as defined in american national standard ! 42: c programming language fortran x3.9-1978, has been developed by the ! 43: c federal cobol compiler testing service. the fortran compiler ! 44: c validation system (fcvs) consists of audit routines, their related ! 45: c data, and an executive system. each audit routine is a fortran ! 46: c program, subprogram or function which includes tests of specific ! 47: c language elements and supporting procedures indicating the result ! 48: c of executing these tests. ! 49: c ! 50: c this particular program/subprogram/function contains features ! 51: c found only in the subset as defined in x3.9-1978. ! 52: c ! 53: c suggestions and comments should be forwarded to - ! 54: c ! 55: c department of the navy ! 56: c federal cobol compiler testing service ! 57: c washington, d.c. 20376 ! 58: c ! 59: c ********************************************************** ! 60: c ! 61: c ! 62: c ! 63: c initialization section ! 64: c ! 65: c initialize constants ! 66: c ************** ! 67: c i01 contains the logical unit number for the card reader. ! 68: i01 = 5 ! 69: c i02 contains the logical unit number for the printer. ! 70: i02 = 6 ! 71: c system environment section ! 72: c ! 73: cx010 this card is replaced by contents of fexec x-010 control card. ! 74: c the cx010 card is for overriding the program default i01 = 5 ! 75: c (unit number for card reader). ! 76: cx011 this card is replaced by contents of fexec x-011 control card. ! 77: c the cx011 card is for systems which require additional ! 78: c fortran statements for files associated with cx010 above. ! 79: c ! 80: cx020 this card is replaced by contents of fexec x-020 control card. ! 81: c the cx020 card is for overriding the program default i02 = 6 ! 82: c (unit number for printer). ! 83: cx021 this card is replaced by contents of fexec x-021 control card. ! 84: c the cx021 card is for systems which require additional ! 85: c fortran statements for files associated with cx020 above. ! 86: c ! 87: ivpass=0 ! 88: ivfail=0 ! 89: ivdele=0 ! 90: iczero=0 ! 91: c ! 92: c write page headers ! 93: write (i02,90000) ! 94: write (i02,90001) ! 95: write (i02,90002) ! 96: write (i02, 90002) ! 97: write (i02,90003) ! 98: write (i02,90002) ! 99: write (i02,90004) ! 100: write (i02,90002) ! 101: write (i02,90011) ! 102: write (i02,90002) ! 103: write (i02,90002) ! 104: write (i02,90005) ! 105: write (i02,90006) ! 106: write (i02,90002) ! 107: c ! 108: c test section ! 109: c ! 110: c arithmetic assignment statement ! 111: c ! 112: c test 491 through test 519 contain three integer constants and ! 113: c operator / in an arithmetic expression. the form tested is ! 114: c integer variable = integer constant/integer constant/int.con. ! 115: c ! 116: c ! 117: c test 491 through test 496 - positive integer constants ! 118: c no truncation required ! 119: c ! 120: 4911 continue ! 121: ivtnum = 491 ! 122: c ! 123: c **** test 491 **** ! 124: c ! 125: if (iczero) 34910, 4910, 34910 ! 126: 4910 continue ! 127: ivcomp = 24/3/4 ! 128: go to 44910 ! 129: 34910 ivdele = ivdele + 1 ! 130: write (i02,80003) ivtnum ! 131: if (iczero) 44910, 4921, 44910 ! 132: 44910 if (ivcomp - 2) 24910,14910,24910 ! 133: 14910 ivpass = ivpass + 1 ! 134: write (i02,80001) ivtnum ! 135: go to 4921 ! 136: 24910 ivfail = ivfail + 1 ! 137: ivcorr = 2 ! 138: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 139: 4921 continue ! 140: ivtnum = 492 ! 141: c ! 142: c **** test 492 **** ! 143: c ! 144: if (iczero) 34920, 4920, 34920 ! 145: 4920 continue ! 146: ivcomp = 330/3/2 ! 147: go to 44920 ! 148: 34920 ivdele = ivdele + 1 ! 149: write (i02,80003) ivtnum ! 150: if (iczero) 44920, 4931, 44920 ! 151: 44920 if (ivcomp - 55) 24920,14920,24920 ! 152: 14920 ivpass = ivpass + 1 ! 153: write (i02,80001) ivtnum ! 154: go to 4931 ! 155: 24920 ivfail = ivfail + 1 ! 156: ivcorr = 55 ! 157: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 158: 4931 continue ! 159: ivtnum = 493 ! 160: c ! 161: c **** test 493 **** ! 162: c ! 163: if (iczero) 34930, 4930, 34930 ! 164: 4930 continue ! 165: ivcomp = 15249/13/51 ! 166: go to 44930 ! 167: 34930 ivdele = ivdele + 1 ! 168: write (i02,80003) ivtnum ! 169: if (iczero) 44930, 4941, 44930 ! 170: 44930 if (ivcomp - 23) 24930,14930,24930 ! 171: 14930 ivpass = ivpass + 1 ! 172: write (i02,80001) ivtnum ! 173: go to 4941 ! 174: 24930 ivfail = ivfail + 1 ! 175: ivcorr = 23 ! 176: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 177: 4941 continue ! 178: ivtnum = 494 ! 179: c ! 180: c **** test 494 **** ! 181: c ! 182: if (iczero) 34940, 4940, 34940 ! 183: 4940 continue ! 184: ivcomp = 7150/2/25 ! 185: go to 44940 ! 186: 34940 ivdele = ivdele + 1 ! 187: write (i02,80003) ivtnum ! 188: if (iczero) 44940, 4951, 44940 ! 189: 44940 if (ivcomp - 143) 24940,14940,24940 ! 190: 14940 ivpass = ivpass + 1 ! 191: write (i02,80001) ivtnum ! 192: go to 4951 ! 193: 24940 ivfail = ivfail + 1 ! 194: ivcorr = 143 ! 195: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 196: 4951 continue ! 197: ivtnum = 495 ! 198: c ! 199: c **** test 495 **** ! 200: c ! 201: if (iczero) 34950, 4950, 34950 ! 202: 4950 continue ! 203: ivcomp = 32766/2/3 ! 204: go to 44950 ! 205: 34950 ivdele = ivdele + 1 ! 206: write (i02,80003) ivtnum ! 207: if (iczero) 44950, 4961, 44950 ! 208: 44950 if (ivcomp - 5461) 24950,14950,24950 ! 209: 14950 ivpass = ivpass + 1 ! 210: write (i02,80001) ivtnum ! 211: go to 4961 ! 212: 24950 ivfail = ivfail + 1 ! 213: ivcorr = 5461 ! 214: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 215: 4961 continue ! 216: ivtnum = 496 ! 217: c ! 218: c **** test 496 **** ! 219: c ! 220: if (iczero) 34960, 4960, 34960 ! 221: 4960 continue ! 222: ivcomp = 32766/1/1 ! 223: go to 44960 ! 224: 34960 ivdele = ivdele + 1 ! 225: write (i02,80003) ivtnum ! 226: if (iczero) 44960, 4971, 44960 ! 227: 44960 if (ivcomp - 32766) 24960,14960,24960 ! 228: 14960 ivpass = ivpass + 1 ! 229: write (i02,80001) ivtnum ! 230: go to 4971 ! 231: 24960 ivfail = ivfail + 1 ! 232: ivcorr = 32766 ! 233: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 234: c ! 235: c test 497 through test 502 - positive integer constants ! 236: c truncation required ! 237: c ! 238: 4971 continue ! 239: ivtnum = 497 ! 240: c ! 241: c **** test 497 **** ! 242: c ! 243: if (iczero) 34970, 4970, 34970 ! 244: 4970 continue ! 245: ivcomp = 24/3/3 ! 246: go to 44970 ! 247: 34970 ivdele = ivdele + 1 ! 248: write (i02,80003) ivtnum ! 249: if (iczero) 44970, 4981, 44970 ! 250: 44970 if (ivcomp -2) 24970,14970,24970 ! 251: 14970 ivpass = ivpass + 1 ! 252: write (i02,80001) ivtnum ! 253: go to 4981 ! 254: 24970 ivfail = ivfail + 1 ! 255: ivcorr = 2 ! 256: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 257: 4981 continue ! 258: ivtnum = 498 ! 259: c ! 260: c **** test 498 **** ! 261: c ! 262: if (iczero) 34980, 4980, 34980 ! 263: 4980 continue ! 264: ivcomp = 230/2/3 ! 265: go to 44980 ! 266: 34980 ivdele = ivdele + 1 ! 267: write (i02,80003) ivtnum ! 268: if (iczero) 44980, 4991, 44980 ! 269: 44980 if (ivcomp - 38) 24980,14980,24980 ! 270: 14980 ivpass = ivpass + 1 ! 271: write (i02,80001) ivtnum ! 272: go to 4991 ! 273: 24980 ivfail = ivfail + 1 ! 274: ivcorr = 38 ! 275: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 276: 4991 continue ! 277: ivtnum = 499 ! 278: c ! 279: c **** test 499 **** ! 280: c ! 281: if (iczero) 34990, 4990, 34990 ! 282: 4990 continue ! 283: ivcomp = 7151/3/10 ! 284: go to 44990 ! 285: 34990 ivdele = ivdele + 1 ! 286: write (i02,80003) ivtnum ! 287: if (iczero) 44990, 5001, 44990 ! 288: 44990 if (ivcomp - 238) 24990,14990,24990 ! 289: 14990 ivpass = ivpass + 1 ! 290: write (i02,80001) ivtnum ! 291: go to 5001 ! 292: 24990 ivfail = ivfail + 1 ! 293: ivcorr = 238 ! 294: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 295: 5001 continue ! 296: ivtnum = 500 ! 297: c ! 298: c **** test 500 **** ! 299: c ! 300: if (iczero) 35000, 5000, 35000 ! 301: 5000 continue ! 302: ivcomp = 15248/51/13 ! 303: go to 45000 ! 304: 35000 ivdele = ivdele + 1 ! 305: write (i02,80003) ivtnum ! 306: if (iczero) 45000, 5011, 45000 ! 307: 45000 if (ivcomp - 22) 25000,15000,25000 ! 308: 15000 ivpass = ivpass + 1 ! 309: write (i02,80001) ivtnum ! 310: go to 5011 ! 311: 25000 ivfail = ivfail + 1 ! 312: ivcorr = 22 ! 313: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 314: 5011 continue ! 315: ivtnum = 501 ! 316: c ! 317: c **** test 501 **** ! 318: c ! 319: if (iczero) 35010, 5010, 35010 ! 320: 5010 continue ! 321: ivcomp = 27342/4/3 ! 322: go to 45010 ! 323: 35010 ivdele = ivdele + 1 ! 324: write (i02,80003) ivtnum ! 325: if (iczero) 45010, 5021, 45010 ! 326: 45010 if (ivcomp - 2278) 25010,15010,25010 ! 327: 15010 ivpass = ivpass + 1 ! 328: write (i02,80001) ivtnum ! 329: go to 5021 ! 330: 25010 ivfail = ivfail + 1 ! 331: ivcorr = 2278 ! 332: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 333: 5021 continue ! 334: ivtnum = 502 ! 335: c ! 336: c **** test 502 **** ! 337: c ! 338: if (iczero) 35020, 5020, 35020 ! 339: 5020 continue ! 340: ivcomp = 32767/2/1 ! 341: go to 45020 ! 342: 35020 ivdele = ivdele + 1 ! 343: write (i02,80003) ivtnum ! 344: if (iczero) 45020, 5031, 45020 ! 345: 45020 if (ivcomp - 16383) 25020,15020,25020 ! 346: 15020 ivpass = ivpass + 1 ! 347: write (i02,80001) ivtnum ! 348: go to 5031 ! 349: 25020 ivfail = ivfail + 1 ! 350: ivcorr = 16383 ! 351: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 352: c ! 353: c test 503 through test 507 - negative integer constants included ! 354: c no truncation required ! 355: c ! 356: 5031 continue ! 357: ivtnum = 503 ! 358: c ! 359: c **** test 503 **** ! 360: c ! 361: if (iczero) 35030, 5030, 35030 ! 362: 5030 continue ! 363: ivcomp = -24/3/4 ! 364: go to 45030 ! 365: 35030 ivdele = ivdele + 1 ! 366: write (i02,80003) ivtnum ! 367: if (iczero) 45030, 5041, 45030 ! 368: 45030 if (ivcomp +2) 25030,15030,25030 ! 369: 15030 ivpass = ivpass + 1 ! 370: write (i02,80001) ivtnum ! 371: go to 5041 ! 372: 25030 ivfail = ivfail + 1 ! 373: ivcorr = -2 ! 374: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 375: 5041 continue ! 376: ivtnum = 504 ! 377: c ! 378: c **** test 504 **** ! 379: c ! 380: if (iczero) 35040, 5040, 35040 ! 381: 5040 continue ! 382: ivcomp = 330/(-3)/2 ! 383: go to 45040 ! 384: 35040 ivdele = ivdele + 1 ! 385: write (i02,80003) ivtnum ! 386: if (iczero) 45040, 5051, 45040 ! 387: 45040 if (ivcomp + 55) 25040,15040,25040 ! 388: 15040 ivpass = ivpass + 1 ! 389: write (i02,80001) ivtnum ! 390: go to 5051 ! 391: 25040 ivfail = ivfail + 1 ! 392: ivcorr = -55 ! 393: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 394: 5051 continue ! 395: ivtnum = 505 ! 396: c ! 397: c **** test 505 **** ! 398: c ! 399: if (iczero) 35050, 5050, 35050 ! 400: 5050 continue ! 401: ivcomp = 15249/(-13)/(-51) ! 402: go to 45050 ! 403: 35050 ivdele = ivdele + 1 ! 404: write (i02,80003) ivtnum ! 405: if (iczero) 45050, 5061, 45050 ! 406: 45050 if (ivcomp - 23) 25050,15050,25050 ! 407: 15050 ivpass = ivpass + 1 ! 408: write (i02,80001) ivtnum ! 409: go to 5061 ! 410: 25050 ivfail = ivfail + 1 ! 411: ivcorr = 23 ! 412: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 413: 5061 continue ! 414: ivtnum = 506 ! 415: c ! 416: c **** test 506 **** ! 417: c ! 418: if (iczero) 35060, 5060, 35060 ! 419: 5060 continue ! 420: ivcomp = -7150/(-2)/(-25) ! 421: go to 45060 ! 422: 35060 ivdele = ivdele + 1 ! 423: write (i02,80003) ivtnum ! 424: if (iczero) 45060, 5071, 45060 ! 425: 45060 if (ivcomp + 143) 25060,15060,25060 ! 426: 15060 ivpass = ivpass + 1 ! 427: write (i02,80001) ivtnum ! 428: go to 5071 ! 429: 25060 ivfail = ivfail + 1 ! 430: ivcorr = -143 ! 431: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 432: 5071 continue ! 433: ivtnum = 507 ! 434: c ! 435: c **** test 507 **** ! 436: c ! 437: if (iczero) 35070, 5070, 35070 ! 438: 5070 continue ! 439: ivcomp = (-32766)/(-2)/(-3) ! 440: go to 45070 ! 441: 35070 ivdele = ivdele + 1 ! 442: write (i02,80003) ivtnum ! 443: if (iczero) 45070, 5081, 45070 ! 444: 45070 if (ivcomp + 5461) 25070,15070,25070 ! 445: 15070 ivpass = ivpass + 1 ! 446: write (i02,80001) ivtnum ! 447: go to 5081 ! 448: 25070 ivfail = ivfail + 1 ! 449: ivcorr = -5461 ! 450: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 451: c ! 452: c test 508 through test 513 - negative integer constants included ! 453: c truncation required ! 454: c ! 455: 5081 continue ! 456: ivtnum = 508 ! 457: c ! 458: c **** test 508 **** ! 459: c ! 460: if (iczero) 35080, 5080, 35080 ! 461: 5080 continue ! 462: ivcomp = -24/3/3 ! 463: go to 45080 ! 464: 35080 ivdele = ivdele + 1 ! 465: write (i02,80003) ivtnum ! 466: if (iczero) 45080, 5091, 45080 ! 467: 45080 if (ivcomp + 2) 25080,15080,25080 ! 468: 15080 ivpass = ivpass + 1 ! 469: write (i02,80001) ivtnum ! 470: go to 5091 ! 471: 25080 ivfail = ivfail + 1 ! 472: ivcorr = -2 ! 473: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 474: 5091 continue ! 475: ivtnum = 509 ! 476: c ! 477: c **** test 509 **** ! 478: c ! 479: if (iczero) 35090, 5090, 35090 ! 480: 5090 continue ! 481: ivcomp = 230/(-2)/3 ! 482: go to 45090 ! 483: 35090 ivdele = ivdele + 1 ! 484: write (i02,80003) ivtnum ! 485: if (iczero) 45090, 5101, 45090 ! 486: 45090 if (ivcomp + 38) 25090,15090,25090 ! 487: 15090 ivpass = ivpass + 1 ! 488: write (i02,80001) ivtnum ! 489: go to 5101 ! 490: 25090 ivfail = ivfail + 1 ! 491: ivcorr = -38 ! 492: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 493: 5101 continue ! 494: ivtnum = 510 ! 495: c ! 496: c **** test 510 **** ! 497: c ! 498: if (iczero) 35100, 5100, 35100 ! 499: 5100 continue ! 500: ivcomp = 7151/(-3)/(-10) ! 501: go to 45100 ! 502: 35100 ivdele = ivdele + 1 ! 503: write (i02,80003) ivtnum ! 504: if (iczero) 45100, 5111, 45100 ! 505: 45100 if (ivcomp - 238) 25100,15100,25100 ! 506: 15100 ivpass = ivpass + 1 ! 507: write (i02,80001) ivtnum ! 508: go to 5111 ! 509: 25100 ivfail = ivfail + 1 ! 510: ivcorr = 238 ! 511: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 512: 5111 continue ! 513: ivtnum = 511 ! 514: c ! 515: c **** test 511 **** ! 516: c ! 517: if (iczero) 35110, 5110, 35110 ! 518: 5110 continue ! 519: ivcomp = -15248/(-51)/(-13) ! 520: go to 45110 ! 521: 35110 ivdele = ivdele + 1 ! 522: write (i02,80003) ivtnum ! 523: if (iczero) 45110, 5121, 45110 ! 524: 45110 if (ivcomp + 22) 25110,15110,25110 ! 525: 15110 ivpass = ivpass + 1 ! 526: write (i02,80001) ivtnum ! 527: go to 5121 ! 528: 25110 ivfail = ivfail + 1 ! 529: ivcorr = -22 ! 530: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 531: 5121 continue ! 532: ivtnum = 512 ! 533: c ! 534: c **** test 512 **** ! 535: c ! 536: if (iczero) 35120, 5120, 35120 ! 537: 5120 continue ! 538: ivcomp = (-27342)/(-4)/(-3) ! 539: go to 45120 ! 540: 35120 ivdele = ivdele + 1 ! 541: write (i02,80003) ivtnum ! 542: if (iczero) 45120, 5131, 45120 ! 543: 45120 if (ivcomp + 2278) 25120,15120,25120 ! 544: 15120 ivpass = ivpass + 1 ! 545: write (i02,80001) ivtnum ! 546: go to 5131 ! 547: 25120 ivfail = ivfail + 1 ! 548: ivcorr = -2278 ! 549: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 550: 5131 continue ! 551: ivtnum = 513 ! 552: c ! 553: c **** test 513 **** ! 554: c ! 555: if (iczero) 35130, 5130, 35130 ! 556: 5130 continue ! 557: ivcomp = 32767/2/(-1) ! 558: go to 45130 ! 559: 35130 ivdele = ivdele + 1 ! 560: write (i02,80003) ivtnum ! 561: if (iczero) 45130, 5141, 45130 ! 562: 45130 if (ivcomp + 16383) 25130,15130,25130 ! 563: 15130 ivpass = ivpass + 1 ! 564: write (i02,80001) ivtnum ! 565: go to 5141 ! 566: 25130 ivfail = ivfail + 1 ! 567: ivcorr = -16383 ! 568: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 569: c ! 570: c test 514 through test 519 - positive and negative signed integer ! 571: c constants in arithmetic expression. ! 572: c ! 573: 5141 continue ! 574: ivtnum = 514 ! 575: c ! 576: c **** test 514 **** ! 577: c ! 578: if (iczero) 35140, 5140, 35140 ! 579: 5140 continue ! 580: ivcomp = +24/(-3)/4 ! 581: go to 45140 ! 582: 35140 ivdele = ivdele + 1 ! 583: write (i02,80003) ivtnum ! 584: if (iczero) 45140, 5151, 45140 ! 585: 45140 if (ivcomp +2) 25140,15140,25140 ! 586: 15140 ivpass = ivpass + 1 ! 587: write (i02,80001) ivtnum ! 588: go to 5151 ! 589: 25140 ivfail = ivfail + 1 ! 590: ivcorr = -2 ! 591: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 592: 5151 continue ! 593: ivtnum = 515 ! 594: c ! 595: c **** test 515 **** ! 596: c ! 597: if (iczero) 35150, 5150, 35150 ! 598: 5150 continue ! 599: ivcomp = 24/(+3)/(-4) ! 600: go to 45150 ! 601: 35150 ivdele = ivdele + 1 ! 602: write (i02,80003) ivtnum ! 603: if (iczero) 45150, 5161, 45150 ! 604: 45150 if (ivcomp +2) 25150,15150,25150 ! 605: 15150 ivpass = ivpass + 1 ! 606: write (i02,80001) ivtnum ! 607: go to 5161 ! 608: 25150 ivfail = ivfail + 1 ! 609: ivcorr = -2 ! 610: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 611: 5161 continue ! 612: ivtnum = 516 ! 613: c ! 614: c **** test 516 **** ! 615: c ! 616: if (iczero) 35160, 5160, 35160 ! 617: 5160 continue ! 618: ivcomp = -24/(-3)/(+4) ! 619: go to 45160 ! 620: 35160 ivdele = ivdele + 1 ! 621: write (i02,80003) ivtnum ! 622: if (iczero) 45160, 5171, 45160 ! 623: 45160 if (ivcomp -2) 25160,15160,25160 ! 624: 15160 ivpass = ivpass + 1 ! 625: write (i02,80001) ivtnum ! 626: go to 5171 ! 627: 25160 ivfail = ivfail + 1 ! 628: ivcorr = 2 ! 629: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 630: 5171 continue ! 631: ivtnum = 517 ! 632: c ! 633: c **** test 517 **** ! 634: c ! 635: if (iczero) 35170, 5170, 35170 ! 636: 5170 continue ! 637: ivcomp = -16811/(-16812)/(+1) ! 638: go to 45170 ! 639: 35170 ivdele = ivdele + 1 ! 640: write (i02,80003) ivtnum ! 641: if (iczero) 45170, 5181, 45170 ! 642: 45170 if (ivcomp - 0) 25170,15170,25170 ! 643: 15170 ivpass = ivpass + 1 ! 644: write (i02,80001) ivtnum ! 645: go to 5181 ! 646: 25170 ivfail = ivfail + 1 ! 647: ivcorr = 0 ! 648: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 649: 5181 continue ! 650: ivtnum = 518 ! 651: c ! 652: c **** test 518 **** ! 653: c ! 654: if (iczero) 35180, 5180, 35180 ! 655: 5180 continue ! 656: ivcomp = (-16811) / (+16811) / (+1) ! 657: go to 45180 ! 658: 35180 ivdele = ivdele + 1 ! 659: write (i02,80003) ivtnum ! 660: if (iczero) 45180, 5191, 45180 ! 661: 45180 if (ivcomp +1) 25180,15180,25180 ! 662: 15180 ivpass = ivpass + 1 ! 663: write (i02,80001) ivtnum ! 664: go to 5191 ! 665: 25180 ivfail = ivfail + 1 ! 666: ivcorr = -1 ! 667: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 668: 5191 continue ! 669: ivtnum = 519 ! 670: c ! 671: c **** test 519 **** ! 672: c ! 673: if (iczero) 35190, 5190, 35190 ! 674: 5190 continue ! 675: ivcomp = (-335)/(+168)/(+1) ! 676: go to 45190 ! 677: 35190 ivdele = ivdele + 1 ! 678: write (i02,80003) ivtnum ! 679: if (iczero) 45190, 5201, 45190 ! 680: 45190 if (ivcomp + 1) 25190,15190,25190 ! 681: 15190 ivpass = ivpass + 1 ! 682: write (i02,80001) ivtnum ! 683: go to 5201 ! 684: 25190 ivfail = ivfail + 1 ! 685: ivcorr = -1 ! 686: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 687: c **** end of tests **** ! 688: 5201 continue ! 689: c ! 690: c write page footings and run summaries ! 691: 99999 continue ! 692: write (i02,90002) ! 693: write (i02,90006) ! 694: write (i02,90002) ! 695: write (i02,90002) ! 696: write (i02,90007) ! 697: write (i02,90002) ! 698: write (i02,90008) ivfail ! 699: write (i02,90009) ivpass ! 700: write (i02,90010) ivdele ! 701: c ! 702: c ! 703: c terminate routine execution ! 704: stop ! 705: c ! 706: c format statements for page headers ! 707: 90000 format (1h1) ! 708: 90002 format (1h ) ! 709: 90001 format (1h ,10x,34hfortran compiler validation system) ! 710: 90003 format (1h ,21x,11hversion 1.0) ! 711: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 712: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 713: 90006 format (1h ,5x,46h----------------------------------------------) ! 714: 90011 format (1h ,18x,17hsubset level test) ! 715: c ! 716: c format statements for run summaries ! 717: 90008 format (1h ,15x,i5,19h errors encountered) ! 718: 90009 format (1h ,15x,i5,13h tests passed) ! 719: 90010 format (1h ,15x,i5,14h tests deleted) ! 720: c ! 721: c format statements for test results ! 722: 80001 format (1h ,4x,i5,7x,4hpass) ! 723: 80002 format (1h ,4x,i5,7x,4hfail) ! 724: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 725: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 726: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 727: c ! 728: 90007 format (1h ,20x,20hend of program fm037) ! 729: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.