PROGRAM FM805 C***********************************************************************00010805 C***** FORTRAN 77 00020805 C***** FM805 YDDIM - (164) 00030805 C***** 00040805 C***********************************************************************00050805 C***** GENERAL PURPOSE ANS REF 00060805 C***** TEST INTRINSIC FUNCTION DDIM AND PROD--POSITIVE 15.3 00070805 C***** DIFFERENCE AND DOUBLE PRECISION PRODUCT, RESP. (TABLE 5)00080805 C***** 00090805 CBB** ********************** BBCCOMNT **********************************00100805 C**** 00110805 C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120805 C**** VERSION 2.1 00130805 C**** 00140805 C**** 00150805 C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160805 C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00170805 C**** SOFTWARE STANDARDS VALIDATION GROUP 00180805 C**** BUILDING 225 RM A266 00190805 C**** GAITHERSBURG, MD 20899 00200805 C**** 00210805 C**** 00220805 C**** 00230805 CBE** ********************** BBCCOMNT **********************************00240805 C***** 00250805 C***** S P E C I F I C A T I O N S SEGMENT 164 00260805 DOUBLE PRECISION DSAVD, DSBVD, DSDVD, DSEVD, DVCORR 00270805 C***** 00280805 CBB** ********************** BBCINITA **********************************00290805 C**** SPECIFICATION STATEMENTS 00300805 C**** 00310805 CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00320805 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00330805 CBE** ********************** BBCINITA **********************************00340805 CBB** ********************** BBCINITB **********************************00350805 C**** INITIALIZE SECTION 00360805 DATA ZVERS, ZVERSD, ZDATE 00370805 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00380805 DATA ZCOMPL, ZNAME, ZTAPE 00390805 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00400805 DATA ZPROJ, ZTAPED, ZPROG 00410805 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00420805 DATA REMRKS /' '/ 00430805 C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00440805 C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00450805 C**** 00460805 CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00470805 CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00480805 CZ03 ZPROG = 'PROGRAM NAME' 00490805 CZ04 ZDATE = 'DATE OF TEST' 00500805 CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00510805 CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00520805 CZ07 ZNAME = 'NAME OF USER' 00530805 CZ08 ZTAPE = 'TAPE OWNER/ID' 00540805 CZ09 ZTAPED = 'DATE TAPE COPIED' 00550805 C 00560805 IVPASS = 0 00570805 IVFAIL = 0 00580805 IVDELE = 0 00590805 IVINSP = 0 00600805 IVTOTL = 0 00610805 IVTOTN = 0 00620805 ICZERO = 0 00630805 C 00640805 C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00650805 I01 = 05 00660805 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00670805 I02 = 06 00680805 C 00690805 CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00700805 C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00710805 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00720805 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00730805 C 00740805 CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00750805 C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00760805 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00770805 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00780805 C 00790805 CBE** ********************** BBCINITB **********************************00800805 NUVI = I02 00810805 IVTOTL = 18 00820805 ZPROG = 'FM805' 00830805 CBB** ********************** BBCHED0A **********************************00840805 C**** 00850805 C**** WRITE REPORT TITLE 00860805 C**** 00870805 WRITE (I02, 90002) 00880805 WRITE (I02, 90006) 00890805 WRITE (I02, 90007) 00900805 WRITE (I02, 90008) ZVERS, ZVERSD 00910805 WRITE (I02, 90009) ZPROG, ZPROG 00920805 WRITE (I02, 90010) ZDATE, ZCOMPL 00930805 CBE** ********************** BBCHED0A **********************************00940805 C***** 00950805 C***** HEADER FOR SEGMENT 164 00960805 WRITE (NUVI,16401) 00970805 16401 FORMAT (" ",// 1X,"YDDIM - (164) INTRINSIC FUNCTIONS-- " //16X, 00980805 1 "DDIM (POSITIVE DIFFERENCE)" /,16X, 00990805 2 "DPROD (D.P. PRODUCT)" // 01000805 3 2X,"ANS REF. - 15.3" ) 01010805 CBB** ********************** BBCHED0B **********************************01020805 C**** WRITE DETAIL REPORT HEADERS 01030805 C**** 01040805 WRITE (I02,90004) 01050805 WRITE (I02,90004) 01060805 WRITE (I02,90013) 01070805 WRITE (I02,90014) 01080805 WRITE (I02,90015) IVTOTL 01090805 CBE** ********************** BBCHED0B **********************************01100805 C***** 01110805 C***** TEST OF DDIM 01120805 C***** 01130805 WRITE(NUVI, 16402) 01140805 16402 FORMAT(/ 8X, "TEST OF DDIM" ) 01150805 CT001* TEST 1 BOTH VALUES EQUAL 01160805 IVTNUM = 1 01170805 DSBVD = 0.25D0 01180805 DSDVD = 0.25D0 01190805 DSAVD = DDIM(DSBVD, DSDVD) 01200805 IF (DSAVD + 5.0D-10) 20010, 10010, 40010 01210805 40010 IF (DSAVD - 5.0D-10) 10010, 10010, 20010 01220805 10010 IVPASS = IVPASS + 1 01230805 WRITE (NUVI, 80002) IVTNUM 01240805 GO TO 0011 01250805 20010 IVFAIL = IVFAIL + 1 01260805 DVCORR = 0.0D0 01270805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01280805 0011 CONTINUE 01290805 CT002* TEST 2 BOTH VALUES EQUAL, INTEGRAL VALUES 01300805 IVTNUM = 2 01310805 DSBVD = 2.0D0 01320805 DSDVD = 2.0D0 01330805 DSAVD = DDIM(DSBVD, DSDVD) 01340805 IF (DSAVD + 5.0D-10) 20020, 10020, 40020 01350805 40020 IF (DSAVD - 5.0D-10) 10020, 10020, 20020 01360805 10020 IVPASS = IVPASS + 1 01370805 WRITE (NUVI, 80002) IVTNUM 01380805 GO TO 0021 01390805 20020 IVFAIL = IVFAIL + 1 01400805 DVCORR = 0.0D0 01410805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01420805 0021 CONTINUE 01430805 CT003* TEST 3 FIRST VALUE LESS THAN SECOND 01440805 IVTNUM = 3 01450805 DSBVD = 0.25D1 01460805 DSDVD = 0.55D1 01470805 DSAVD = DDIM(DSBVD, DSDVD) 01480805 IF (DSAVD + 5.0D-10) 20030, 10030, 40030 01490805 40030 IF (DSAVD - 5.0D-10) 10030, 10030, 20030 01500805 10030 IVPASS = IVPASS + 1 01510805 WRITE (NUVI, 80002) IVTNUM 01520805 GO TO 0031 01530805 20030 IVFAIL = IVFAIL + 1 01540805 DVCORR = 0.0D0 01550805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01560805 0031 CONTINUE 01570805 CT004* TEST 4 FIRST VALUE GREATER THAN SECOND 01580805 IVTNUM = 4 01590805 DSBVD = 0.55D1 01600805 DSDVD = 0.25D1 01610805 DSAVD = DDIM(DSBVD, DSDVD) 01620805 IF (DSAVD - 2.999999998D0) 20040, 10040, 40040 01630805 40040 IF (DSAVD - 3.000000002D0) 10040, 10040, 20040 01640805 10040 IVPASS = IVPASS + 1 01650805 WRITE (NUVI, 80002) IVTNUM 01660805 GO TO 0041 01670805 20040 IVFAIL = IVFAIL + 1 01680805 DVCORR = 3.0D0 01690805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01700805 0041 CONTINUE 01710805 CT005* TEST 5 BOTH VALUES EQUAL, BOTH NEGATIVE 01720805 IVTNUM = 5 01730805 DSBVD = -0.25D1 01740805 DSDVD = -0.25D1 01750805 DSAVD = DDIM(DSBVD, DSDVD) 01760805 IF (DSAVD + 5.0D-10) 20050, 10050, 40050 01770805 40050 IF (DSAVD - 5.0D-10) 10050, 10050, 20050 01780805 10050 IVPASS = IVPASS + 1 01790805 WRITE (NUVI, 80002) IVTNUM 01800805 GO TO 0051 01810805 20050 IVFAIL = IVFAIL + 1 01820805 DVCORR = 0.0D0 01830805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01840805 0051 CONTINUE 01850805 CT006* TEST 6 FIRST VALUE GREATER THAN SECOND, BOTH NEGATIVE 01860805 IVTNUM = 6 01870805 DSBVD = -0.25D1 01880805 DSDVD = -0.55D1 01890805 DSAVD = DDIM(DSBVD, DSDVD) 01900805 IF (DSAVD - 2.999999998D0) 20060, 10060, 40060 01910805 40060 IF (DSAVD - 3.000000002D0) 10060, 10060, 20060 01920805 10060 IVPASS = IVPASS + 1 01930805 WRITE (NUVI, 80002) IVTNUM 01940805 GO TO 0061 01950805 20060 IVFAIL = IVFAIL + 1 01960805 DVCORR = 3.0D0 01970805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 01980805 0061 CONTINUE 01990805 CT007* TEST 7 FIRST VALUE POSITIVE, SECOND NEGATIVE 02000805 IVTNUM = 7 02010805 DSBVD = 0.55D1 02020805 DSDVD = -0.25D1 02030805 DSAVD = DDIM(DSBVD, DSDVD) 02040805 IF (DSAVD - 7.999999996D0) 20070, 10070, 40070 02050805 40070 IF (DSAVD - 8.000000004D0) 10070, 10070, 20070 02060805 10070 IVPASS = IVPASS + 1 02070805 WRITE (NUVI, 80002) IVTNUM 02080805 GO TO 0071 02090805 20070 IVFAIL = IVFAIL + 1 02100805 DVCORR = 8.0D0 02110805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 02120805 0071 CONTINUE 02130805 CT008* TEST 8 ARITHMETIC EXPRESSION PRESENTED TO DDIM 02140805 IVTNUM = 8 02150805 DSDVD = 0.25D1 02160805 DSEVD = 0.125D1 02170805 DSAVD = DDIM(DSDVD / DSEVD, DSDVD * DSEVD) 02180805 IF (DSAVD + 5.0D-10) 20080, 10080, 40080 02190805 40080 IF (DSAVD - 5.0D-10) 10080, 10080, 20080 02200805 10080 IVPASS = IVPASS + 1 02210805 WRITE (NUVI, 80002) IVTNUM 02220805 GO TO 0081 02230805 20080 IVFAIL = IVFAIL + 1 02240805 DVCORR = 0.0D0 02250805 WRITE (NUVI, 80031) IVTNUM, DSAVD, DVCORR 02260805 0081 CONTINUE 02270805 C***** 02280805 C***** TEST OF DPROD 02290805 C***** 02300805 WRITE(NUVI, 16404) 02310805 REMRKS = '+ OR - 0.00005' 02320805 16404 FORMAT(// 8X, "TEST OF DPROD" ) 02330805 CT009* TEST 9 PAIR OF VALUES, ONE OF WHICH IS ZERO 02340805 IVTNUM = 9 02350805 RSAVS = 0.0 02360805 RSBVS = 2.0 02370805 DSAVD = DPROD(RSAVS, RSBVS) 02380805 IF (DSAVD + 5.0D-5) 20090, 10090, 40090 02390805 40090 IF (DSAVD - 5.0D-5) 10090, 10090, 20090 02400805 10090 IVPASS = IVPASS + 1 02410805 WRITE (NUVI, 80002) IVTNUM 02420805 GO TO 0091 02430805 20090 IVFAIL = IVFAIL + 1 02440805 DVCORR = 0.0D0 02450805 WRITE (NUVI, 80008) IVTNUM 02460805 WRITE (NUVI, 80033) DSAVD 02470805 WRITE (NUVI, 80035) DVCORR, REMRKS 02480805 0091 CONTINUE 02490805 CT010* TEST 10 PAIR OF VALUES, ONE OF WHICH IS ONE 02500805 IVTNUM = 10 02510805 RSAVS = 1.0 02520805 RSBVS = 2.0 02530805 DSAVD = DPROD(RSAVS, RSBVS) 02540805 IF (DSAVD - 1.9999D0) 20100, 10100, 40100 02550805 40100 IF (DSAVD - 2.0001D0) 10100, 10100, 20100 02560805 10100 IVPASS = IVPASS + 1 02570805 WRITE (NUVI, 80002) IVTNUM 02580805 GO TO 0101 02590805 20100 IVFAIL = IVFAIL + 1 02600805 DVCORR = 2.0D0 02610805 WRITE (NUVI, 80008) IVTNUM 02620805 WRITE (NUVI, 80033) DSAVD 02630805 WRITE (NUVI, 80035) DVCORR, REMRKS 02640805 0101 CONTINUE 02650805 CT011* TEST 11 PAIR OF NON-ZERO VALUES 02660805 IVTNUM = 11 02670805 RSAVS = 3.333333 02680805 RSBVS = 2.3948094 02690805 DSAVD = DPROD(RSAVS, RSBVS) 02700805 IF (DSAVD - 7.9823D0) 20110, 10110, 40110 02710805 40110 IF (DSAVD - 7.9831D0) 10110, 10110, 20110 02720805 10110 IVPASS = IVPASS + 1 02730805 WRITE (NUVI, 80002) IVTNUM 02740805 GO TO 0111 02750805 20110 IVFAIL = IVFAIL + 1 02760805 DVCORR = 7.982697202D0 02770805 WRITE (NUVI, 80008) IVTNUM 02780805 WRITE (NUVI, 80033) DSAVD 02790805 WRITE (NUVI, 80035) DVCORR, REMRKS 02800805 0111 CONTINUE 02810805 CT012* TEST 12 ONE POSITIVE, ONE NEGATIVE 02820805 IVTNUM = 12 02830805 RSAVS = 0.123456 02840805 RSBVS = -2.98765 02850805 DSAVD = DPROD(RSAVS, RSBVS) 02860805 IF (DSAVD + 3.6887D-1) 20120, 10120, 40120 02870805 40120 IF (DSAVD + 3.6882D-1) 10120, 10120, 20120 02880805 10120 IVPASS = IVPASS + 1 02890805 WRITE (NUVI, 80002) IVTNUM 02900805 GO TO 0121 02910805 20120 IVFAIL = IVFAIL + 1 02920805 DVCORR = -3.688433184D-1 02930805 WRITE (NUVI, 80008) IVTNUM 02940805 WRITE (NUVI, 80033) DSAVD 02950805 WRITE (NUVI, 80035) DVCORR, REMRKS 02960805 0121 CONTINUE 02970805 CT013* TEST 13 ONE VALUE ONE(1), ONE NEGATIVE 02980805 IVTNUM = 13 02990805 RSAVS = 1.0834001 03000805 RSBVS = -2.034985 03010805 DSAVD = DPROD(RSAVS, RSBVS) 03020805 IF (DSAVD + 2.2049D0) 20130, 10130, 40130 03030805 40130 IF (DSAVD + 2.2045D0) 10130, 10130, 20130 03040805 10130 IVPASS = IVPASS + 1 03050805 WRITE (NUVI, 80002) IVTNUM 03060805 GO TO 0131 03070805 20130 IVFAIL = IVFAIL + 1 03080805 DVCORR = -2.204702953D0 03090805 WRITE (NUVI, 80008) IVTNUM 03100805 WRITE (NUVI, 80033) DSAVD 03110805 WRITE (NUVI, 80035) DVCORR, REMRKS 03120805 0131 CONTINUE 03130805 CT014* TEST 14 PAIR OF NEGATIVE VALUES 03140805 IVTNUM = 14 03150805 RSAVS = -3.077734 03160805 RSBVS = -2.348343 03170805 DSAVD = DPROD(RSAVS, RSBVS) 03180805 IF (DSAVD - 7.2272D0) 20140, 10140, 40140 03190805 40140 IF (DSAVD - 7.2280D0) 10140, 10140, 20140 03200805 10140 IVPASS = IVPASS + 1 03210805 WRITE (NUVI, 80002) IVTNUM 03220805 GO TO 0141 03230805 20140 IVFAIL = IVFAIL + 1 03240805 DVCORR = 7.227575095D0 03250805 WRITE (NUVI, 80008) IVTNUM 03260805 WRITE (NUVI, 80033) DSAVD 03270805 WRITE (NUVI, 80035) DVCORR, REMRKS 03280805 0141 CONTINUE 03290805 CT015* TEST 15 ONE POSITIVE VALUE, ONE NEGATIVE VALUE 03300805 IVTNUM = 15 03310805 RSAVS = 3.3333324 03320805 RSBVS = -2.343953 03330805 DSAVD = DPROD(RSAVS, RSBVS) 03340805 IF (DSAVD + 7.8136D0) 20150, 10150, 40150 03350805 40150 IF (DSAVD + 7.8127D0) 10150, 10150, 20150 03360805 10150 IVPASS = IVPASS + 1 03370805 WRITE (NUVI, 80002) IVTNUM 03380805 GO TO 0151 03390805 20150 IVFAIL = IVFAIL + 1 03400805 DVCORR = -7.813174479D0 03410805 WRITE (NUVI, 80008) IVTNUM 03420805 WRITE (NUVI, 80033) DSAVD 03430805 WRITE (NUVI, 80035) DVCORR, REMRKS 03440805 0151 CONTINUE 03450805 CT016* TEST 16 ARITHMETIC EXPRESSION PRESENTED TO DPROD 03460805 IVTNUM = 16 03470805 RSAVS = 1.555674 03480805 RSBVS = 2.00012 03490805 DSAVD = DPROD(RSAVS - RSBVS, RSAVS + RSBVS) 03500805 IF (DSAVD + 1.5805D0) 20160, 10160, 40160 03510805 40160 IF (DSAVD + 1.5802D0) 10160, 10160, 20160 03520805 10160 IVPASS = IVPASS + 1 03530805 WRITE (NUVI, 80002) IVTNUM 03540805 GO TO 0161 03550805 20160 IVFAIL = IVFAIL + 1 03560805 DVCORR = -1.580358420D0 03570805 WRITE (NUVI, 80008) IVTNUM 03580805 WRITE (NUVI, 80033) DSAVD 03590805 WRITE (NUVI, 80035) DVCORR, REMRKS 03600805 0161 CONTINUE 03610805 CT017* TEST 17 DPROD FORMS THE ARGUMENTS TO DDIM 03620805 IVTNUM = 17 03630805 DSAVD = DDIM(DPROD(0.4, 2.0), DPROD(3.0, 0.1)) 03640805 IF (DSAVD - 0.49997D0) 20170, 10170, 40170 03650805 40170 IF (DSAVD - 0.50003D0) 10170, 10170, 20170 03660805 10170 IVPASS = IVPASS + 1 03670805 WRITE (NUVI, 80002) IVTNUM 03680805 GO TO 0171 03690805 20170 IVFAIL = IVFAIL + 1 03700805 DVCORR = 0.5D0 03710805 WRITE (NUVI, 80008) IVTNUM 03720805 WRITE (NUVI, 80033) DSAVD 03730805 WRITE (NUVI, 80035) DVCORR, REMRKS 03740805 0171 CONTINUE 03750805 CT018* TEST 18 ARGUMENTS WITH HIGH AND LOW MAGNITUDES 03760805 IVTNUM = 18 03770805 RSAVS = 1.23456E-33 03780805 RSBVS = 1.23456E+34 03790805 DSAVD = DPROD(RSAVS, RSBVS) 03800805 IF (DSAVD - 1.5240D1) 20180, 10180, 40180 03810805 40180 IF (DSAVD - 1.5242D1) 10180, 10180, 20180 03820805 10180 IVPASS = IVPASS + 1 03830805 WRITE (NUVI, 80002) IVTNUM 03840805 GO TO 0181 03850805 20180 IVFAIL = IVFAIL + 1 03860805 DVCORR = 1.524138394D1 03870805 WRITE (NUVI, 80008) IVTNUM 03880805 WRITE (NUVI, 80033) DSAVD 03890805 WRITE (NUVI, 80035) DVCORR, REMRKS 03900805 0181 CONTINUE 03910805 C***** 03920805 CBB** ********************** BBCSUM0 **********************************03930805 C**** WRITE OUT TEST SUMMARY 03940805 C**** 03950805 IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03960805 WRITE (I02, 90004) 03970805 WRITE (I02, 90014) 03980805 WRITE (I02, 90004) 03990805 WRITE (I02, 90020) IVPASS 04000805 WRITE (I02, 90022) IVFAIL 04010805 WRITE (I02, 90024) IVDELE 04020805 WRITE (I02, 90026) IVINSP 04030805 WRITE (I02, 90028) IVTOTN, IVTOTL 04040805 CBE** ********************** BBCSUM0 **********************************04050805 CBB** ********************** BBCFOOT0 **********************************04060805 C**** WRITE OUT REPORT FOOTINGS 04070805 C**** 04080805 WRITE (I02,90016) ZPROG, ZPROG 04090805 WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04100805 WRITE (I02,90019) 04110805 CBE** ********************** BBCFOOT0 **********************************04120805 CBB** ********************** BBCFMT0A **********************************04130805 C**** FORMATS FOR TEST DETAIL LINES 04140805 C**** 04150805 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04160805 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04170805 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04180805 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04190805 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04200805 1I6,/," ",15X,"CORRECT= " ,I6) 04210805 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04220805 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04230805 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04240805 1A21,/," ",16X,"CORRECT= " ,A21) 04250805 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04260805 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 04270805 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 04280805 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 04290805 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 04300805 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 04310805 80050 FORMAT (" ",48X,A31) 04320805 CBE** ********************** BBCFMT0A **********************************04330805 CBB** ********************** BBCFMAT1 **********************************04340805 C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 04350805 C**** 04360805 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04370805 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 04380805 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 04390805 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 04400805 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04410805 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04420805 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04430805 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04440805 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04450805 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 04460805 2"(",F12.5,", ",F12.5,")") 04470805 CBE** ********************** BBCFMAT1 **********************************04480805 CBB** ********************** BBCFMT0B **********************************04490805 C**** FORMAT STATEMENTS FOR PAGE HEADERS 04500805 C**** 04510805 90002 FORMAT ("1") 04520805 90004 FORMAT (" ") 04530805 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )04540805 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 04550805 90008 FORMAT (" ",21X,A13,A17) 04560805 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 04570805 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 04580805 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 04590805 1 7X,"REMARKS",24X) 04600805 90014 FORMAT (" ","----------------------------------------------" , 04610805 1 "---------------------------------" ) 04620805 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 04630805 C**** 04640805 C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04650805 C**** 04660805 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 04670805 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 04680805 1 A13) 04690805 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 04700805 C**** 04710805 C**** FORMAT STATEMENTS FOR RUN SUMMARY 04720805 C**** 04730805 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 04740805 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 04750805 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 04760805 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 04770805 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 04780805 CBE** ********************** BBCFMT0B **********************************04790805 C***** 04800805 C***** END OF TEST SEGMENT 164 04810805 STOP 04820805 END 04830805 04840805