PROGRAM FM359 C***********************************************************************00010359 C***** FORTRAN 77 00020359 C***** FM359 XSIGN - (161) 00030359 C***** 00040359 C***********************************************************************00050359 C***** GENERAL PURPOSE SUBSET REF00060359 C***** TEST INTRINSIC FUNCTION - SIGN, ISIGN - (TRANSFER 15.3 00070359 C***** OF SIGN - SIGN OF A2 TIMES ABS(A1) ) (TABLE 5)00080359 C***** 00090359 CBB** ********************** BBCCOMNT **********************************00100359 C**** 00110359 C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120359 C**** VERSION 2.1 00130359 C**** 00140359 C**** 00150359 C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160359 C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00170359 C**** SOFTWARE STANDARDS VALIDATION GROUP 00180359 C**** BUILDING 225 RM A266 00190359 C**** GAITHERSBURG, MD 20899 00200359 C**** 00210359 C**** 00220359 C**** 00230359 CBE** ********************** BBCCOMNT **********************************00240359 CBB** ********************** BBCINITA **********************************00250359 C**** SPECIFICATION STATEMENTS 00260359 C**** 00270359 CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00280359 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00290359 CBE** ********************** BBCINITA **********************************00300359 CBB** ********************** BBCINITB **********************************00310359 C**** INITIALIZE SECTION 00320359 DATA ZVERS, ZVERSD, ZDATE 00330359 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00340359 DATA ZCOMPL, ZNAME, ZTAPE 00350359 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00360359 DATA ZPROJ, ZTAPED, ZPROG 00370359 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00380359 DATA REMRKS /' '/ 00390359 C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00400359 C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00410359 C**** 00420359 CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00430359 CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00440359 CZ03 ZPROG = 'PROGRAM NAME' 00450359 CZ04 ZDATE = 'DATE OF TEST' 00460359 CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00470359 CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00480359 CZ07 ZNAME = 'NAME OF USER' 00490359 CZ08 ZTAPE = 'TAPE OWNER/ID' 00500359 CZ09 ZTAPED = 'DATE TAPE COPIED' 00510359 C 00520359 IVPASS = 0 00530359 IVFAIL = 0 00540359 IVDELE = 0 00550359 IVINSP = 0 00560359 IVTOTL = 0 00570359 IVTOTN = 0 00580359 ICZERO = 0 00590359 C 00600359 C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00610359 I01 = 05 00620359 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00630359 I02 = 06 00640359 C 00650359 CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00660359 C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00670359 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00680359 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00690359 C 00700359 CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00710359 C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00720359 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00730359 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00740359 C 00750359 CBE** ********************** BBCINITB **********************************00760359 NUVI = I02 00770359 IVTOTL = 22 00780359 ZPROG = 'FM359' 00790359 CBB** ********************** BBCHED0A **********************************00800359 C**** 00810359 C**** WRITE REPORT TITLE 00820359 C**** 00830359 WRITE (I02, 90002) 00840359 WRITE (I02, 90006) 00850359 WRITE (I02, 90007) 00860359 WRITE (I02, 90008) ZVERS, ZVERSD 00870359 WRITE (I02, 90009) ZPROG, ZPROG 00880359 WRITE (I02, 90010) ZDATE, ZCOMPL 00890359 CBE** ********************** BBCHED0A **********************************00900359 C***** 00910359 C***** HEADER FOR SEGMENT 161 00920359 WRITE (NUVI,16101) 00930359 16101 FORMAT(" ", // 2X,"XSIGN - (161) INTRINSIC FUNCTIONS-- " //12X,00940359 1 "SIGN, ISIGN (TRANSFER OF SIGN)" // 00950359 2 2X,"SUBSET REF. - 15.3 " ) 00960359 CBB** ********************** BBCHED0B **********************************00970359 C**** WRITE DETAIL REPORT HEADERS 00980359 C**** 00990359 WRITE (I02,90004) 01000359 WRITE (I02,90004) 01010359 WRITE (I02,90013) 01020359 WRITE (I02,90014) 01030359 WRITE (I02,90015) IVTOTL 01040359 CBE** ********************** BBCHED0B **********************************01050359 C***** 01060359 C***** TEST OF SIGN 01070359 C***** 01080359 WRITE(NUVI, 16102) 01090359 16102 FORMAT (/ 8X, "TEST OF SIGN" ) 01100359 CT001* TEST 1 BOTH VALUES ZERO 01110359 IVTNUM = 1 01120359 RFBVS = 0.0 01130359 RFAVS = SIGN(RFBVS, RFBVS) 01140359 IF (RFAVS + 0.00005) 20010, 10010, 40010 01150359 40010 IF (RFAVS - 0.00005) 10010, 10010, 20010 01160359 10010 IVPASS = IVPASS + 1 01170359 WRITE (NUVI, 80002) IVTNUM 01180359 GO TO 0011 01190359 20010 IVFAIL = IVFAIL + 1 01200359 RVCORR = 0.0 01210359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01220359 0011 CONTINUE 01230359 CT002* TEST 2 FIRST VALUE POSITIVE, SECOND ZERO 01240359 IVTNUM = 2 01250359 RFBVS = 1.5 01260359 RFDVS = 0.0 01270359 RFAVS = SIGN(RFBVS, RFDVS) 01280359 IF (RFAVS - 1.4999) 20020, 10020, 40020 01290359 40020 IF (RFAVS - 1.5001) 10020, 10020, 20020 01300359 10020 IVPASS = IVPASS + 1 01310359 WRITE (NUVI, 80002) IVTNUM 01320359 GO TO 0021 01330359 20020 IVFAIL = IVFAIL + 1 01340359 RVCORR = 1.5 01350359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01360359 0021 CONTINUE 01370359 CT003* TEST 3 FIRST VALUE NEGATIVE, SECOND ZERO 01380359 IVTNUM = 3 01390359 RFBVS = -1.5 01400359 RFDVS = 0.0 01410359 RFAVS = SIGN(RFBVS, RFDVS) 01420359 IF (RFAVS - 1.4999) 20030, 10030, 40030 01430359 40030 IF (RFAVS - 1.5001) 10030, 10030, 20030 01440359 10030 IVPASS = IVPASS + 1 01450359 WRITE (NUVI, 80002) IVTNUM 01460359 GO TO 0031 01470359 20030 IVFAIL = IVFAIL + 1 01480359 RVCORR = 1.5 01490359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01500359 0031 CONTINUE 01510359 CT004* TEST 4 FIRST VALUE ZERO, SECOND POSITIVE 01520359 IVTNUM = 4 01530359 RFBVS = 0.0 01540359 RFDVS = 2.5 01550359 RFAVS = SIGN(RFBVS, RFDVS) 01560359 IF (RFAVS + 0.00005) 20040, 10040, 40040 01570359 40040 IF (RFAVS - 0.00005) 10040, 10040, 20040 01580359 10040 IVPASS = IVPASS + 1 01590359 WRITE (NUVI, 80002) IVTNUM 01600359 GO TO 0041 01610359 20040 IVFAIL = IVFAIL + 1 01620359 RVCORR = 0.0 01630359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01640359 0041 CONTINUE 01650359 CT005* TEST 5 BOTH VALUES POSITIVE 01660359 IVTNUM = 5 01670359 RFBVS = 1.5 01680359 RFDVS = 2.5 01690359 RFAVS = SIGN(RFBVS, RFDVS) 01700359 IF (RFAVS - 1.4999) 20050, 10050, 40050 01710359 40050 IF (RFAVS - 1.5001) 10050, 10050, 20050 01720359 10050 IVPASS = IVPASS + 1 01730359 WRITE (NUVI, 80002) IVTNUM 01740359 GO TO 0051 01750359 20050 IVFAIL = IVFAIL + 1 01760359 RVCORR = 1.5 01770359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01780359 0051 CONTINUE 01790359 CT006* TEST 6 FIRST VALUE NEGATIVE, SECOND POSITIVE 01800359 IVTNUM = 6 01810359 RFBVS = -1.5 01820359 RFDVS = 2.5 01830359 RFAVS = SIGN(RFBVS, RFDVS) 01840359 IF (RFAVS - 1.4999) 20060, 10060, 40060 01850359 40060 IF (RFAVS - 1.5001) 10060, 10060, 20060 01860359 10060 IVPASS = IVPASS + 1 01870359 WRITE (NUVI, 80002) IVTNUM 01880359 GO TO 0061 01890359 20060 IVFAIL = IVFAIL + 1 01900359 RVCORR = 1.5 01910359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 01920359 0061 CONTINUE 01930359 CT007* TEST 7 FIRST VALUE ZERO, SECOND NEGATIVE 01940359 IVTNUM = 7 01950359 RFBVS = 0.0 01960359 RFDVS = -2.5 01970359 RFAVS = SIGN(RFBVS, RFDVS) 01980359 IF (RFAVS + 0.00005) 20070, 10070, 40070 01990359 40070 IF (RFAVS - 0.00005) 10070, 10070, 20070 02000359 10070 IVPASS = IVPASS + 1 02010359 WRITE (NUVI, 80002) IVTNUM 02020359 GO TO 0071 02030359 20070 IVFAIL = IVFAIL + 1 02040359 RVCORR = 0.0 02050359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 02060359 0071 CONTINUE 02070359 CT008* TEST 8 BOTH VALUES NEGATIVE 02080359 IVTNUM = 8 02090359 RFBVS = -1.5 02100359 RFDVS = -2.5 02110359 RFAVS = SIGN(RFBVS, RFDVS) 02120359 IF (RFAVS + 1.5001) 20080, 10080, 40080 02130359 40080 IF (RFAVS + 1.4999) 10080, 10080, 20080 02140359 10080 IVPASS = IVPASS + 1 02150359 WRITE (NUVI, 80002) IVTNUM 02160359 GO TO 0081 02170359 20080 IVFAIL = IVFAIL + 1 02180359 RVCORR = -1.5 02190359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 02200359 0081 CONTINUE 02210359 CT009* TEST 9 FIRST VALUE POSITIVE, SECOND NEGATIVE 02220359 IVTNUM = 9 02230359 RFBVS = 1.5 02240359 RFDVS = -2.5 02250359 RFAVS = SIGN(RFBVS, RFDVS) 02260359 IF (RFAVS + 1.5001) 20090, 10090, 40090 02270359 40090 IF (RFAVS + 1.4999) 10090, 10090, 20090 02280359 10090 IVPASS = IVPASS + 1 02290359 WRITE (NUVI, 80002) IVTNUM 02300359 GO TO 0091 02310359 20090 IVFAIL = IVFAIL + 1 02320359 RVCORR = -1.5 02330359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 02340359 0091 CONTINUE 02350359 CT010* TEST 10 BOTH VALUES ZERO, 1ST ZERO PRECEDED BY A MINUS SIGN 02360359 IVTNUM = 10 02370359 RFDVS = 0.0 02380359 RFEVS = 0.0 02390359 RFAVS = SIGN(-RFDVS, RFEVS) 02400359 IF (RFAVS + 0.0005) 20100, 10100, 40100 02410359 40100 IF (RFAVS - 0.00005) 10100, 10100, 20100 02420359 10100 IVPASS = IVPASS + 1 02430359 WRITE (NUVI, 80002) IVTNUM 02440359 GO TO 0101 02450359 20100 IVFAIL = IVFAIL + 1 02460359 RVCORR = 0.0 02470359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 02480359 0101 CONTINUE 02490359 CT011* TEST 11 ARITHMETIC EXPRESSIONS PRESENTED TO SIGN 02500359 IVTNUM = 11 02510359 RFDVS = 1.5 02520359 RFEVS = 2.0 02530359 RFAVS = SIGN(RFDVS + RFEVS, RFDVS - RFEVS) 02540359 IF (RFAVS + 3.5002) 20110, 10110, 40110 02550359 40110 IF (RFAVS + 3.4998) 10110, 10110, 20110 02560359 10110 IVPASS = IVPASS + 1 02570359 WRITE (NUVI, 80002) IVTNUM 02580359 GO TO 0111 02590359 20110 IVFAIL = IVFAIL + 1 02600359 RVCORR = -3.5 02610359 WRITE (NUVI, 80012) IVTNUM, RFAVS, RVCORR 02620359 0111 CONTINUE 02630359 C***** 02640359 C***** TEST OF ISIGN 02650359 C***** 02660359 WRITE(NUVI, 16104) 02670359 16104 FORMAT (/ 8X, "TEST OF ISIGN" ) 02680359 C***** 02690359 CT012* TEST 12 BOTH VALUES ZERO 02700359 IVTNUM = 12 02710359 IFBVI = 0 02720359 IFDVI = 0 02730359 IFAVI = ISIGN(IFBVI, IFDVI) 02740359 IF (IFAVI - 0) 20120, 10120, 20120 02750359 10120 IVPASS = IVPASS + 1 02760359 WRITE (NUVI, 80002) IVTNUM 02770359 GO TO 0121 02780359 20120 IVFAIL = IVFAIL + 1 02790359 IVCORR = 0 02800359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 02810359 0121 CONTINUE 02820359 CT013* TEST 13 FIRST VALUE POSITIVE, SECOND ZERO 02830359 IVTNUM = 13 02840359 IFBVI = 2 02850359 IFDVI = 0 02860359 IFAVI = ISIGN(IFBVI, IFDVI) 02870359 IF (IFAVI - 2) 20130, 10130, 20130 02880359 10130 IVPASS = IVPASS + 1 02890359 WRITE (NUVI, 80002) IVTNUM 02900359 GO TO 0131 02910359 20130 IVFAIL = IVFAIL + 1 02920359 IVCORR = 2 02930359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 02940359 0131 CONTINUE 02950359 CT014* TEST 14 FIRST VALUE NEGATIVE, SECOND ZERO 02960359 IVTNUM = 14 02970359 IFBVI = -2 02980359 IFDVI = 0 02990359 IFAVI = ISIGN(IFBVI, IFDVI) 03000359 IF (IFAVI - 2) 20140, 10140, 20140 03010359 10140 IVPASS = IVPASS + 1 03020359 WRITE (NUVI, 80002) IVTNUM 03030359 GO TO 0141 03040359 20140 IVFAIL = IVFAIL + 1 03050359 IVCORR = 2 03060359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03070359 0141 CONTINUE 03080359 CT015* TEST 15 FIRST VALUE ZERO, SECOND POSITIVE 03090359 IVTNUM = 15 03100359 IFBVI = 0 03110359 IFDVI = 5 03120359 IFAVI = ISIGN(IFBVI, IFDVI) 03130359 IF (IFAVI - 0) 20150, 10150, 20150 03140359 10150 IVPASS = IVPASS + 1 03150359 WRITE (NUVI, 80002) IVTNUM 03160359 GO TO 0151 03170359 20150 IVFAIL = IVFAIL + 1 03180359 IVCORR = 0 03190359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03200359 0151 CONTINUE 03210359 CT016* TEST 16 BOTH VALUES POSITIVE 03220359 IVTNUM = 16 03230359 IFBVI = 2 03240359 IFDVI = 5 03250359 IFAVI = ISIGN(IFBVI, IFDVI) 03260359 IF (IFAVI - 2) 20160, 10160, 20160 03270359 10160 IVPASS = IVPASS + 1 03280359 WRITE (NUVI, 80002) IVTNUM 03290359 GO TO 0161 03300359 20160 IVFAIL = IVFAIL + 1 03310359 IVCORR = 2 03320359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03330359 0161 CONTINUE 03340359 CT017* TEST 17 FIRST VALUE NEGATIVE, SECOND POSITIVE 03350359 IVTNUM = 17 03360359 IFBVI = -2 03370359 IFDVI = 5 03380359 IFAVI = ISIGN(IFBVI, IFDVI) 03390359 IF (IFAVI - 2) 20170, 10170, 20170 03400359 10170 IVPASS = IVPASS + 1 03410359 WRITE (NUVI, 80002) IVTNUM 03420359 GO TO 0171 03430359 20170 IVFAIL = IVFAIL + 1 03440359 IVCORR = 2 03450359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03460359 0171 CONTINUE 03470359 CT018* TEST 18 FIRST VALUE ZERO, SECOND NEGATIVE 03480359 IVTNUM = 18 03490359 IFBVI = 0 03500359 IFDVI = -5 03510359 IFAVI = ISIGN(IFBVI, IFDVI) 03520359 IF (IFAVI - 0) 20180, 10180, 20180 03530359 10180 IVPASS = IVPASS + 1 03540359 WRITE (NUVI, 80002) IVTNUM 03550359 GO TO 0181 03560359 20180 IVFAIL = IVFAIL + 1 03570359 IVCORR = 0 03580359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03590359 0181 CONTINUE 03600359 CT019* TEST 19 BOTH VALUES NEGATIVE 03610359 IVTNUM = 19 03620359 IFBVI = -2 03630359 IFDVI = -5 03640359 IFAVI = ISIGN(IFBVI, IFDVI) 03650359 IF (IFAVI + 2) 20190, 10190, 20190 03660359 10190 IVPASS = IVPASS + 1 03670359 WRITE (NUVI, 80002) IVTNUM 03680359 GO TO 0191 03690359 20190 IVFAIL = IVFAIL + 1 03700359 IVCORR = -2 03710359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03720359 0191 CONTINUE 03730359 CT020* TEST 20 FIRST VALUE POSITIVE, SECOND NEGATIVE 03740359 IVTNUM = 20 03750359 IFBVI = 2 03760359 IFDVI = -5 03770359 IFAVI = ISIGN(IFBVI, IFDVI) 03780359 IF (IFAVI + 2) 20200, 10200, 20200 03790359 10200 IVPASS = IVPASS + 1 03800359 WRITE (NUVI, 80002) IVTNUM 03810359 GO TO 0201 03820359 20200 IVFAIL = IVFAIL + 1 03830359 IVCORR = -2 03840359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03850359 0201 CONTINUE 03860359 CT021* TEST 21 BOTH VALUES ZERO, 1ST ZERO PRECEDED BY A MINUS SIGN 03870359 IVTNUM = 21 03880359 IFDVI = 0 03890359 IFEVI = 0 03900359 IFAVI = ISIGN(-IFDVI, IFEVI) 03910359 IF (IFAVI - 0) 20210, 10210, 20210 03920359 10210 IVPASS = IVPASS + 1 03930359 WRITE (NUVI, 80002) IVTNUM 03940359 GO TO 0211 03950359 20210 IVFAIL = IVFAIL + 1 03960359 IVCORR = 0 03970359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 03980359 0211 CONTINUE 03990359 CT022* TEST 22 ARITHMETIC EXPRESSIONS PRESENTED TO ISIGN 04000359 IVTNUM = 22 04010359 IFDVI = 2 04020359 IFEVI = 3 04030359 IFAVI = ISIGN(IFDVI + IFEVI, IFDVI - IFEVI) 04040359 IF (IFAVI + 5) 20220, 10220, 20220 04050359 10220 IVPASS = IVPASS + 1 04060359 WRITE (NUVI, 80002) IVTNUM 04070359 GO TO 0221 04080359 20220 IVFAIL = IVFAIL + 1 04090359 IVCORR = -5 04100359 WRITE (NUVI, 80010) IVTNUM, IFAVI, IVCORR 04110359 0221 CONTINUE 04120359 C***** 04130359 CBB** ********************** BBCSUM0 **********************************04140359 C**** WRITE OUT TEST SUMMARY 04150359 C**** 04160359 IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04170359 WRITE (I02, 90004) 04180359 WRITE (I02, 90014) 04190359 WRITE (I02, 90004) 04200359 WRITE (I02, 90020) IVPASS 04210359 WRITE (I02, 90022) IVFAIL 04220359 WRITE (I02, 90024) IVDELE 04230359 WRITE (I02, 90026) IVINSP 04240359 WRITE (I02, 90028) IVTOTN, IVTOTL 04250359 CBE** ********************** BBCSUM0 **********************************04260359 CBB** ********************** BBCFOOT0 **********************************04270359 C**** WRITE OUT REPORT FOOTINGS 04280359 C**** 04290359 WRITE (I02,90016) ZPROG, ZPROG 04300359 WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04310359 WRITE (I02,90019) 04320359 CBE** ********************** BBCFOOT0 **********************************04330359 CBB** ********************** BBCFMT0A **********************************04340359 C**** FORMATS FOR TEST DETAIL LINES 04350359 C**** 04360359 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04370359 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04380359 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04390359 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04400359 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04410359 1I6,/," ",15X,"CORRECT= " ,I6) 04420359 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04430359 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04440359 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04450359 1A21,/," ",16X,"CORRECT= " ,A21) 04460359 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04470359 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 04480359 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 04490359 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 04500359 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 04510359 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 04520359 80050 FORMAT (" ",48X,A31) 04530359 CBE** ********************** BBCFMT0A **********************************04540359 CBB** ********************** BBCFMT0B **********************************04550359 C**** FORMAT STATEMENTS FOR PAGE HEADERS 04560359 C**** 04570359 90002 FORMAT ("1") 04580359 90004 FORMAT (" ") 04590359 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )04600359 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 04610359 90008 FORMAT (" ",21X,A13,A17) 04620359 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 04630359 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 04640359 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 04650359 1 7X,"REMARKS",24X) 04660359 90014 FORMAT (" ","----------------------------------------------" , 04670359 1 "---------------------------------" ) 04680359 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 04690359 C**** 04700359 C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04710359 C**** 04720359 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 04730359 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 04740359 1 A13) 04750359 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 04760359 C**** 04770359 C**** FORMAT STATEMENTS FOR RUN SUMMARY 04780359 C**** 04790359 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 04800359 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 04810359 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 04820359 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 04830359 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 04840359 CBE** ********************** BBCFMT0B **********************************04850359 C***** 04860359 C***** END OF TEST SEGMENT 161 04870359 STOP 04880359 END 04890359 04900359