1c comment section. 2c 3c fm008 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 positive integer variables. 9c some of the tests use parentheses to group elements in the 10c arithmetic expression. 11c 12c there are tests where the arithmetic expression contains 13c (1) two integer constants, 14c (2) three integer constants, 15c (3) three integer constants with parentheses to group 16c elements, 17c (4) one integer variable and one integer constant, 18c (5) one integer variable and two integer constants, 19c (6) one integer variable and two integer constants with 20c parentheses to group elements. 21c 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 10.1, arithmetic assignment statements 31c 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 test section 103c 104c arithmetic assignment statement 105c 106c test 200 through test 214 contain integer constants and operator + 107c in arithmetic expression. 108c 109c test 200 through test 206 - two integer constants 110c 111 2001 continue 112 ivtnum = 200 113c 114c **** test 200 **** 115c 116 if (iczero) 32000, 2000, 32000 117 2000 continue 118 ivcomp = 2+3 119 go to 42000 12032000 ivdele = ivdele + 1 121 write (i02,80003) ivtnum 122 if (iczero) 42000, 2011, 42000 12342000 if (ivcomp - 5) 22000,12000,22000 12412000 ivpass = ivpass + 1 125 write (i02,80001) ivtnum 126 go to 2011 12722000 ivfail = ivfail + 1 128 ivcorr = 5 129 write (i02,80004) ivtnum, ivcomp ,ivcorr 130 2011 continue 131 ivtnum = 201 132c 133c **** test 201 **** 134c 135 if (iczero) 32010, 2010, 32010 136 2010 continue 137 ivcomp = 51 + 52 138 go to 42010 13932010 ivdele = ivdele + 1 140 write (i02,80003) ivtnum 141 if (iczero) 42010, 2021, 42010 14242010 if (ivcomp - 103) 22010,12010,22010 14312010 ivpass = ivpass + 1 144 write (i02,80001) ivtnum 145 go to 2021 14622010 ivfail = ivfail + 1 147 ivcorr = 103 148 write (i02,80004) ivtnum, ivcomp ,ivcorr 149 2021 continue 150 ivtnum = 202 151c 152c **** test 202 **** 153c 154 if (iczero) 32020, 2020, 32020 155 2020 continue 156 ivcomp = 189 + 676 157 go to 42020 15832020 ivdele = ivdele + 1 159 write (i02,80003) ivtnum 160 if (iczero) 42020, 2031, 42020 16142020 if (ivcomp - 865) 22020,12020,22020 16212020 ivpass = ivpass + 1 163 write (i02,80001) ivtnum 164 go to 2031 16522020 ivfail = ivfail + 1 166 ivcorr = 865 167 write (i02,80004) ivtnum, ivcomp ,ivcorr 168 2031 continue 169 ivtnum = 203 170c 171c **** test 203 **** 172c 173 if (iczero) 32030, 2030, 32030 174 2030 continue 175 ivcomp = 1358 + 8001 176 go to 42030 17732030 ivdele = ivdele + 1 178 write (i02,80003) ivtnum 179 if (iczero) 42030, 2041, 42030 18042030 if (ivcomp - 9359) 22030, 12030, 22030 18112030 ivpass = ivpass + 1 182 write (i02,80001) ivtnum 183 go to 2041 18422030 ivfail = ivfail + 1 185 ivcorr = 9359 186 write (i02,80004) ivtnum, ivcomp ,ivcorr 187 2041 continue 188 ivtnum = 204 189c 190c **** test 204 **** 191c 192 if (iczero) 32040, 2040, 32040 193 2040 continue 194 ivcomp = 11112 + 10001 195 go to 42040 19632040 ivdele = ivdele + 1 197 write (i02,80003) ivtnum 198 if (iczero) 42040, 2051, 42040 19942040 if (ivcomp - 21113) 22040, 12040, 22040 20012040 ivpass = ivpass + 1 201 write (i02,80001) ivtnum 202 go to 2051 20322040 ivfail = ivfail + 1 204 ivcorr=21113 205 write (i02,80004) ivtnum, ivcomp ,ivcorr 206 2051 continue 207 ivtnum = 205 208c 209c **** test 205 **** 210c 211 if (iczero) 32050, 2050, 32050 212 2050 continue 213 ivcomp = 189 + 9876 214 go to 42050 21532050 ivdele = ivdele + 1 216 write (i02,80003) ivtnum 217 if (iczero) 42050, 2061, 42050 21842050 if (ivcomp - 10065) 22050,12050,22050 21912050 ivpass = ivpass + 1 220 write (i02,80001) ivtnum 221 go to 2061 22222050 ivfail = ivfail + 1 223 ivcorr = 10065 224 write (i02,80004) ivtnum, ivcomp ,ivcorr 225 2061 continue 226 ivtnum = 206 227c 228c **** test 206 **** 229c requires 32767 230c 231 if (iczero) 32060, 2060, 32060 232 2060 continue 233 ivcomp = 32752 + 15 234 go to 42060 23532060 ivdele = ivdele + 1 236 write (i02,80003) ivtnum 237 if (iczero) 42060, 2071, 42060 23842060 if (ivcomp - 32767) 22060,12060,22060 23912060 ivpass = ivpass + 1 240 write (i02,80001) ivtnum 241 go to 2071 24222060 ivfail = ivfail + 1 243 ivcorr = 32767 244 write (i02,80004) ivtnum, ivcomp ,ivcorr 245c 246c test 207 through test 210 - three integer constants 247c 248 2071 continue 249 ivtnum = 207 250c 251c **** test 207 **** 252c 253 if (iczero) 32070, 2070, 32070 254 2070 continue 255 ivcomp = 2+3+4 256 go to 42070 25732070 ivdele = ivdele + 1 258 write (i02,80003) ivtnum 259 if (iczero) 42070, 2081, 42070 26042070 if (ivcomp - 9) 22070,12070,22070 26112070 ivpass = ivpass + 1 262 write (i02,80001) ivtnum 263 go to 2081 26422070 ivfail = ivfail + 1 265 ivcorr = 9 266 write (i02,80004) ivtnum, ivcomp ,ivcorr 267 2081 continue 268 ivtnum = 208 269c 270c **** test 208 **** 271c 272 if (iczero) 32080, 2080, 32080 273 2080 continue 274 ivcomp = 51 + 52 + 53 275 go to 42080 27632080 ivdele = ivdele + 1 277 write (i02,80003) ivtnum 278 if (iczero) 42080, 2091, 42080 27942080 if (ivcomp - 156) 22080,12080,22080 28012080 ivpass = ivpass + 1 281 write (i02,80001) ivtnum 282 go to 2091 28322080 ivfail = ivfail + 1 284 ivcorr = 156 285 write (i02,80004) ivtnum, ivcomp ,ivcorr 286 2091 continue 287 ivtnum = 209 288c 289c **** test 209 **** 290c 291 if (iczero) 32090, 2090, 32090 292 2090 continue 293 ivcomp = 189 +676+101 294 go to 42090 29532090 ivdele = ivdele + 1 296 write (i02,80003) ivtnum 297 if (iczero) 42090, 2101, 42090 29842090 if (ivcomp - 966) 22090,12090,22090 29912090 ivpass = ivpass + 1 300 write (i02,80001) ivtnum 301 go to 2101 30222090 ivfail = ivfail + 1 303 ivcorr = 966 304 write (i02,80004) ivtnum, ivcomp ,ivcorr 305 2101 continue 306 ivtnum = 210 307c 308c **** test 210 **** 309c 310 if (iczero) 32100, 2100, 32100 311 2100 continue 312 ivcomp = 1358 + 8001 + 2189 313 go to 42100 31432100 ivdele = ivdele + 1 315 write (i02,80003) ivtnum 316 if (iczero) 42100, 2111, 42100 31742100 if (ivcomp - 11548) 22100,12100,22100 31812100 ivpass = ivpass + 1 319 write (i02,80001) ivtnum 320 go to 2111 32122100 ivfail = ivfail + 1 322 ivcorr = 11548 323 write (i02,80004) ivtnum, ivcomp ,ivcorr 324c 325c tests 211 through 214 are the same as 207 through 210 except 326c parentheses are used to group the constants. 327c 328 2111 continue 329 ivtnum = 211 330c 331c **** test 211 **** 332c 333 if (iczero) 32110, 2110, 32110 334 2110 continue 335 ivcomp = (2+3)+4 336 go to 42110 33732110 ivdele = ivdele + 1 338 write (i02,80003) ivtnum 339 if (iczero) 42110, 2121, 42110 34042110 if (ivcomp -9) 22110,12110,22110 34112110 ivpass = ivpass + 1 342 write (i02,80001) ivtnum 343 go to 2121 34422110 ivfail = ivfail + 1 345 ivcorr = 9 346 write (i02,80004) ivtnum, ivcomp ,ivcorr 347 2121 continue 348 ivtnum = 212 349c 350c **** test 212 **** 351c 352 if (iczero) 32120, 2120, 32120 353 2120 continue 354 ivcomp = 51+(52+53) 355 go to 42120 35632120 ivdele = ivdele + 1 357 write (i02,80003) ivtnum 358 if (iczero) 42120, 2131, 42120 35942120 if (ivcomp - 156) 22120,12120,22120 36012120 ivpass = ivpass + 1 361 write (i02,80001) ivtnum 362 go to 2131 36322120 ivfail = ivfail + 1 364 ivcorr = 156 365 write (i02,80004) ivtnum, ivcomp ,ivcorr 366 2131 continue 367 ivtnum = 213 368c 369c **** test 213 **** 370c 371 if (iczero) 32130, 2130, 32130 372 2130 continue 373 ivcomp = 189 +(676+101) 374 go to 42130 37532130 ivdele = ivdele + 1 376 write (i02,80003) ivtnum 377 if (iczero) 42130, 2141, 42130 37842130 if (ivcomp - 966) 22130,12130,22130 37912130 ivpass = ivpass + 1 380 write (i02,80001) ivtnum 381 go to 2141 38222130 ivfail = ivfail + 1 383 ivcorr = 966 384 write (i02,80004) ivtnum, ivcomp ,ivcorr 385 2141 continue 386 ivtnum = 214 387c 388c **** test 214 **** 389c 390 if (iczero) 32140, 2140, 32140 391 2140 continue 392 ivcomp = (1358+2189) + 8001 393 go to 42140 39432140 ivdele = ivdele + 1 395 write (i02,80003) ivtnum 396 if (iczero) 42140, 2151, 42140 39742140 if (ivcomp - 11548) 22140,12140,22140 39812140 ivpass = ivpass + 1 399 write (i02,80001) ivtnum 400 go to 2151 40122140 ivfail = ivfail + 1 402 ivcorr = 11548 403 write (i02,80004) ivtnum, ivcomp ,ivcorr 404c 405c test 215 through test 234 contain integer variables, integer 406c constants and the operator + in arithmetic expression. 407c 408c test 215 through test 219 - one integer variable and one integer 409c constant in arithmetic expression. 410c 411 2151 continue 412 ivtnum = 215 413c 414c **** test 215 **** 415c 416 if (iczero) 32150, 2150, 32150 417 2150 continue 418 ivon01 = 2 419 ivcomp = ivon01 + 3 420 go to 42150 42132150 ivdele = ivdele + 1 422 write (i02,80003) ivtnum 423 if (iczero) 42150, 2161, 42150 42442150 if (ivcomp - 5) 22150,12150,22150 42512150 ivpass = ivpass + 1 426 write (i02,80001) ivtnum 427 go to 2161 42822150 ivfail = ivfail + 1 429 ivcorr=5 430 write (i02,80004) ivtnum, ivcomp ,ivcorr 431 2161 continue 432 ivtnum = 216 433c 434c **** test 216 **** 435c 436 if (iczero) 32160, 2160, 32160 437 2160 continue 438 ivon01 = 3 439 ivcomp = 2 + ivon01 440 go to 42160 44132160 ivdele = ivdele + 1 442 write (i02,80003) ivtnum 443 if (iczero) 42160, 2171, 42160 44442160 if (ivcomp - 5) 22160,12160,22160 44512160 ivpass = ivpass + 1 446 write (i02,80001) ivtnum 447 go to 2171 44822160 ivfail = ivfail + 1 449 ivcorr = 5 450 write (i02,80004) ivtnum, ivcomp ,ivcorr 451 2171 continue 452 ivtnum = 217 453c 454c **** test 217 **** 455c 456 if (iczero) 32170, 2170, 32170 457 2170 continue 458 ivon01 = 51 459 ivcomp = ivon01 +52 460 go to 42170 46132170 ivdele = ivdele + 1 462 write (i02,80003) ivtnum 463 if (iczero) 42170, 2181, 42170 46442170 if (ivcomp - 103) 22170,12170,22170 46512170 ivpass = ivpass + 1 466 write (i02,80001) ivtnum 467 go to 2181 46822170 ivfail = ivfail + 1 469 ivcorr = 103 470 write (i02,80004) ivtnum, ivcomp ,ivcorr 471 2181 continue 472 ivtnum = 218 473c 474c **** test 218 **** 475c 476 if (iczero) 32180, 2180, 32180 477 2180 continue 478 ivon01 = 676 479 ivcomp = 189 + ivon01 480 go to 42180 48132180 ivdele = ivdele + 1 482 write (i02,80003) ivtnum 483 if (iczero) 42180, 2191, 42180 48442180 if (ivcomp - 865) 22180,12180,22180 48512180 ivpass = ivpass + 1 486 write (i02,80001) ivtnum 487 go to 2191 48822180 ivfail = ivfail + 1 489 ivcorr = 865 490 write (i02,80004) ivtnum, ivcomp ,ivcorr 491 2191 continue 492 ivtnum = 219 493c 494c **** test 219 **** 495c 496 if (iczero) 32190, 2190, 32190 497 2190 continue 498 ivon01 = 1358 499 ivcomp = ivon01 + 8001 500 go to 42190 50132190 ivdele = ivdele + 1 502 write (i02,80003) ivtnum 503 if (iczero) 42190, 2201, 42190 50442190 if (ivcomp - 9359) 22190,12190,22190 50512190 ivpass = ivpass + 1 506 write (i02,80001) ivtnum 507 go to 2201 50822190 ivfail = ivfail + 1 509 ivcorr = 9359 510 write (i02,80004) ivtnum, ivcomp ,ivcorr 511c 512c test 220 through test 224 - one integer variable, two integer 513c constants in arithmetic expression. 514c 515 2201 continue 516 ivtnum = 220 517c 518c **** test 220 **** 519c 520 if (iczero) 32200, 2200, 32200 521 2200 continue 522 ivon01 = 2 523 ivcomp = ivon01 +3 +4 524 go to 42200 52532200 ivdele = ivdele + 1 526 write (i02,80003) ivtnum 527 if (iczero) 42200, 2211, 42200 52842200 if (ivcomp - 9) 22200,12200,22200 52912200 ivpass = ivpass + 1 530 write (i02,80001) ivtnum 531 go to 2211 53222200 ivfail = ivfail + 1 533 ivcorr = 9 534 write (i02,80004) ivtnum, ivcomp ,ivcorr 535 2211 continue 536 ivtnum = 221 537c 538c **** test 221 **** 539c 540 if (iczero) 32210, 2210, 32210 541 2210 continue 542 ivon01 = 3 543 ivcomp = 2+ivon01+4 544 go to 42210 54532210 ivdele = ivdele + 1 546 write (i02,80003) ivtnum 547 if (iczero) 42210, 2221, 42210 54842210 if (ivcomp - 9) 22210,12210,22210 54912210 ivpass = ivpass + 1 550 write (i02,80001) ivtnum 551 go to 2221 55222210 ivfail = ivfail + 1 553 ivcorr = 9 554 write (i02,80004) ivtnum, ivcomp ,ivcorr 555 2221 continue 556 ivtnum = 222 557c 558c **** test 222 **** 559c 560 if (iczero) 32220, 2220, 32220 561 2220 continue 562 ivon01 = 4 563 ivcomp= 2+3+ivon01 564 go to 42220 56532220 ivdele = ivdele + 1 566 write (i02,80003) ivtnum 567 if (iczero) 42220, 2231, 42220 56842220 if (ivcomp - 9) 22220,12220,22220 56912220 ivpass = ivpass + 1 570 write (i02,80001) ivtnum 571 go to 2231 57222220 ivfail = ivfail + 1 573 ivcorr = 9 574 write (i02,80004) ivtnum, ivcomp ,ivcorr 575 2231 continue 576 ivtnum = 223 577c 578c **** test 223 **** 579c 580 if (iczero) 32230, 2230, 32230 581 2230 continue 582 ivon01 = 2189 583 ivcomp = 1358+ivon01+8001 584 go to 42230 58532230 ivdele = ivdele + 1 586 write (i02,80003) ivtnum 587 if (iczero) 42230, 2241, 42230 58842230 if (ivcomp - 11548) 22230,12230,22230 58912230 ivpass = ivpass + 1 590 write (i02,80001) ivtnum 591 go to 2241 59222230 ivfail = ivfail + 1 593 ivcorr=11548 594 write (i02,80004) ivtnum, ivcomp ,ivcorr 595 2241 continue 596 ivtnum = 224 597c 598c **** test 224 **** 599c 600 if (iczero) 32240, 2240, 32240 601 2240 continue 602 ivon01 = 11111 603 ivcomp = 11111 + ivon01 + 10111 604 go to 42240 60532240 ivdele = ivdele + 1 606 write (i02,80003) ivtnum 607 if (iczero) 42240, 2251, 42240 60842240 if (ivcomp - 32333) 22240,12240,22240 60912240 ivpass = ivpass + 1 610 write (i02,80001) ivtnum 611 go to 2251 61222240 ivfail = ivfail + 1 613 ivcorr = 32333 614 write (i02,80004) ivtnum, ivcomp ,ivcorr 615c 616c test 225 through test 234 use parentheses to group elements in 617c an arithmetic expression. the results are the same as tests 618c 220 through 224. 619c 620 2251 continue 621 ivtnum = 225 622c 623c **** test 225 **** 624c 625 if (iczero) 32250, 2250, 32250 626 2250 continue 627 ivon01 = 2 628 ivcomp = (ivon01 +3) + 4 629 go to 42250 63032250 ivdele = ivdele + 1 631 write (i02,80003) ivtnum 632 if (iczero) 42250, 2261, 42250 63342250 if (ivcomp -9) 22250,12250,22250 63412250 ivpass = ivpass + 1 635 write (i02,80001) ivtnum 636 go to 2261 63722250 ivfail = ivfail + 1 638 ivcorr = 9 639 write (i02,80004) ivtnum, ivcomp ,ivcorr 640 2261 continue 641 ivtnum = 226 642c 643c **** test 226 **** 644c 645 if (iczero) 32260, 2260, 32260 646 2260 continue 647 ivon01 = 2 648 ivcomp = ivon01 + (3+4) 649 go to 42260 65032260 ivdele = ivdele + 1 651 write (i02,80003) ivtnum 652 if (iczero) 42260, 2271, 42260 65342260 if (ivcomp - 9) 22260,12260,22260 65412260 ivpass = ivpass + 1 655 write (i02,80001) ivtnum 656 go to 2271 65722260 ivfail = ivfail + 1 658 ivcorr = 9 659 write (i02,80004) ivtnum, ivcomp ,ivcorr 660 2271 continue 661 ivtnum = 227 662c 663c **** test 227 **** 664c 665 if (iczero) 32270, 2270, 32270 666 2270 continue 667 ivon01 = 3 668 ivcomp = (2+ivon01) + 4 669 go to 42270 67032270 ivdele = ivdele + 1 671 write (i02,80003) ivtnum 672 if (iczero) 42270, 2281, 42270 67342270 if (ivcomp - 9) 22270,12270,22270 67412270 ivpass = ivpass + 1 675 write (i02,80001) ivtnum 676 go to 2281 67722270 ivfail = ivfail + 1 678 ivcorr = 9 679 write (i02,80004) ivtnum, ivcomp ,ivcorr 680 2281 continue 681 ivtnum = 228 682c 683c **** test 228 **** 684c 685 if (iczero) 32280, 2280, 32280 686 2280 continue 687 ivon01 = 3 688 ivcomp = 2 +(ivon01+4) 689 go to 42280 69032280 ivdele = ivdele + 1 691 write (i02,80003) ivtnum 692 if (iczero) 42280, 2291, 42280 69342280 if (ivcomp - 9) 22280, 12280, 22280 69412280 ivpass = ivpass + 1 695 write (i02,80001) ivtnum 696 go to 2291 69722280 ivfail = ivfail + 1 698 ivcorr = 9 699 write (i02,80004) ivtnum, ivcomp ,ivcorr 700 2291 continue 701 ivtnum = 229 702c 703c **** test 229 **** 704c 705 if (iczero) 32290, 2290, 32290 706 2290 continue 707 ivon01 = 4 708 ivcomp = (2+3)+ivon01 709 go to 42290 71032290 ivdele = ivdele + 1 711 write (i02,80003) ivtnum 712 if (iczero) 42290, 2301, 42290 71342290 if (ivcomp - 9) 22290,12290,22290 71412290 ivpass = ivpass + 1 715 write (i02,80001) ivtnum 716 go to 2301 71722290 ivfail = ivfail + 1 718 ivcorr = 9 719 write (i02,80004) ivtnum, ivcomp ,ivcorr 720 2301 continue 721 ivtnum = 230 722c 723c **** test 230 **** 724c 725 if (iczero) 32300, 2300, 32300 726 2300 continue 727 ivon01 = 2189 728 ivcomp = 1358 + (ivon01+8001) 729 go to 42300 73032300 ivdele = ivdele + 1 731 write (i02,80003) ivtnum 732 if (iczero) 42300, 2311, 42300 73342300 if (ivcomp - 11548) 22300,12300,22300 73412300 ivpass = ivpass + 1 735 write (i02,80001) ivtnum 736 go to 2311 73722300 ivfail = ivfail + 1 738 ivcorr = 11548 739 write (i02,80004) ivtnum, ivcomp ,ivcorr 740 2311 continue 741 ivtnum = 231 742c 743c **** test 231 **** 744c 745 if (iczero) 32310, 2310, 32310 746 2310 continue 747 ivon01 = 2189 748 ivcomp = (1358+ivon01) + 8001 749 go to 42310 75032310 ivdele = ivdele + 1 751 write (i02,80003) ivtnum 752 if (iczero) 42310, 2321, 42310 75342310 if (ivcomp - 11548) 22310,12310,22310 75412310 ivpass = ivpass + 1 755 write (i02,80001) ivtnum 756 go to 2321 75722310 ivfail = ivfail + 1 758 ivcorr = 11548 759 write (i02,80004) ivtnum, ivcomp ,ivcorr 760 2321 continue 761 ivtnum = 232 762c 763c **** test 232 **** 764c 765 if (iczero) 32320, 2320, 32320 766 2320 continue 767 ivon01 = 11111 768 ivcomp = (11111 + ivon01) + 10111 769 go to 42320 77032320 ivdele = ivdele + 1 771 write (i02,80003) ivtnum 772 if (iczero) 42320, 2331, 42320 77342320 if (ivcomp - 32333) 22320,12320,22320 77412320 ivpass = ivpass + 1 775 write (i02,80001) ivtnum 776 go to 2331 77722320 ivfail = ivfail + 1 778 ivcorr = 32333 779 write (i02,80004) ivtnum, ivcomp ,ivcorr 780 2331 continue 781 ivtnum = 233 782c 783c **** test 233 **** 784c 785 if (iczero) 32330, 2330, 32330 786 2330 continue 787 ivon01 = 11111 788 ivcomp = (ivon01 + 10111) + 11111 789 go to 42330 79032330 ivdele = ivdele + 1 791 write (i02,80003) ivtnum 792 if (iczero) 42330, 2341, 42330 79342330 if (ivcomp - 32333) 22330,12330,22330 79412330 ivpass = ivpass + 1 795 write (i02,80001) ivtnum 796 go to 2341 79722330 ivfail = ivfail + 1 798 ivcorr = 32333 799 write (i02,80004) ivtnum, ivcomp ,ivcorr 800 2341 continue 801 ivtnum = 234 802c 803c **** test 234 **** 804c 805 if (iczero) 32340, 2340, 32340 806 2340 continue 807 ivon01 = 10111 808 ivcomp = 11111 + (11111+ivon01) 809 go to 42340 81032340 ivdele = ivdele + 1 811 write (i02,80003) ivtnum 812 if (iczero) 42340, 2351, 42340 81342340 if (ivcomp - 32333) 22340,12340,22340 81412340 ivpass = ivpass + 1 815 write (i02,80001) ivtnum 816 go to 2351 81722340 ivfail = ivfail + 1 818 ivcorr = 32333 819 write (i02,80004) ivtnum, ivcomp ,ivcorr 820 2351 continue 821c 822c write page footings and run summaries 82399999 continue 824 write (i02,90002) 825 write (i02,90006) 826 write (i02,90002) 827 write (i02,90002) 828 write (i02,90007) 829 write (i02,90002) 830 write (i02,90008) ivfail 831 write (i02,90009) ivpass 832 write (i02,90010) ivdele 833c 834c 835c terminate routine execution 836 stop 837c 838c format statements for page headers 83990000 format (1h1) 84090002 format (1h ) 84190001 format (1h ,10x,34hfortran compiler validation system) 84290003 format (1h ,21x,11hversion 1.0) 84390004 format (1h ,10x,38hfor official use only - copyright 1978) 84490005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) 84590006 format (1h ,5x,46h----------------------------------------------) 84690011 format (1h ,18x,17hsubset level test) 847c 848c format statements for run summaries 84990008 format (1h ,15x,i5,19h errors encountered) 85090009 format (1h ,15x,i5,13h tests passed) 85190010 format (1h ,15x,i5,14h tests deleted) 852c 853c format statements for test results 85480001 format (1h ,4x,i5,7x,4hpass) 85580002 format (1h ,4x,i5,7x,4hfail) 85680003 format (1h ,4x,i5,7x,7hdeleted) 85780004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) 85880005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) 859c 86090007 format (1h ,20x,20hend of program fm008) 861 end 862