1c comment section 2c 3c fm038 4c 5c this routine tests arithmetic assignment statements of the 6c form integer variable = arithmetic expression 7c where the arithmetic expression is formed with the arithmetic 8c operator /, integer constants and an integer variable. both 9c positive and negative values are used for the integer constants 10c and the integer variable. 11c 12c there are tests which require no truncation of the result 13c and tests where the result must be truncated before being stored 14c in the resultant integer variable. some of the tests use parens 15c to group elements in the arithmetic expression. 16c 17c there are tests where the arithmetic expression contains 18c (1) (integer constant/integer constant)/integer constant 19c (2) integer constant/(integer constant/integer constant) 20c (3) integer variable/integer constant 21c (4) integer constant/integer variable 22c 23c references 24c american national standard programming language fortran, 25c x3.9-1978 26c 27c section 4.3, integer type 28c section 4.3.1, integer constant 29c section 6.1, arithmetic expressions 30c section 6.6, evaluation of expressions 31c section 10.1, arithmetic assignment statement 32c 33c ********************************************************** 34c 35c a compiler validation system for the fortran language 36c based on specifications as defined in american national standard 37c programming language fortran x3.9-1978, has been developed by the 38c federal cobol compiler testing service. the fortran compiler 39c validation system (fcvs) consists of audit routines, their related 40c data, and an executive system. each audit routine is a fortran 41c program, subprogram or function which includes tests of specific 42c language elements and supporting procedures indicating the result 43c of executing these tests. 44c 45c this particular program/subprogram/function contains features 46c found only in the subset as defined in x3.9-1978. 47c 48c suggestions and comments should be forwarded to - 49c 50c department of the navy 51c federal cobol compiler testing service 52c washington, d.c. 20376 53c 54c ********************************************************** 55c 56c 57c 58c initialization section 59c 60c initialize constants 61c ************** 62c i01 contains the logical unit number for the card reader. 63 i01 = 5 64c i02 contains the logical unit number for the printer. 65 i02 = 6 66c system environment section 67c 68cx010 this card is replaced by contents of fexec x-010 control card. 69c the cx010 card is for overriding the program default i01 = 5 70c (unit number for card reader). 71cx011 this card is replaced by contents of fexec x-011 control card. 72c the cx011 card is for systems which require additional 73c fortran statements for files associated with cx010 above. 74c 75cx020 this card is replaced by contents of fexec x-020 control card. 76c the cx020 card is for overriding the program default i02 = 6 77c (unit number for printer). 78cx021 this card is replaced by contents of fexec x-021 control card. 79c the cx021 card is for systems which require additional 80c fortran statements for files associated with cx020 above. 81c 82 ivpass=0 83 ivfail=0 84 ivdele=0 85 iczero=0 86c 87c 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) 102c 103c test section 104c 105c arithmetic assignment statement 106c 107c test 520 through test 525 contain arithmetic assignment statements 108c of the form integer variable = (int.con./int.con.)/int.con. 109c no truncation of the result is required. both positive and 110c negative constants are included. 111c 112 5201 continue 113 ivtnum = 520 114c 115c **** test 520 **** 116c 117 if (iczero) 35200, 5200, 35200 118 5200 continue 119 ivcomp = (24/3)/4 120 go to 45200 12135200 ivdele = ivdele + 1 122 write (i02,80003) ivtnum 123 if (iczero) 45200, 5211, 45200 12445200 if (ivcomp - 2) 25200,15200,25200 12515200 ivpass = ivpass + 1 126 write (i02,80001) ivtnum 127 go to 5211 12825200 ivfail = ivfail + 1 129 ivcorr = 2 130 write (i02,80004) ivtnum, ivcomp ,ivcorr 131 5211 continue 132 ivtnum = 521 133c 134c **** test 521 **** 135c 136 if (iczero) 35210, 5210, 35210 137 5210 continue 138 ivcomp = (7150/2)/25 139 go to 45210 14035210 ivdele = ivdele + 1 141 write (i02,80003) ivtnum 142 if (iczero) 45210, 5221, 45210 14345210 if (ivcomp - 143) 25210,15210,25210 14415210 ivpass = ivpass + 1 145 write (i02,80001) ivtnum 146 go to 5221 14725210 ivfail = ivfail + 1 148 ivcorr = 143 149 write (i02,80004) ivtnum, ivcomp ,ivcorr 150 5221 continue 151 ivtnum = 522 152c 153c **** test 522 **** 154c 155 if (iczero) 35220, 5220, 35220 156 157 5220 continue 158 ivcomp = (-24/3)/4 159 go to 45220 16035220 ivdele = ivdele + 1 161 write (i02,80003) ivtnum 162 if (iczero) 45220, 5231, 45220 16345220 if (ivcomp + 2) 25220,15220,25220 16415220 ivpass = ivpass + 1 165 write (i02,80001) ivtnum 166 go to 5231 16725220 ivfail = ivfail + 1 168 ivcorr = -2 169 write (i02,80004) ivtnum, ivcomp ,ivcorr 170 5231 continue 171 ivtnum = 523 172c 173c **** test 523 **** 174c 175 if (iczero) 35230, 5230, 35230 176 5230 continue 177 ivcomp = (330/(-3))/2 178 go to 45230 17935230 ivdele = ivdele + 1 180 write (i02,80003) ivtnum 181 if (iczero) 45230, 5241, 45230 18245230 if (ivcomp + 55) 25230,15230,25230 18315230 ivpass = ivpass + 1 184 write (i02,80001) ivtnum 185 go to 5241 18625230 ivfail = ivfail + 1 187 ivcorr = -55 188 write (i02,80004) ivtnum, ivcomp ,ivcorr 189 5241 continue 190 ivtnum = 524 191c 192c **** test 524 **** 193c 194 if (iczero) 35240, 5240, 35240 195 5240 continue 196 ivcomp = ((-7150)/(-2))/(-25) 197 go to 45240 19835240 ivdele = ivdele + 1 199 write (i02,80003) ivtnum 200 if (iczero) 45240, 5251, 45240 20145240 if (ivcomp + 143) 25240,15240,25240 20215240 ivpass = ivpass + 1 203 write (i02,80001) ivtnum 204 go to 5251 20525240 ivfail = ivfail + 1 206 ivcorr = -143 207 write (i02,80004) ivtnum, ivcomp ,ivcorr 208 5251 continue 209 ivtnum = 525 210c 211c **** test 525 **** 212c 213 if (iczero) 35250, 5250, 35250 214 5250 continue 215 ivcomp = (15249/(-13))/(-51) 216 go to 45250 21735250 ivdele = ivdele + 1 218 write (i02,80003) ivtnum 219 if (iczero) 45250, 5261, 45250 22045250 if (ivcomp - 23) 25250,15250,25250 22115250 ivpass = ivpass + 1 222 write (i02,80001) ivtnum 223 go to 5261 22425250 ivfail = ivfail + 1 225 ivcorr = 23 226 write (i02,80004) ivtnum, ivcomp ,ivcorr 227c 228c test 526 through test 531 contain arithmetic assignment statements 229c of the form iv = (ic/ic)/ic. 230c truncation of the result is required. both positive and 231c negative constants are included. 232c 233 5261 continue 234 ivtnum = 526 235c 236c **** test 526 **** 237c 238 if (iczero) 35260, 5260, 35260 239 5260 continue 240 ivcomp = (24/3)/3 241 go to 45260 24235260 ivdele = ivdele + 1 243 write (i02,80003) ivtnum 244 if (iczero) 45260, 5271, 45260 24545260 if (ivcomp - 2) 25260,15260,25260 24615260 ivpass = ivpass + 1 247 write (i02,80001) ivtnum 248 go to 5271 24925260 ivfail = ivfail + 1 250 ivcorr = 2 251 write (i02,80004) ivtnum, ivcomp ,ivcorr 252 5271 continue 253 ivtnum = 527 254c 255c **** test 527 **** 256c 257 if (iczero) 35270, 5270, 35270 258 5270 continue 259 ivcomp = (7151/3)/10 260 go to 45270 26135270 ivdele = ivdele + 1 262 write (i02,80003) ivtnum 263 if (iczero) 45270, 5281, 45270 26445270 if (ivcomp - 238) 25270,15270,25270 26515270 ivpass = ivpass + 1 266 write (i02,80001) ivtnum 267 go to 5281 26825270 ivfail = ivfail + 1 269 ivcorr = 238 270 write (i02,80004) ivtnum, ivcomp ,ivcorr 271 5281 continue 272 ivtnum = 528 273c 274c **** test 528 **** 275c 276 if (iczero) 35280, 5280, 35280 277 5280 continue 278 ivcomp = (-24/3)/3 279 go to 45280 28035280 ivdele = ivdele + 1 281 write (i02,80003) ivtnum 282 if (iczero) 45280, 5291, 45280 28345280 if (ivcomp + 2) 25280,15280,25280 28415280 ivpass = ivpass + 1 285 write (i02,80001) ivtnum 286 go to 5291 28725280 ivfail = ivfail + 1 288 ivcorr = -2 289 write (i02,80004) ivtnum, ivcomp ,ivcorr 290 5291 continue 291 ivtnum = 529 292c 293c **** test 529 **** 294c 295 if (iczero) 35290, 5290, 35290 296 5290 continue 297 ivcomp = (7151/(-3))/10 298 go to 45290 29935290 ivdele = ivdele + 1 300 write (i02,80003) ivtnum 301 if (iczero) 45290, 5301, 45290 30245290 if (ivcomp + 238) 25290,15290,25290 30315290 ivpass = ivpass + 1 304 write (i02,80001) ivtnum 305 go to 5301 30625290 ivfail = ivfail + 1 307 ivcorr = -238 308 write (i02,80004) ivtnum, ivcomp ,ivcorr 309 5301 continue 310 ivtnum = 530 311c 312c **** test 530 **** 313c 314 if (iczero) 35300, 5300, 35300 315 5300 continue 316 ivcomp = (15248/(-51))/(-23) 317 go to 45300 31835300 ivdele = ivdele + 1 319 write (i02,80003) ivtnum 320 if (iczero) 45300, 5311, 45300 32145300 if (ivcomp - 12) 25300,15300,25300 32215300 ivpass = ivpass + 1 323 write (i02,80001) ivtnum 324 go to 5311 32525300 ivfail = ivfail + 1 326 ivcorr = 12 327 write (i02,80004) ivtnum, ivcomp ,ivcorr 328 5311 continue 329 ivtnum = 531 330c 331c **** test 531 **** 332c 333 if (iczero) 35310, 5310, 35310 334 5310 continue 335 ivcomp = ((-27342)/(-4))/(-3) 336 go to 45310 33735310 ivdele = ivdele + 1 338 write (i02,80003) ivtnum 339 if (iczero) 45310, 5321, 45310 34045310 if (ivcomp + 2278) 25310,15310,25310 34115310 ivpass = ivpass + 1 342 write (i02,80001) ivtnum 343 go to 5321 34425310 ivfail = ivfail + 1 345 ivcorr = -2278 346 write (i02,80004) ivtnum, ivcomp ,ivcorr 347c 348c test 532 through test 537 contain arithmetic assignment statements 349c of the form iv = ic/(ic/ic). 350c no truncation of the result is required. both positive and 351c negative constants are included. 352c 353 5321 continue 354 ivtnum = 532 355c 356c **** test 532 **** 357c 358 if (iczero) 35320, 5320, 35320 359 5320 continue 360 ivcomp = 24/(8/4) 361 go to 45320 36235320 ivdele = ivdele + 1 363 write (i02,80003) ivtnum 364 if (iczero) 45320, 5331, 45320 36545320 if (ivcomp - 12) 25320,15320,25320 36615320 ivpass = ivpass + 1 367 write (i02,80001) ivtnum 368 go to 5331 36925320 ivfail = ivfail + 1 370 ivcorr = 12 371 write (i02,80004) ivtnum, ivcomp ,ivcorr 372 5331 continue 373 ivtnum = 533 374c 375c **** test 533 **** 376c 377 if (iczero) 35330, 5330, 35330 378 5330 continue 379 ivcomp = 7150/(25/5) 380 go to 45330 38135330 ivdele = ivdele + 1 382 write (i02,80003) ivtnum 383 if (iczero) 45330, 5341, 45330 38445330 if (ivcomp - 1430) 25330,15330,25330 38515330 ivpass = ivpass + 1 386 write (i02,80001) ivtnum 387 go to 5341 38825330 ivfail = ivfail + 1 389 ivcorr = 1430 390 write (i02,80004) ivtnum, ivcomp ,ivcorr 391 5341 continue 392 ivtnum = 534 393c 394c **** test 534 **** 395c 396 if (iczero) 35340, 5340, 35340 397 5340 continue 398 ivcomp = -24/(8/4) 399 go to 45340 40035340 ivdele = ivdele + 1 401 write (i02,80003) ivtnum 402 if (iczero) 45340, 5351, 45340 40345340 if (ivcomp + 12) 25340,15340,25340 40415340 ivpass = ivpass + 1 405 write (i02,80001) ivtnum 406 go to 5351 40725340 ivfail = ivfail + 1 408 ivcorr = -12 409 write (i02,80004) ivtnum, ivcomp ,ivcorr 410 5351 continue 411 ivtnum = 535 412c 413c **** test 535 **** 414c 415 if (iczero) 35350, 5350, 35350 416 5350 continue 417 ivcomp = 24/((-8)/4) 418 go to 45350 41935350 ivdele = ivdele + 1 420 write (i02,80003) ivtnum 421 if (iczero) 45350, 5361, 45350 42245350 if (ivcomp + 12) 25350,15350,25350 42315350 ivpass = ivpass + 1 424 write (i02,80001) ivtnum 425 go to 5361 42625350 ivfail = ivfail + 1 427 ivcorr = -12 428 write (i02,80004) ivtnum, ivcomp ,ivcorr 429 5361 continue 430 ivtnum = 536 431c 432c **** test 536 **** 433c 434 if (iczero) 35360, 5360, 35360 435 5360 continue 436 ivcomp = (-7150)/((-25)/(-5)) 437 go to 45360 43835360 ivdele = ivdele + 1 439 write (i02,80003) ivtnum 440 if (iczero) 45360, 5371, 45360 44145360 if (ivcomp + 1430) 25360,15360,25360 44215360 ivpass = ivpass + 1 443 write (i02,80001) ivtnum 444 go to 5371 44525360 ivfail = ivfail + 1 446 ivcorr = -1430 447 write (i02,80004) ivtnum, ivcomp ,ivcorr 448 5371 continue 449 ivtnum = 537 450c 451c **** test 537 **** 452c 453 if (iczero) 35370, 5370, 35370 454 5370 continue 455 ivcomp = -7150/(25/(-5)) 456 go to 45370 45735370 ivdele = ivdele + 1 458 write (i02,80003) ivtnum 459 if (iczero) 45370, 5381, 45370 46045370 if (ivcomp - 1430) 25370,15370,25370 46115370 ivpass = ivpass + 1 462 write (i02,80001) ivtnum 463 go to 5381 46425370 ivfail = ivfail + 1 465 ivcorr = 1430 466 write (i02,80004) ivtnum, ivcomp ,ivcorr 467c 468c test 538 through test 543 contain arithmetic assigmment statements 469c of the form iv = ic/(ic/ic). 470c truncation of the result is required. both positive and 471c negative constants are included. 472c 473 5381 continue 474 ivtnum = 538 475c 476c **** test 538 **** 477c 478 if (iczero) 35380, 5380, 35380 479 5380 continue 480 ivcomp = 29/(5/2) 481 go to 45380 48235380 ivdele = ivdele + 1 483 write (i02,80003) ivtnum 484 if (iczero) 45380, 5391, 45380 48545380 if (ivcomp - 14) 25380,15380,25380 48615380 ivpass = ivpass + 1 487 write (i02,80001) ivtnum 488 go to 5391 48925380 ivfail = ivfail + 1 490 ivcorr = 14 491 write (i02,80004) ivtnum, ivcomp ,ivcorr 492 5391 continue 493 ivtnum = 539 494c 495c **** test 539 **** 496c 497 if (iczero) 35390, 5390, 35390 498 5390 continue 499 ivcomp = 7154/(26/5) 500 go to 45390 50135390 ivdele = ivdele + 1 502 write (i02,80003) ivtnum 503 if (iczero) 45390, 5401, 45390 50445390 if (ivcomp - 1430) 25390,15390,25390 50515390 ivpass = ivpass + 1 506 write (i02,80001) ivtnum 507 go to 5401 50825390 ivfail = ivfail + 1 509 ivcorr = 1430 510 write (i02,80004) ivtnum, ivcomp ,ivcorr 511 5401 continue 512 ivtnum = 540 513c 514c **** test 540 **** 515c 516 if (iczero) 35400, 5400, 35400 517 5400 continue 518 ivcomp = -7154/(26/5) 519 go to 45400 52035400 ivdele = ivdele + 1 521 write (i02,80003) ivtnum 522 if (iczero) 45400, 5411, 45400 52345400 if (ivcomp + 1430) 25400,15400,25400 52415400 ivpass = ivpass + 1 525 write (i02,80001) ivtnum 526 go to 5411 52725400 ivfail = ivfail + 1 528 ivcorr = -1430 529 write (i02,80004) ivtnum, ivcomp ,ivcorr 530 5411 continue 531 ivtnum = 541 532c 533c **** test 541 **** 534c 535 if (iczero) 35410, 5410, 35410 536 5410 continue 537 ivcomp = (-7154)/((-26)/5) 538 go to 45410 53935410 ivdele = ivdele + 1 540 write (i02,80003) ivtnum 541 if (iczero) 45410, 5421, 45410 54245410 if (ivcomp - 1430) 25410,15410,25410 54315410 ivpass = ivpass + 1 544 write (i02,80001) ivtnum 545 go to 5421 54625410 ivfail = ivfail + 1 547 ivcorr = 1430 548 write (i02,80004) ivtnum, ivcomp ,ivcorr 549 5421 continue 550 ivtnum = 542 551c 552c **** test 542 **** 553c 554 if (iczero) 35420, 5420, 35420 555 5420 continue 556 ivcomp = 7154/((-26)/(-5)) 557 go to 45420 55835420 ivdele = ivdele + 1 559 write (i02,80003) ivtnum 560 if (iczero) 45420, 5431, 45420 56145420 if (ivcomp - 1430) 25420,15420,25420 56215420 ivpass = ivpass + 1 563 write (i02,80001) ivtnum 564 go to 5431 56525420 ivfail = ivfail + 1 566 ivcorr = 1430 567 write (i02,80004) ivtnum, ivcomp ,ivcorr 568 5431 continue 569 ivtnum = 543 570c 571c **** test 543 **** 572c 573 if (iczero) 35430, 5430, 35430 574 5430 continue 575 ivcomp = (-7154)/((-26)/(-5)) 576 go to 45430 57735430 ivdele = ivdele + 1 578 write (i02,80003) ivtnum 579 if (iczero) 45430, 5441, 45430 58045430 if (ivcomp + 1430) 25430,15430,25430 58115430 ivpass = ivpass + 1 582 write (i02,80001) ivtnum 583 go to 5441 58425430 ivfail = ivfail + 1 585 ivcorr = -1430 586 write (i02,80004) ivtnum, ivcomp ,ivcorr 587c 588c test 544 through test 547 contain arithmetic assignment statements 589c of the form integer variable = integer variable/integer constant 590c 591 5441 continue 592 ivtnum = 544 593c 594c **** test 544 **** 595c 596 if (iczero) 35440, 5440, 35440 597 5440 continue 598 ivon01 = 75 599 ivcomp = ivon01/25 600 go to 45440 60135440 ivdele = ivdele + 1 602 write (i02,80003) ivtnum 603 if (iczero) 45440, 5451, 45440 60445440 if (ivcomp - 3) 25440,15440,25440 60515440 ivpass = ivpass + 1 606 write (i02,80001) ivtnum 607 go to 5451 60825440 ivfail = ivfail + 1 609 ivcorr = 3 610 write (i02,80004) ivtnum, ivcomp ,ivcorr 611 5451 continue 612 ivtnum = 545 613c 614c **** test 545 **** 615c 616 if (iczero) 35450, 5450, 35450 617 5450 continue 618 ivon01 = -3575 619 ivcomp = ivon01/25 620 go to 45450 62135450 ivdele = ivdele + 1 622 write (i02,80003) ivtnum 623 if (iczero) 45450, 5461, 45450 62445450 if (ivcomp + 143) 25450,15450,25450 62515450 ivpass = ivpass + 1 626 write (i02,80001) ivtnum 627 go to 5461 62825450 ivfail = ivfail + 1 629 ivcorr = -143 630 write (i02,80004) ivtnum, ivcomp ,ivcorr 631 5461 continue 632 ivtnum = 546 633c 634c **** test 546 **** 635c 636 if (iczero) 35460, 5460, 35460 637 5460 continue 638 ivon01 = 3575 639 ivcomp = ivon01/(-143) 640 go to 45460 64135460 ivdele = ivdele + 1 642 write (i02,80003) ivtnum 643 if (iczero) 45460, 5471, 45460 64445460 if (ivcomp + 25) 25460,15460,25460 64515460 ivpass = ivpass + 1 646 write (i02,80001) ivtnum 647 go to 5471 64825460 ivfail = ivfail + 1 649 ivcorr = -25 650 write (i02,80004) ivtnum, ivcomp ,ivcorr 651 5471 continue 652 ivtnum = 547 653c 654c **** test 547 **** 655c 656 if (iczero) 35470, 5470, 35470 657 5470 continue 658 ivon01 = 959 659 ivcomp = ivon01/120 660 go to 45470 66135470 ivdele = ivdele + 1 662 write (i02,80003) ivtnum 663 if (iczero) 45470, 5481, 45470 66445470 if (ivcomp -7) 25470,15470,25470 66515470 ivpass = ivpass + 1 666 write (i02,80001) ivtnum 667 go to 5481 66825470 ivfail = ivfail + 1 669 ivcorr = 7 670 write (i02,80004) ivtnum, ivcomp ,ivcorr 671c 672c test 548 through test 551 contain arithmetic assignment statements 673c of the form integer variable =integer constant/integer variable. 674c 675 5481 continue 676 ivtnum = 548 677c 678c **** test 548 **** 679c 680 if (iczero) 35480, 5480, 35480 681 5480 continue 682 ivon02 = 25 683 ivcomp = 75/ivon02 684 go to 45480 68535480 ivdele = ivdele + 1 686 write (i02,80003) ivtnum 687 if (iczero) 45480, 5491, 45480 68845480 if (ivcomp - 3) 25480,15480,25480 68915480 ivpass = ivpass + 1 690 write (i02,80001) ivtnum 691 go to 5491 69225480 ivfail = ivfail + 1 693 ivcorr = 3 694 write (i02,80004) ivtnum, ivcomp ,ivcorr 695 5491 continue 696 ivtnum = 549 697c 698c **** test 549 **** 699c 700 if (iczero) 35490, 5490, 35490 701 5490 continue 702 ivon02 = -25 703 ivcomp = 3579/ivon02 704 go to 45490 70535490 ivdele = ivdele + 1 706 write (i02,80003) ivtnum 707 if (iczero) 45490, 5501, 45490 70845490 if (ivcomp + 143) 25490,15490,25490 70915490 ivpass = ivpass + 1 710 write (i02,80001) ivtnum 711 go to 5501 71225490 ivfail = ivfail + 1 713 ivcorr = -143 714 write (i02,80004) ivtnum, ivcomp ,ivcorr 715 5501 continue 716 ivtnum = 550 717c 718c **** test 550 **** 719c 720 if (iczero) 35500, 5500, 35500 721 5500 continue 722 ivon02 = -143 723 ivcomp = (-3575)/ivon02 724 go to 45500 72535500 ivdele = ivdele + 1 726 write (i02,80003) ivtnum 727 if (iczero) 45500, 5511, 45500 72845500 if (ivcomp - 25) 25500,15500,25500 72915500 ivpass = ivpass + 1 730 write (i02,80001) ivtnum 731 go to 5511 73225500 ivfail = ivfail + 1 733 ivcorr = 25 734 write (i02,80004) ivtnum, ivcomp ,ivcorr 735 5511 continue 736 ivtnum = 551 737c 738c **** test 551 **** 739c 740 if (iczero) 35510, 5510, 35510 741 5510 continue 742 ivon02 = 120 743 ivcomp = -959/ivon02 744 go to 45510 74535510 ivdele = ivdele + 1 746 write (i02,80003) ivtnum 747 if (iczero) 45510, 5521, 45510 74845510 if (ivcomp + 7) 25510,15510,25510 74915510 ivpass = ivpass + 1 750 write (i02,80001) ivtnum 751 go to 5521 75225510 ivfail = ivfail + 1 753 ivcorr = -7 754 write (i02,80004) ivtnum, ivcomp ,ivcorr 755c **** end of tests **** 756 5521 continue 757c 758c write page footings and run summaries 75999999 continue 760 write (i02,90002) 761 write (i02,90006) 762 write (i02,90002) 763 write (i02,90002) 764 write (i02,90007) 765 write (i02,90002) 766 write (i02,90008) ivfail 767 write (i02,90009) ivpass 768 write (i02,90010) ivdele 769c 770c 771c terminate routine execution 772 stop 773c 774c format statements for page headers 77590000 format (1h1) 77690002 format (1h ) 77790001 format (1h ,10x,34hfortran compiler validation system) 77890003 format (1h ,21x,11hversion 1.0) 77990004 format (1h ,10x,38hfor official use only - copyright 1978) 78090005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) 78190006 format (1h ,5x,46h----------------------------------------------) 78290011 format (1h ,18x,17hsubset level test) 783c 784c format statements for run summaries 78590008 format (1h ,15x,i5,19h errors encountered) 78690009 format (1h ,15x,i5,13h tests passed) 78790010 format (1h ,15x,i5,14h tests deleted) 788c 789c format statements for test results 79080001 format (1h ,4x,i5,7x,4hpass) 79180002 format (1h ,4x,i5,7x,4hfail) 79280003 format (1h ,4x,i5,7x,7hdeleted) 79380004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) 79480005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) 795c 79690007 format (1h ,20x,20hend of program fm038) 797 end 798