blob: 3844c247577e125999d418918f7a964bdf85d0c1 [file] [log] [blame]
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