1c comment section. 2c 3c fm030 4c 5c this routine tests arithmetic assignment statements of the 6c form 7c integer variable = arithmetic expression 8c where the arithmetic expression is formed with the arithmetic 9c operator -, integer constants and integer variables. 10c some of the tests use parentheses to group elements in the 11c arithmetic expression. 12c 13c there are tests where the arithmetic expression contains 14c (1) integer constant - integer constant 15c (2) integer constant - integer constant - integer constant 16c (3) same as (2) but with parentheses to group elements 17c (4) integer variable - integer constant 18c integer constant - integer variable 19c 20c references 21c american national standard programming language fortran, 22c x3.9-1978 23c 24c section 4.3, integer type 25c section 4.3.1, integer constant 26c section 6.1, arithmetic expressions 27c section 10.1, arithmetic assignment statement 28c 29c 30c ********************************************************** 31c 32c a compiler validation system for the fortran language 33c based on specifications as defined in american national standard 34c programming language fortran x3.9-1978, has been developed by the 35c federal cobol compiler testing service. the fortran compiler 36c validation system (fcvs) consists of audit routines, their related 37c data, and an executive system. each audit routine is a fortran 38c program, subprogram or function which includes tests of specific 39c language elements and supporting procedures indicating the result 40c of executing these tests. 41c 42c this particular program/subprogram/function contains features 43c found only in the subset as defined in x3.9-1978. 44c 45c suggestions and comments should be forwarded to - 46c 47c department of the navy 48c federal cobol compiler testing service 49c washington, d.c. 20376 50c 51c ********************************************************** 52c 53c 54c 55c initialization section 56c 57c initialize constants 58c ************** 59c i01 contains the logical unit number for the card reader. 60 i01 = 5 61c i02 contains the logical unit number for the printer. 62 i02 = 6 63c system environment section 64c 65cx010 this card is replaced by contents of fexec x-010 control card. 66c the cx010 card is for overriding the program default i01 = 5 67c (unit number for card reader). 68cx011 this card is replaced by contents of fexec x-011 control card. 69c the cx011 card is for systems which require additional 70c fortran statements for files associated with cx010 above. 71c 72cx020 this card is replaced by contents of fexec x-020 control card. 73c the cx020 card is for overriding the program default i02 = 6 74c (unit number for printer). 75cx021 this card is replaced by contents of fexec x-021 control card. 76c the cx021 card is for systems which require additional 77c fortran statements for files associated with cx020 above. 78c 79 ivpass=0 80 ivfail=0 81 ivdele=0 82 iczero=0 83c 84c write page headers 85 write (i02,90000) 86 write (i02,90001) 87 write (i02,90002) 88 write (i02, 90002) 89 write (i02,90003) 90 write (i02,90002) 91 write (i02,90004) 92 write (i02,90002) 93 write (i02,90011) 94 write (i02,90002) 95 write (i02,90002) 96 write (i02,90005) 97 write (i02,90006) 98 write (i02,90002) 99c test section 100c 101c arithmetic assignment statement 102c 103c test 265 through test 270 contain two integer constants and 104c operator - in an arithmetic expression. the form tested is 105c integer variable = integer constant - integer constant 106c 107 2651 continue 108 ivtnum = 265 109c 110c **** test 265 **** 111c 112 if (iczero) 32650, 2650, 32650 113 2650 continue 114 ivcomp = 3-2 115 go to 42650 11632650 ivdele = ivdele + 1 117 write (i02,80003) ivtnum 118 if (iczero) 42650, 2661, 42650 11942650 if (ivcomp - 1) 22650,12650,22650 12012650 ivpass = ivpass + 1 121 write (i02,80001) ivtnum 122 go to 2661 12322650 ivfail = ivfail + 1 124 ivcorr = 1 125 write (i02,80004) ivtnum, ivcomp ,ivcorr 126 2661 continue 127 ivtnum = 266 128c 129c **** test 266 **** 130c 131 if (iczero) 32660, 2660, 32660 132 2660 continue 133 ivcomp = 51 - 52 134 go to 42660 13532660 ivdele = ivdele + 1 136 write (i02,80003) ivtnum 137 if (iczero) 42660, 2671, 42660 13842660 if (ivcomp +1) 22660,12660,22660 13912660 ivpass = ivpass + 1 140 write (i02,80001) ivtnum 141 go to 2671 14222660 ivfail = ivfail + 1 143 ivcorr = -1 144 write (i02,80004) ivtnum, ivcomp ,ivcorr 145 2671 continue 146 ivtnum = 267 147c 148c **** test 267 *** 149c 150 if (iczero) 32670, 2670, 32670 151 2670 continue 152 ivcomp = 865 - 189 153 go to 42670 15432670 ivdele = ivdele + 1 155 write (i02,80003) ivtnum 156 if (iczero) 42670, 2681, 42670 15742670 if (ivcomp -676) 22670,12670,22670 15812670 ivpass = ivpass + 1 159 write (i02,80001) ivtnum 160 go to 2681 16122670 ivfail = ivfail + 1 162 ivcorr = 676 163 write (i02,80004) ivtnum, ivcomp ,ivcorr 164 2681 continue 165 ivtnum = 268 166c 167c **** test 268 **** 168c 169 if (iczero) 32680, 2680, 32680 170 2680 continue 171 ivcomp =1358-9359 172 go to 42680 17332680 ivdele = ivdele + 1 174 write (i02,80003) ivtnum 175 if (iczero) 42680, 2691, 42680 17642680 if (ivcomp+8001) 22680,12680,22680 17712680 ivpass = ivpass + 1 178 write (i02,80001) ivtnum 179 go to 2691 18022680 ivfail = ivfail + 1 181 ivcorr = -8001 182 write (i02,80004) ivtnum, ivcomp ,ivcorr 183 2691 continue 184 ivtnum = 269 185c 186c **** test 269 **** 187c 188 if (iczero) 32690, 2690, 32690 189 2690 continue 190 ivcomp =21113-10001 191 go to 42690 19232690 ivdele = ivdele + 1 193 write (i02,80003) ivtnum 194 if (iczero) 42690, 2701, 42690 19542690 if (ivcomp-11112) 22690,12690,22690 19612690 ivpass = ivpass + 1 197 write (i02,80001) ivtnum 198 go to 2701 19922690 ivfail = ivfail + 1 200 ivcorr=11112 201 write (i02,80004) ivtnum, ivcomp ,ivcorr 202 2701 continue 203 ivtnum = 270 204c 205c **** test 270 **** 206c 207 if (iczero) 32700, 2700, 32700 208 2700 continue 209 ivcomp = 32767-1 210 go to 42700 21132700 ivdele = ivdele + 1 212 write (i02,80003) ivtnum 213 if (iczero) 42700, 2711, 42700 21442700 if (ivcomp -32766) 22700,12700,22700 21512700 ivpass = ivpass + 1 216 write (i02,80001) ivtnum 217 go to 2711 21822700 ivfail = ivfail + 1 219 ivcorr = 32766 220 write (i02,80004) ivtnum, ivcomp ,ivcorr 221c 222c test 271 through test 274 contain three integer constants 223c and operator - in an arithmetic expression. the form tested is 224c iv = ic - ic - ic 225c 226 2711 continue 227 ivtnum = 271 228c 229c **** test 271 **** 230c 231 if (iczero) 32710, 2710, 32710 232 2710 continue 233 ivcomp=9-4-3 234 go to 42710 23532710 ivdele = ivdele + 1 236 write (i02,80003) ivtnum 237 if (iczero) 42710, 2721, 42710 23842710 if (ivcomp -2) 22710,12710,22710 23912710 ivpass = ivpass + 1 240 write (i02,80001) ivtnum 241 go to 2721 24222710 ivfail = ivfail + 1 243 ivcorr =2 244 write (i02,80004) ivtnum, ivcomp ,ivcorr 245 2721 continue 246 ivtnum = 272 247c 248c **** test 272 **** 249c 250 if (iczero) 32720, 2720, 32720 251 2720 continue 252 ivcomp = 51-52-53 253 go to 42720 25432720 ivdele = ivdele + 1 255 write (i02,80003) ivtnum 256 if (iczero) 42720, 2731, 42720 25742720 if (ivcomp +54) 22720,12720,22720 25812720 ivpass = ivpass + 1 259 write (i02,80001) ivtnum 260 go to 2731 26122720 ivfail = ivfail + 1 262 ivcorr = -54 263 write (i02,80004) ivtnum, ivcomp ,ivcorr 264 2731 continue 265 ivtnum = 273 266c 267c **** test 273 **** 268c 269 if (iczero) 32730, 2730, 32730 270 2730 continue 271 ivcomp = 966 -676 -189 272 go to 42730 27332730 ivdele = ivdele + 1 274 write (i02,80003) ivtnum 275 if (iczero) 42730, 2741, 42730 27642730 if (ivcomp -101) 22730,12730,22730 27712730 ivpass = ivpass + 1 278 write (i02,80001) ivtnum 279 go to 2741 28022730 ivfail = ivfail + 1 281 ivcorr = 101 282 write (i02,80004) ivtnum, ivcomp ,ivcorr 283 2741 continue 284 ivtnum = 274 285c 286c **** test 274 **** 287c 288 if (iczero) 32740, 2740, 32740 289 2740 continue 290 ivcomp = 1358-8001-2188 291 go to 42740 29232740 ivdele = ivdele + 1 293 write (i02,80003) ivtnum 294 if (iczero) 42740, 2751, 42740 29542740 if (ivcomp + 8831) 22740,12740,22740 29612740 ivpass = ivpass + 1 297 write (i02,80001) ivtnum 298 go to 2751 29922740 ivfail = ivfail + 1 300 ivcorr = -8831 301 write (i02,80004) ivtnum, ivcomp ,ivcorr 302c 303c test 275 through test 282 are the same as tests 271-274 except 304c parentheses are used to group the constants. 305c 306 2751 continue 307 ivtnum = 275 308c 309c **** test 275 **** 310c 311 if (iczero) 32750, 2750, 32750 312 2750 continue 313 ivcomp =(9-4)-3 314 go to 42750 31532750 ivdele = ivdele + 1 316 write (i02,80003) ivtnum 317 if (iczero) 42750, 2761, 42750 31842750 if (ivcomp -2) 22750,12750,22750 31912750 ivpass = ivpass + 1 320 write (i02,80001) ivtnum 321 go to 2761 32222750 ivfail = ivfail + 1 323 ivcorr = 2 324 write (i02,80004) ivtnum, ivcomp ,ivcorr 325 2761 continue 326 ivtnum = 276 327c 328c **** test 276 **** 329c 330 if (iczero) 32760, 2760, 32760 331 2760 continue 332 ivcomp =9-(4-3) 333 go to 42760 33432760 ivdele = ivdele + 1 335 write (i02,80003) ivtnum 336 if (iczero) 42760, 2771, 42760 33742760 if (ivcomp -8) 22760,12760,22760 33812760 ivpass = ivpass + 1 339 write (i02,80001) ivtnum 340 go to 2771 34122760 ivfail = ivfail + 1 342 ivcorr =8 343 write (i02,80004) ivtnum, ivcomp ,ivcorr 344 2771 continue 345 ivtnum = 277 346c 347c **** test 277 **** 348c 349 if (iczero) 32770, 2770, 32770 350 2770 continue 351 ivcomp =(51-52)-53 352 go to 42770 35332770 ivdele = ivdele + 1 354 write (i02,80003) ivtnum 355 if (iczero) 42770, 2781, 42770 35642770 if (ivcomp +54) 22770,12770,22770 35712770 ivpass = ivpass + 1 358 write (i02,80001) ivtnum 359 go to 2781 36022770 ivfail = ivfail + 1 361 ivcorr = -54 362 write (i02,80004) ivtnum, ivcomp ,ivcorr 363 2781 continue 364 ivtnum = 278 365c 366c **** test 278 **** 367c 368 if (iczero) 32780, 2780, 32780 369 2780 continue 370 ivcomp=51-(52-53) 371 go to 42780 37232780 ivdele = ivdele + 1 373 write (i02,80003) ivtnum 374 if (iczero) 42780, 2791, 42780 37542780 if (ivcomp-52) 22780,12780,22780 37612780 ivpass = ivpass + 1 377 write (i02,80001) ivtnum 378 go to 2791 37922780 ivfail = ivfail + 1 380 ivcorr = 52 381 write (i02,80004) ivtnum, ivcomp ,ivcorr 382 2791 continue 383 ivtnum = 279 384c 385c **** test 279 **** 386c 387 if (iczero) 32790, 2790, 32790 388 2790 continue 389 ivcomp =(966-676)-189 390 go to 42790 39132790 ivdele = ivdele + 1 392 write (i02,80003) ivtnum 393 if (iczero) 42790, 2801, 42790 39442790 if (ivcomp - 101) 22790,12790,22790 39512790 ivpass = ivpass + 1 396 write (i02,80001) ivtnum 397 go to 2801 39822790 ivfail = ivfail + 1 399 ivcorr = 101 400 write (i02,80004) ivtnum, ivcomp ,ivcorr 401 2801 continue 402 ivtnum = 280 403c 404c **** test 280 **** 405c 406 if (iczero) 32800, 2800, 32800 407 2800 continue 408 ivcomp =966-(676-189) 409 go to 42800 41032800 ivdele = ivdele + 1 411 write (i02,80003) ivtnum 412 if (iczero) 42800, 2811, 42800 41342800 if (ivcomp - 479) 22800,12800,22800 41412800 ivpass = ivpass + 1 415 write (i02,80001) ivtnum 416 go to 2811 41722800 ivfail = ivfail + 1 418 ivcorr = 479 419 write (i02,80004) ivtnum, ivcomp ,ivcorr 420 2811 continue 421 ivtnum = 281 422c 423c **** test 281 **** 424c 425 if (iczero) 32810, 2810, 32810 426 2810 continue 427 ivcomp = (1358-8001)-2188 428 go to 42810 42932810 ivdele = ivdele + 1 430 write (i02,80003) ivtnum 431 if (iczero) 42810, 2821, 42810 43242810 if (ivcomp + 8831) 22810,12810,22810 43312810 ivpass = ivpass + 1 434 write (i02,80001) ivtnum 435 go to 2821 43622810 ivfail = ivfail + 1 437 ivcorr = -8831 438 write (i02,80004) ivtnum, ivcomp ,ivcorr 439 2821 continue 440 ivtnum = 282 441c 442c **** test 282 **** 443c 444 if (iczero) 32820, 2820, 32820 445 2820 continue 446 ivcomp = 1358-(8001-2188) 447 go to 42820 44832820 ivdele = ivdele + 1 449 write (i02,80003) ivtnum 450 if (iczero) 42820, 2831, 42820 45142820 if (ivcomp + 4455) 22820,12820,22820 45212820 ivpass = ivpass + 1 453 write (i02,80001) ivtnum 454 go to 2831 45522820 ivfail = ivfail + 1 456 ivcorr = -4455 457 write (i02,80004) ivtnum, ivcomp ,ivcorr 458c 459c test 283 through test 299 contain integer variable, integer 460c constant and operator - in arithmetic expression. the integer 461c variable contains both positive and negative values. 462c the forms tested are 463c integer variable = integer variable - integer constant 464c integer variable = integer constant - integer variable 465c 466 2831 continue 467 ivtnum = 283 468c 469c **** test 283 **** 470c 471 if (iczero) 32830, 2830, 32830 472 2830 continue 473 ivon01 = 3 474 ivcomp = ivon01 - 2 475 go to 42830 47632830 ivdele = ivdele + 1 477 write (i02,80003) ivtnum 478 if (iczero) 42830, 2841, 42830 47942830 if (ivcomp - 1) 22830,12830,22830 48012830 ivpass = ivpass + 1 481 write (i02,80001) ivtnum 482 go to 2841 48322830 ivfail = ivfail + 1 484 ivcorr = 1 485 write (i02,80004) ivtnum, ivcomp ,ivcorr 486 2841 continue 487 ivtnum = 284 488c 489c **** test 284 **** 490c 491 if (iczero) 32840, 2840, 32840 492 2840 continue 493 ivon01 = 2 494 ivcomp = ivon01 -3 495 go to 42840 49632840 ivdele = ivdele + 1 497 write (i02,80003) ivtnum 498 if (iczero) 42840, 2851, 42840 49942840 if (ivcomp +1) 22840,12840,22840 50012840 ivpass = ivpass + 1 501 write (i02,80001) ivtnum 502 go to 2851 50322840 ivfail = ivfail + 1 504 ivcorr = -1 505 write (i02,80004) ivtnum, ivcomp ,ivcorr 506 2851 continue 507 ivtnum = 285 508c 509c **** test 285 **** 510c 511 if (iczero) 32850, 2850, 32850 512 2850 continue 513 ivon01 =-3 514 ivcomp = ivon01 -2 515 go to 42850 51632850 ivdele = ivdele + 1 517 write (i02,80003) ivtnum 518 if (iczero) 42850, 2861, 42850 51942850 if (ivcomp +5) 22850,12850,22850 52012850 ivpass = ivpass + 1 521 write (i02,80001) ivtnum 522 go to 2861 52322850 ivfail = ivfail + 1 524 ivcorr =-5 525 write (i02,80004) ivtnum, ivcomp ,ivcorr 526 2861 continue 527 ivtnum = 286 528c 529c **** test 286 **** 530c 531 if (iczero) 32860, 2860, 32860 532 2860 continue 533 ivon02 =2 534 ivcomp = 3 - ivon02 535 go to 42860 53632860 ivdele = ivdele + 1 537 write (i02,80003) ivtnum 538 if (iczero) 42860, 2871, 42860 53942860 if (ivcomp -1) 22860,12860,22860 54012860 ivpass = ivpass + 1 541 write (i02,80001) ivtnum 542 go to 2871 54322860 ivfail = ivfail + 1 544 ivcorr = 1 545 write (i02,80004) ivtnum, ivcomp ,ivcorr 546 2871 continue 547 ivtnum = 287 548c 549c **** test 287 **** 550c 551 if (iczero) 32870, 2870, 32870 552 2870 continue 553 ivon02 =3 554 ivcomp = 2 -ivon02 555 go to 42870 55632870 ivdele = ivdele + 1 557 write (i02,80003) ivtnum 558 if (iczero) 42870, 2881, 42870 55942870 if (ivcomp +1) 22870,12870,22870 56012870 ivpass = ivpass + 1 561 write (i02,80001) ivtnum 562 go to 2881 56322870 ivfail = ivfail + 1 564 ivcorr =-1 565 write (i02,80004) ivtnum, ivcomp ,ivcorr 566 2881 continue 567 ivtnum = 288 568c 569c **** test 288 **** 570c 571 if (iczero) 32880, 2880, 32880 572 2880 continue 573 ivon02 = -2 574 ivcomp = 3 - ivon02 575 go to 42880 57632880 ivdele = ivdele + 1 577 write (i02,80003) ivtnum 578 if (iczero) 42880, 2891, 42880 57942880 if (ivcomp -5) 22880,12880,22880 58012880 ivpass = ivpass + 1 581 write (i02,80001) ivtnum 582 go to 2891 58322880 ivfail = ivfail + 1 584 ivcorr =5 585 write (i02,80004) ivtnum, ivcomp ,ivcorr 586 2891 continue 587 ivtnum = 289 588c 589c **** test 289 **** 590c 591 if (iczero) 32890, 2890, 32890 592 2890 continue 593 ivon01 =51 594 ivcomp = ivon01 - 52 595 go to 42890 59632890 ivdele = ivdele + 1 597 write (i02,80003) ivtnum 598 if (iczero) 42890, 2901, 42890 59942890 if (ivcomp + 1) 22890,12890,22890 60012890 ivpass = ivpass + 1 601 write (i02,80001) ivtnum 602 go to 2901 60322890 ivfail = ivfail + 1 604 ivcorr = -1 605 write (i02,80004) ivtnum, ivcomp ,ivcorr 606 2901 continue 607 ivtnum = 290 608c 609c **** test 290 **** 610c 611 if (iczero) 32900, 2900, 32900 612 2900 continue 613 ivon01 =51 614 ivcomp = ivon01 -51 615 go to 42900 61632900 ivdele = ivdele + 1 617 write (i02,80003) ivtnum 618 if (iczero) 42900, 2911, 42900 61942900 if (ivcomp) 22900,12900,22900 62012900 ivpass = ivpass + 1 621 write (i02,80001) ivtnum 622 go to 2911 62322900 ivfail = ivfail + 1 624 ivcorr =0 625 write (i02,80004) ivtnum, ivcomp ,ivcorr 626 2911 continue 627 ivtnum = 291 628c 629c **** test 291 **** 630c 631 if (iczero) 32910, 2910, 32910 632 2910 continue 633 ivon01 =53 634 ivcomp =ivon01 -52 635 go to 42910 63632910 ivdele = ivdele + 1 637 write (i02,80003) ivtnum 638 if (iczero) 42910, 2921, 42910 63942910 if (ivcomp -1) 22910,12910,22910 64012910 ivpass = ivpass + 1 641 write (i02,80001) ivtnum 642 go to 2921 64322910 ivfail = ivfail + 1 644 ivcorr = 1 645 write (i02,80004) ivtnum, ivcomp ,ivcorr 646 2921 continue 647 ivtnum = 292 648c 649c **** test 292 **** 650c 651 if (iczero) 32920, 2920, 32920 652 2920 continue 653 ivon02 = 676 654 ivcomp = 189 - ivon02 655 go to 42920 65632920 ivdele = ivdele + 1 657 write (i02,80003) ivtnum 658 if (iczero) 42920, 2931, 42920 65942920 if (ivcomp + 487) 22920,12920,22920 66012920 ivpass = ivpass + 1 661 write (i02,80001) ivtnum 662 go to 2931 66322920 ivfail = ivfail + 1 664 ivcorr = -487 665 write (i02,80004) ivtnum, ivcomp ,ivcorr 666 2931 continue 667 ivtnum = 293 668c 669c **** test 293 **** 670c 671 if (iczero) 32930, 2930, 32930 672 2930 continue 673 ivon02 = -676 674 ivcomp = 189 - ivon02 675 go to 42930 67632930 ivdele = ivdele + 1 677 write (i02,80003) ivtnum 678 if (iczero) 42930, 2941, 42930 67942930 if (ivcomp - 865) 22930,12930,22930 68012930 ivpass = ivpass + 1 681 write (i02,80001) ivtnum 682 go to 2941 68322930 ivfail = ivfail + 1 684 ivcorr = 865 685 write (i02,80004) ivtnum, ivcomp ,ivcorr 686 2941 continue 687 ivtnum = 294 688c 689c **** test 294 **** 690c 691 if (iczero) 32940, 2940, 32940 692 2940 continue 693 ivon01 = 1358 694 ivcomp = ivon01 - 8001 695 go to 42940 69632940 ivdele = ivdele + 1 697 write (i02,80003) ivtnum 698 if (iczero) 42940, 2951, 42940 69942940 if (ivcomp + 6643) 22940,12940,22940 70012940 ivpass = ivpass + 1 701 write (i02,80001) ivtnum 702 go to 2951 70322940 ivfail = ivfail + 1 704 ivcorr = -6643 705 write (i02,80004) ivtnum, ivcomp ,ivcorr 706 2951 continue 707 ivtnum = 295 708c 709c **** test 295 **** 710c 711 if (iczero) 32950, 2950, 32950 712 2950 continue 713 ivon01 = -1358 714 ivcomp = ivon01 - 8001 715 go to 42950 71632950 ivdele = ivdele + 1 717 write (i02,80003) ivtnum 718 if (iczero) 42950, 2961, 42950 71942950 if (ivcomp + 9359) 22950,12950,22950 72012950 ivpass = ivpass + 1 721 write (i02,80001) ivtnum 722 go to 2961 72322950 ivfail = ivfail + 1 724 ivcorr = -9359 725 write (i02,80004) ivtnum, ivcomp ,ivcorr 726 2961 continue 727 ivtnum = 296 728c 729c **** test 296 **** 730c 731 if (iczero) 32960, 2960, 32960 732 2960 continue 733 ivon01 = 15 734 ivcomp = ivon01 - 32752 735 go to 42960 73632960 ivdele = ivdele + 1 737 write (i02,80003) ivtnum 738 if (iczero) 42960, 2971, 42960 73942960 if (ivcomp + 32737) 22960,12960,22960 74012960 ivpass = ivpass + 1 741 write (i02,80001) ivtnum 742 go to 2971 74322960 ivfail = ivfail + 1 744 ivcorr = -32737 745 write (i02,80004) ivtnum, ivcomp ,ivcorr 746 2971 continue 747 ivtnum = 297 748c 749c **** test 297 **** 750c 751 if (iczero) 32970, 2970, 32970 752 2970 continue 753 ivon01 =-32751 754 ivcomp = ivon01 - 15 755 go to 42970 75632970 ivdele = ivdele + 1 757 write (i02,80003) ivtnum 758 if (iczero) 42970, 2981, 42970 75942970 if (ivcomp + 32766) 22970,12970,22970 76012970 ivpass = ivpass + 1 761 write (i02,80001) ivtnum 762 go to 2981 76322970 ivfail = ivfail + 1 764 ivcorr = -32766 765 write (i02,80004) ivtnum, ivcomp ,ivcorr 766 2981 continue 767 ivtnum = 298 768c 769c **** test 298 **** 770c 771 if (iczero) 32980, 2980, 32980 772 2980 continue 773 ivon02 = -32752 774 ivcomp = 15 - ivon02 775 go to 42980 77632980 ivdele = ivdele + 1 777 write (i02,80003) ivtnum 778 if (iczero) 42980, 2991, 42980 77942980 if (ivcomp - 32767) 22980,12980,22980 78012980 ivpass = ivpass + 1 781 write (i02,80001) ivtnum 782 go to 2991 78322980 ivfail = ivfail + 1 784 ivcorr = 32767 785 write (i02,80004) ivtnum, ivcomp ,ivcorr 786 2991 continue 787 ivtnum = 299 788c 789c **** test 299 **** 790c 791 if (iczero) 32990, 2990, 32990 792 2990 continue 793 ivon02 = 15 794 ivcomp = 32752 - ivon02 795 go to 42990 79632990 ivdele = ivdele + 1 797 write (i02,80003) ivtnum 798 if (iczero) 42990, 3001, 42990 79942990 if (ivcomp - 32737) 22990,12990,22990 80012990 ivpass = ivpass + 1 801 write (i02,80001) ivtnum 802 go to 3001 80322990 ivfail = ivfail + 1 804 ivcorr = 32737 805 write (i02,80004) ivtnum, ivcomp ,ivcorr 806 3001 continue 807c 808c write page footings and run summaries 80999999 continue 810 write (i02,90002) 811 write (i02,90006) 812 write (i02,90002) 813 write (i02,90002) 814 write (i02,90007) 815 write (i02,90002) 816 write (i02,90008) ivfail 817 write (i02,90009) ivpass 818 write (i02,90010) ivdele 819c 820c 821c terminate routine execution 822 stop 823c 824c format statements for page headers 82590000 format (1h1) 82690002 format (1h ) 82790001 format (1h ,10x,34hfortran compiler validation system) 82890003 format (1h ,21x,11hversion 1.0) 82990004 format (1h ,10x,38hfor official use only - copyright 1978) 83090005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) 83190006 format (1h ,5x,46h----------------------------------------------) 83290011 format (1h ,18x,17hsubset level test) 833c 834c format statements for run summaries 83590008 format (1h ,15x,i5,19h errors encountered) 83690009 format (1h ,15x,i5,13h tests passed) 83790010 format (1h ,15x,i5,14h tests deleted) 838c 839c format statements for test results 84080001 format (1h ,4x,i5,7x,4hpass) 84180002 format (1h ,4x,i5,7x,4hfail) 84280003 format (1h ,4x,i5,7x,7hdeleted) 84380004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) 84480005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) 845c 84690007 format (1h ,20x,20hend of program fm030) 847 end 848