| PROGRAM FM722 00010722 |
| C 00020722 |
| C ************************************************************* 00030722 |
| C THE FULL LANGUAGE SET ALLOWS DATA TYPES TO BE DECLARED DOUBLE 00040722 |
| C PRECISION AND COMPLEX. 00050722 |
| C (NIST TEST/PROGRAM IDENTIFICATION S04AF-2P) 00060722 |
| C ************************************************************* 00070722 |
| C REFERENCES. 00080722 |
| C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00090722 |
| C X3.9-1978 00100722 |
| C 00110722 |
| C SECTION 4 DATA TYPES AND CONSTANTS 00120722 |
| C PARAGRAPHS: 00130722 |
| C 00140722 |
| C 4.1 00150722 |
| C 4.1.2 00160722 |
| C 00170722 |
| C SECTION 8 SPECIFICATION STATEMENTS 00180722 |
| C PARAGRAPHS: 00190722 |
| C 8.4.1 00200722 |
| C 8.6 00210722 |
| C 00220722 |
| C TEST DATA TYPES DOUBLE PRECISION AND COMPLEX USING: 00230722 |
| C 00240722 |
| C TYP V [,V1] 00250722 |
| C 00260722 |
| C TYP = DOUBLE PRECISION OR COMPLEX 00270722 |
| C V = VARIABLE NAME, ARRAY NAME, ARRAY DECLARATOR, 00280722 |
| C SYMBOLIC NAME OF A CONSTANT, FUNCTION NAME, 00290722 |
| C OR DUMMY PROCEDURE NAME 00300722 |
| C 00310722 |
| C FM722 USES FUNCTIONS DF723, ZF724 AND SUBROUTINE SN725 00320722 |
| C **************************************************************** 00330722 |
| C 00340722 |
| CBB** ********************** BBCCOMNT **********************************00350722 |
| C**** 00360722 |
| C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00370722 |
| C**** VERSION 2.1 00380722 |
| C**** 00390722 |
| C**** 00400722 |
| C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00410722 |
| C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00420722 |
| C**** SOFTWARE STANDARDS VALIDATION GROUP 00430722 |
| C**** BUILDING 225 RM A266 00440722 |
| C**** GAITHERSBURG, MD 20899 00450722 |
| C**** 00460722 |
| C**** 00470722 |
| C**** 00480722 |
| CBE** ********************** BBCCOMNT **********************************00490722 |
| IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00500722 |
| IMPLICIT CHARACTER*27 (C) 00510722 |
| C 00520722 |
| CBB** ********************** BBCINITA **********************************00530722 |
| C**** SPECIFICATION STATEMENTS 00540722 |
| C**** 00550722 |
| CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00560722 |
| 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00570722 |
| CBE** ********************** BBCINITA **********************************00580722 |
| DOUBLE PRECISION NVCOMP,DF723 00590722 |
| COMPLEX ICP001,I2N002(2),ZF724 00600722 |
| REAL R2NN02(2) 00610722 |
| EQUIVALENCE (ZVCOMP,R2NN02) 00620722 |
| PARAMETER (DPN001=5.834D6,IPN001=2,DCN004=1.456D3) 00630722 |
| PARAMETER (ICP001=(3.2, 2.3)) 00640722 |
| DIMENSION D2N001(IPN001) 00650722 |
| EXTERNAL DF723,ZF724 00660722 |
| COMMON /BVN001/ DVC006 00670722 |
| DATA D2N001(1),D2N001(2) / IPN001*DCN004 / 00680722 |
| DATA I2N002(1),I2N002(2) / IPN001*(3.2, 2.3) / 00690722 |
| DSN001(DVN003,DVN004) = DVN003 + DVN004 00700722 |
| DSN006(DVN007,DVN008) = (DSN001(DVN007,DVN007) + DVN008) 00710722 |
| ZSN001(RVN001,RVN002) = CMPLX(RVN001,RVN002) + 00720722 |
| 1CMPLX(RVN002,RVN002) 00730722 |
| C 00740722 |
| C 00750722 |
| CBB** ********************** BBCINITB **********************************00760722 |
| C**** INITIALIZE SECTION 00770722 |
| DATA ZVERS, ZVERSD, ZDATE 00780722 |
| 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00790722 |
| DATA ZCOMPL, ZNAME, ZTAPE 00800722 |
| 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00810722 |
| DATA ZPROJ, ZTAPED, ZPROG 00820722 |
| 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00830722 |
| DATA REMRKS /' '/ 00840722 |
| C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00850722 |
| C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00860722 |
| C**** 00870722 |
| CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00880722 |
| CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00890722 |
| CZ03 ZPROG = 'PROGRAM NAME' 00900722 |
| CZ04 ZDATE = 'DATE OF TEST' 00910722 |
| CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00920722 |
| CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00930722 |
| CZ07 ZNAME = 'NAME OF USER' 00940722 |
| CZ08 ZTAPE = 'TAPE OWNER/ID' 00950722 |
| CZ09 ZTAPED = 'DATE TAPE COPIED' 00960722 |
| C 00970722 |
| IVPASS = 0 00980722 |
| IVFAIL = 0 00990722 |
| IVDELE = 0 01000722 |
| IVINSP = 0 01010722 |
| IVTOTL = 0 01020722 |
| IVTOTN = 0 01030722 |
| ICZERO = 0 01040722 |
| C 01050722 |
| C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 01060722 |
| I01 = 05 01070722 |
| C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 01080722 |
| I02 = 06 01090722 |
| C 01100722 |
| CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 01110722 |
| C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 01120722 |
| CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 01130722 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 01140722 |
| C 01150722 |
| CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 01160722 |
| C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 01170722 |
| CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 01180722 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 01190722 |
| C 01200722 |
| CBE** ********************** BBCINITB **********************************01210722 |
| ZPROG='FM722' 01220722 |
| IVTOTL = 12 01230722 |
| CBB** ********************** BBCHED0A **********************************01240722 |
| C**** 01250722 |
| C**** WRITE REPORT TITLE 01260722 |
| C**** 01270722 |
| WRITE (I02, 90002) 01280722 |
| WRITE (I02, 90006) 01290722 |
| WRITE (I02, 90007) 01300722 |
| WRITE (I02, 90008) ZVERS, ZVERSD 01310722 |
| WRITE (I02, 90009) ZPROG, ZPROG 01320722 |
| WRITE (I02, 90010) ZDATE, ZCOMPL 01330722 |
| CBE** ********************** BBCHED0A **********************************01340722 |
| CBB** ********************** BBCHED0B **********************************01350722 |
| C**** WRITE DETAIL REPORT HEADERS 01360722 |
| C**** 01370722 |
| WRITE (I02,90004) 01380722 |
| WRITE (I02,90004) 01390722 |
| WRITE (I02,90013) 01400722 |
| WRITE (I02,90014) 01410722 |
| WRITE (I02,90015) IVTOTL 01420722 |
| CBE** ********************** BBCHED0B **********************************01430722 |
| C 01440722 |
| CT001* TEST 001 **** FCVS PROGRAM 722 **** 01450722 |
| C 01460722 |
| C TEST 001 IS DESIGNED TO TEST A DOUBLE PRECISION CONSTANT 01470722 |
| C VALUE SET WITH PARAMETER STATEMENT 01480722 |
| C 01490722 |
| IVTNUM = 1 01500722 |
| DVCOMP=0.0D0 01510722 |
| DVCOMP=DPN001 01520722 |
| DVCORR=5.834D6 01530722 |
| IF (DPN001 - 5.833999997D6) 20010,10010,40010 01540722 |
| 40010 IF (DPN001 - 5.834000003D6) 10010,10010,20010 01550722 |
| 10010 IVPASS = IVPASS + 1 01560722 |
| WRITE (I02,80002) IVTNUM 01570722 |
| GO TO 0011 01580722 |
| 20010 IVFAIL = IVFAIL + 1 01590722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 01600722 |
| 0011 CONTINUE 01610722 |
| C 01620722 |
| CT002* TEST 002 **** FCVS PROGRAM 722 **** 01630722 |
| C 01640722 |
| C TEST 002 IS DESIGNED TO TEST A DOUBLE PRECISION VARIABLE 01650722 |
| C 01660722 |
| IVTNUM = 2 01670722 |
| DVCOMP=0.0D0 01680722 |
| NVCOMP=.1212345D2 01690722 |
| DVCOMP=NVCOMP 01700722 |
| DVCORR=.1212345D2 01710722 |
| IF (NVCOMP - .1212344999D2) 20020,40021,40020 01720722 |
| 40020 IF (NVCOMP - .1212345001D2) 40021,40021,20020 01730722 |
| 40021 DVCOMP = DVCOMP + .1212345D2 01740722 |
| DVCORR=.2424690D2 01750722 |
| IF (DVCOMP - .2424689998D2) 20020,10020,40022 01760722 |
| 40022 IF (DVCOMP - .2424690002D2) 10020,10020,20020 01770722 |
| 10020 IVPASS = IVPASS + 1 01780722 |
| WRITE (I02,80002) IVTNUM 01790722 |
| GO TO 0021 01800722 |
| 20020 IVFAIL = IVFAIL + 1 01810722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 01820722 |
| 0021 CONTINUE 01830722 |
| C 01840722 |
| CT003* TEST 003 **** FCVS PROGRAM 722 **** 01850722 |
| C 01860722 |
| C TEST 003 A DOUBLE PRECISION ARRAY 01870722 |
| C 01880722 |
| IVTNUM = 3 01890722 |
| DVCOMP=0.0D0 01900722 |
| DVCORR=2.912D3 01910722 |
| DVCOMP=D2N001(1) + D2N001(2) 01920722 |
| IF (DVCOMP - 2.911999998D3) 20030,10030,40030 01930722 |
| 40030 IF (DVCOMP - 2.912000002D3) 10030,10030,20030 01940722 |
| 10030 IVPASS = IVPASS + 1 01950722 |
| WRITE (I02,80002) IVTNUM 01960722 |
| GO TO 0031 01970722 |
| 20030 IVFAIL = IVFAIL + 1 01980722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 01990722 |
| 0031 CONTINUE 02000722 |
| C 02010722 |
| CT004* TEST 004 **** FCVS PROGRAM 722 **** 02020722 |
| C 02030722 |
| C TEST 004 IS DESIGNED TO TEST A DOUBLE PRECISION FUNCTION 02040722 |
| C DF723 02050722 |
| C 02060722 |
| IVTNUM = 4 02070722 |
| DVCOMP=0.0D0 02080722 |
| DVN009=.1211D2 02090722 |
| DVCOMP=DF723(DVN009) 02100722 |
| DVCORR=1.001211D4 02110722 |
| IF (DVCOMP - 1.001210999D4) 20040,10040,40040 02120722 |
| 40040 IF (DVCOMP - 1.001211001D4) 10040,10040,20040 02130722 |
| 10040 IVPASS = IVPASS + 1 02140722 |
| WRITE (I02,80002) IVTNUM 02150722 |
| GO TO 0041 02160722 |
| 20040 IVFAIL = IVFAIL + 1 02170722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 02180722 |
| 0041 CONTINUE 02190722 |
| C 02200722 |
| CT005* TEST 005 **** FCVS PROGRAM 722 **** 02210722 |
| C 02220722 |
| C TEST 005 IS DESIGNED TO TEST A DOUBLE PRECISION DUMMY 02230722 |
| C PROCEDURE (DF723 USED AS DUMMY ARGUMENT FOR SUBROUTINE 02240722 |
| C FS528 02250722 |
| C 02260722 |
| IVTNUM = 5 02270722 |
| DVCOMP=0.0D0 02280722 |
| DVCORR=1200000.0D-2 02290722 |
| DVN009=0.0D0 02300722 |
| DVN009=10D2 02310722 |
| CALL SN725(DF723,DVN009) 02320722 |
| DVCOMP=DVC006 02330722 |
| IF (DVCOMP - .1199999999D5) 20050,10050,40050 02340722 |
| 40050 IF (DVCOMP - .1200000001D5) 10050,10050,20050 02350722 |
| 10050 IVPASS = IVPASS + 1 02360722 |
| WRITE (I02,80002) IVTNUM 02370722 |
| GO TO 0051 02380722 |
| 20050 IVFAIL = IVFAIL + 1 02390722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 02400722 |
| 0051 CONTINUE 02410722 |
| C 02420722 |
| CT006* TEST 006 **** FCVS PROGRAM 722 **** 02430722 |
| C 02440722 |
| C TEST 006 DOUBLE PRECISION FUNCTION NAME USING 02450722 |
| C STATEMENT FUNCTION STATEMENT 02460722 |
| C 02470722 |
| IVTNUM = 6 02480722 |
| DVCOMP=0.0D0 02490722 |
| DVCORR=20D2 02500722 |
| DVN009=10D2 02510722 |
| DVN010=10D2 02520722 |
| DVCOMP=DSN001(DVN009,DVN010) 02530722 |
| IF (DVCOMP - 19.99999999D2) 20060,10060,40060 02540722 |
| 40060 IF (DVCOMP - 20.00000001D2) 10060,10060,20060 02550722 |
| 10060 IVPASS = IVPASS + 1 02560722 |
| WRITE (I02,80002) IVTNUM 02570722 |
| GO TO 0061 02580722 |
| 20060 IVFAIL = IVFAIL + 1 02590722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 02600722 |
| 0061 CONTINUE 02610722 |
| C 02620722 |
| CT007* TEST 007 **** FCVS PROGRAM 722 **** 02630722 |
| C 02640722 |
| C TEST 007 DOUBLE PRECISION FUNCTION NAME USED IN 02650722 |
| C A STATEMENT FUNCTION STATEMENT AS A DUMMY ARGUMENT 02660722 |
| C 02670722 |
| IVTNUM = 7 02680722 |
| DVCOMP=0.0D0 02690722 |
| DVCORR=30D2 02700722 |
| DVN009=10D2 02710722 |
| DVN010=10D2 02720722 |
| DVCOMP=DSN006(DVN009,DVN010) 02730722 |
| IF (DVCOMP - 29.99999998D2) 20070,10070,40070 02740722 |
| 40070 IF (DVCOMP - 30.00000002D2) 10070,10070,20070 02750722 |
| 10070 IVPASS = IVPASS + 1 02760722 |
| WRITE (I02,80002) IVTNUM 02770722 |
| GO TO 0071 02780722 |
| 20070 IVFAIL = IVFAIL + 1 02790722 |
| WRITE (I02,80031) IVTNUM, DVCOMP, DVCORR 02800722 |
| 0071 CONTINUE 02810722 |
| C 02820722 |
| C THE FOLLOWING GROUP OF TESTS ARE DESIGNED TO 02830722 |
| C TEST COMPLEX DATA TYPES 02840722 |
| C 02850722 |
| C 02860722 |
| CT008* TEST 008 **** FCVS PROGRAM 722 **** 02870722 |
| C 02880722 |
| C TEST 008 DATA TYPE CAN BE A COMPLEX VARIABLE 02890722 |
| C 02900722 |
| IVTNUM = 8 02910722 |
| ZVCOMP=(0.0, 0.0) 02920722 |
| ZVCORR=(1.0, 1.0) 02930722 |
| ZVN001=(6.5, 2.2) 02940722 |
| ZVN002=(5.5, 1.2) 02950722 |
| ZVCOMP=ZVN001-ZVN002 02960722 |
| IF (R2NN02(1) - 0.9995) 20080,40081,40080 02970722 |
| 40080 IF (R2NN02(1) - 1.0001) 40081,40081,20080 02980722 |
| 40081 IF (R2NN02(2) - 0.9995) 20080,10080,40082 02990722 |
| 40082 IF (R2NN02(2) - 1.0001) 10080,10080,20080 03000722 |
| 10080 IVPASS = IVPASS + 1 03010722 |
| WRITE (I02,80002) IVTNUM 03020722 |
| GO TO 0081 03030722 |
| 20080 IVFAIL = IVFAIL + 1 03040722 |
| WRITE (I02,80045) IVTNUM, ZVCOMP, ZVCORR 03050722 |
| 0081 CONTINUE 03060722 |
| C 03070722 |
| CT009* TEST 009 **** FCVS PROGRAM 722 **** 03080722 |
| C 03090722 |
| C TEST 009 COMPLEX CONSTANT 03100722 |
| C 03110722 |
| IVTNUM = 9 03120722 |
| ZVCOMP=(0.0, 0.0) 03130722 |
| ZVCORR=(6.4, 4.6) 03140722 |
| ZVCOMP=ICP001+ICP001 03150722 |
| IF (R2NN02(1) - 6.3996) 20090,10090,40090 03160722 |
| 40090 IF (R2NN02(1) - 6.4004) 40091,40091,20090 03170722 |
| 40091 IF (R2NN02(2) - 4.5997) 20090,10090,40092 03180722 |
| 40092 IF (R2NN02(2) - 4.6003) 10090,10090,20090 03190722 |
| 10090 IVPASS = IVPASS + 1 03200722 |
| WRITE (I02,80002) IVTNUM 03210722 |
| GO TO 0091 03220722 |
| 20090 IVFAIL = IVFAIL + 1 03230722 |
| WRITE (I02,80045) IVTNUM, ZVCOMP, ZVCORR 03240722 |
| 0091 CONTINUE 03250722 |
| C 03260722 |
| CT010* TEST 010 **** FCVS PROGRAM 722 **** 03270722 |
| C 03280722 |
| C TEST 010 COMPLEX ARRAY 03290722 |
| C 03300722 |
| IVTNUM = 10 03310722 |
| ZVCOMP=(0.0, 0.0) 03320722 |
| ZVCORR=(6.4, 4.6) 03330722 |
| ZVCOMP=I2N002(1)+I2N002(2) 03340722 |
| IF (R2NN02(1) - 6.3996) 20100,10100,40100 03350722 |
| 40100 IF (R2NN02(1) - 6.4004) 40101,40101,20100 03360722 |
| 40101 IF (R2NN02(2) - 4.5997) 20100,10100,40102 03370722 |
| 40102 IF (R2NN02(2) - 4.6003) 10100,10100,20100 03380722 |
| 10100 IVPASS = IVPASS + 1 03390722 |
| WRITE (I02,80002) IVTNUM 03400722 |
| GO TO 0101 03410722 |
| 20100 IVFAIL = IVFAIL + 1 03420722 |
| WRITE (I02,80045) IVTNUM, ZVCOMP, ZVCORR 03430722 |
| 0101 CONTINUE 03440722 |
| C 03450722 |
| CT011* TEST 011 **** FCVS PROGRAM 722 **** 03460722 |
| C 03470722 |
| C TEST 011 COMPLEX FUNCTION NAME (USING STATEMENT FUNCTION) 03480722 |
| C FUNCTION NAME CAN BE COMPLEX 03490722 |
| C 03500722 |
| IVTNUM = 11 03510722 |
| ZVCORR=(3.0, 4.0) 03520722 |
| ZVCOMP=(0.0, 0.0) 03530722 |
| RVN004=1.0 03540722 |
| RVN005=2.0 03550722 |
| ZVCOMP=(ZSN001(RVN004,RVN005)) 03560722 |
| IF (R2NN02(1) - 2.9998) 20110,10110,40110 03570722 |
| 40110 IF (R2NN02(1) - 3.0002) 40111,40111,20110 03580722 |
| 40111 IF (R2NN02(2) - 3.9998) 20110,10110,40112 03590722 |
| 40112 IF (R2NN02(2) - 4.0002) 10110,10110,20110 03600722 |
| 10110 IVPASS = IVPASS + 1 03610722 |
| WRITE (I02,80002) IVTNUM 03620722 |
| GO TO 0111 03630722 |
| 20110 IVFAIL = IVFAIL + 1 03640722 |
| WRITE (I02,80045) IVTNUM, ZVCOMP, ZVCORR 03650722 |
| 0111 CONTINUE 03660722 |
| C 03670722 |
| CT012* TEST 012 **** FCVS PROGRAM 722 **** 03680722 |
| C 03690722 |
| C TEST 012 TEST COMPLEX FUNCTION NAME IN A FUNCTION SUBPROGRAM 03700722 |
| C 03710722 |
| IVTNUM = 12 03720722 |
| ZVCORR=(3.0, 4.0) 03730722 |
| ZVCOMP=(0.0, 0.0) 03740722 |
| RVN004=1.0 03750722 |
| RVN005=2.0 03760722 |
| ZVCOMP=ZF724(RVN004,RVN005) 03770722 |
| IF (R2NN02(1) - 2.9998) 20120,10120,40120 03780722 |
| 40120 IF (R2NN02(1) - 3.0002) 40121,40121,20120 03790722 |
| 40121 IF (R2NN02(2) - 3.9998) 20120,10120,40122 03800722 |
| 40122 IF (R2NN02(2) - 4.0002) 10120,10120,20120 03810722 |
| 10120 IVPASS = IVPASS + 1 03820722 |
| WRITE (I02,80002) IVTNUM 03830722 |
| GO TO 0121 03840722 |
| 20120 IVFAIL = IVFAIL + 1 03850722 |
| WRITE (I02,80045) IVTNUM, ZVCOMP, ZVCORR 03860722 |
| 0121 CONTINUE 03870722 |
| C 03880722 |
| CBB** ********************** BBCSUM0 **********************************03890722 |
| C**** WRITE OUT TEST SUMMARY 03900722 |
| C**** 03910722 |
| IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03920722 |
| WRITE (I02, 90004) 03930722 |
| WRITE (I02, 90014) 03940722 |
| WRITE (I02, 90004) 03950722 |
| WRITE (I02, 90020) IVPASS 03960722 |
| WRITE (I02, 90022) IVFAIL 03970722 |
| WRITE (I02, 90024) IVDELE 03980722 |
| WRITE (I02, 90026) IVINSP 03990722 |
| WRITE (I02, 90028) IVTOTN, IVTOTL 04000722 |
| CBE** ********************** BBCSUM0 **********************************04010722 |
| CBB** ********************** BBCFOOT0 **********************************04020722 |
| C**** WRITE OUT REPORT FOOTINGS 04030722 |
| C**** 04040722 |
| WRITE (I02,90016) ZPROG, ZPROG 04050722 |
| WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04060722 |
| WRITE (I02,90019) 04070722 |
| CBE** ********************** BBCFOOT0 **********************************04080722 |
| 90001 FORMAT (" ",56X,"FM722") 04090722 |
| 90000 FORMAT (" ",50X,"END OF PROGRAM FM722" ) 04100722 |
| CBB** ********************** BBCFMT0A **********************************04110722 |
| C**** FORMATS FOR TEST DETAIL LINES 04120722 |
| C**** 04130722 |
| 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04140722 |
| 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04150722 |
| 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04160722 |
| 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04170722 |
| 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04180722 |
| 1I6,/," ",15X,"CORRECT= " ,I6) 04190722 |
| 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04200722 |
| 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04210722 |
| 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04220722 |
| 1A21,/," ",16X,"CORRECT= " ,A21) 04230722 |
| 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04240722 |
| 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 04250722 |
| 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 04260722 |
| 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 04270722 |
| 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 04280722 |
| 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 04290722 |
| 80050 FORMAT (" ",48X,A31) 04300722 |
| CBE** ********************** BBCFMT0A **********************************04310722 |
| CBB** ********************** BBCFMAT1 **********************************04320722 |
| C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 04330722 |
| C**** 04340722 |
| 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04350722 |
| 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 04360722 |
| 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 04370722 |
| 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 04380722 |
| 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04390722 |
| 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04400722 |
| 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04410722 |
| 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04420722 |
| 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04430722 |
| 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 04440722 |
| 2"(",F12.5,", ",F12.5,")") 04450722 |
| CBE** ********************** BBCFMAT1 **********************************04460722 |
| CBB** ********************** BBCFMT0B **********************************04470722 |
| C**** FORMAT STATEMENTS FOR PAGE HEADERS 04480722 |
| C**** 04490722 |
| 90002 FORMAT ("1") 04500722 |
| 90004 FORMAT (" ") 04510722 |
| 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )04520722 |
| 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 04530722 |
| 90008 FORMAT (" ",21X,A13,A17) 04540722 |
| 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 04550722 |
| 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 04560722 |
| 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 04570722 |
| 1 7X,"REMARKS",24X) 04580722 |
| 90014 FORMAT (" ","----------------------------------------------" , 04590722 |
| 1 "---------------------------------" ) 04600722 |
| 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 04610722 |
| C**** 04620722 |
| C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04630722 |
| C**** 04640722 |
| 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 04650722 |
| 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 04660722 |
| 1 A13) 04670722 |
| 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 04680722 |
| C**** 04690722 |
| C**** FORMAT STATEMENTS FOR RUN SUMMARY 04700722 |
| C**** 04710722 |
| 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 04720722 |
| 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 04730722 |
| 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 04740722 |
| 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 04750722 |
| 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 04760722 |
| CBE** ********************** BBCFMT0B **********************************04770722 |
| END 04780722 |
| |
| DOUBLE PRECISION FUNCTION DF723(DVN008) 00010723 |
| C THIS FUNCTION IS USED BY PROGRAM FM722 TO TEST 00020723 |
| C DOUBLE PRECISION FUNCTIONS 00030723 |
| IMPLICIT DOUBLE PRECISION (D) 00040723 |
| DF723=DVN008 + 100D2 00050723 |
| RETURN 00060723 |
| END 00070723 |
| |
| COMPLEX FUNCTION ZF724(RVN006,RVN007) 00010724 |
| C THIS FUNCTION IS USED BY PROGRAM FM722 TO TEST 00020724 |
| C COMPLEX FUNCTION NAME 00030724 |
| IMPLICIT COMPLEX (Z) 00040724 |
| ZF724= CMPLX(RVN006,RVN007) + CMPLX(RVN007,RVN007) 00050724 |
| RETURN 00060724 |
| END 00070724 |
| |
| SUBROUTINE SN725(DTINT, DVN008) 00010725 |
| C THIS ROUTINE IS USED BY PROGRAM FM722 00020725 |
| C TO TEST A DOUBLE PRECISION FUNCTION NAME USED AS AN 00030725 |
| C ACTUAL ARGUMENT 00040725 |
| IMPLICIT DOUBLE PRECISION (D) 00050725 |
| COMMON /BVN001/ DVC006 00060725 |
| DVC006=DTINT(DVN008) + 10D2 00070725 |
| RETURN 00080725 |
| END 00090725 |