| PROGRAM FM907 |
| |
| C***********************************************************************00010907 |
| C***** FORTRAN 77 00020907 |
| C***** FM907 00030907 |
| C***** LSTDO2 - (373) 00040907 |
| C***** 00050907 |
| C***********************************************************************00060907 |
| C***** GENERAL PURPOSE ANS REF 00070907 |
| C***** TEST LIST DIRECTED OUTPUT 13.6 00080907 |
| C***** DOUBLE PRECISION AND COMPLEX DATA TYPES INCLUDED 12.4 00090907 |
| C***** 00100907 |
| CBB** ********************** BBCCOMNT **********************************00110907 |
| C**** 00120907 |
| C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130907 |
| C**** VERSION 2.1 00140907 |
| C**** 00150907 |
| C**** 00160907 |
| C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170907 |
| C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00180907 |
| C**** SOFTWARE STANDARDS VALIDATION GROUP 00190907 |
| C**** BUILDING 225 RM A266 00200907 |
| C**** GAITHERSBURG, MD 20899 00210907 |
| C**** 00220907 |
| C**** 00230907 |
| C**** 00240907 |
| CBE** ********************** BBCCOMNT **********************************00250907 |
| C***** 00260907 |
| C***** S P E C I F I C A T I O N S SEGMENT 373 00270907 |
| DOUBLE PRECISION AVD, BVD, CVD 00280907 |
| COMPLEX AVC, BVC, CVC, DVC 00290907 |
| CHARACTER A4VK*4 00300907 |
| C***** 00310907 |
| CBB** ********************** BBCINITA **********************************00320907 |
| C**** SPECIFICATION STATEMENTS 00330907 |
| C**** 00340907 |
| CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00350907 |
| 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00360907 |
| CBE** ********************** BBCINITA **********************************00370907 |
| CBB** ********************** BBCINITB **********************************00380907 |
| C**** INITIALIZE SECTION 00390907 |
| DATA ZVERS, ZVERSD, ZDATE 00400907 |
| 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00410907 |
| DATA ZCOMPL, ZNAME, ZTAPE 00420907 |
| 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00430907 |
| DATA ZPROJ, ZTAPED, ZPROG 00440907 |
| 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00450907 |
| DATA REMRKS /' '/ 00460907 |
| C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00470907 |
| C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00480907 |
| C**** 00490907 |
| CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00500907 |
| CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00510907 |
| CZ03 ZPROG = 'PROGRAM NAME' 00520907 |
| CZ04 ZDATE = 'DATE OF TEST' 00530907 |
| CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00540907 |
| CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00550907 |
| CZ07 ZNAME = 'NAME OF USER' 00560907 |
| CZ08 ZTAPE = 'TAPE OWNER/ID' 00570907 |
| CZ09 ZTAPED = 'DATE TAPE COPIED' 00580907 |
| C 00590907 |
| IVPASS = 0 00600907 |
| IVFAIL = 0 00610907 |
| IVDELE = 0 00620907 |
| IVINSP = 0 00630907 |
| IVTOTL = 0 00640907 |
| IVTOTN = 0 00650907 |
| ICZERO = 0 00660907 |
| C 00670907 |
| C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00680907 |
| I01 = 05 00690907 |
| C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00700907 |
| I02 = 06 00710907 |
| C 00720907 |
| CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00730907 |
| C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00740907 |
| CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00750907 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00760907 |
| C 00770907 |
| CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00780907 |
| C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00790907 |
| CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00800907 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00810907 |
| C 00820907 |
| CBE** ********************** BBCINITB **********************************00830907 |
| NUVI = I02 00840907 |
| IVTOTL = 8 00850907 |
| ZPROG = 'FM907' 00860907 |
| CBB** ********************** BBCHED0A **********************************00870907 |
| C**** 00880907 |
| C**** WRITE REPORT TITLE 00890907 |
| C**** 00900907 |
| WRITE (I02, 90002) 00910907 |
| WRITE (I02, 90006) 00920907 |
| WRITE (I02, 90007) 00930907 |
| WRITE (I02, 90008) ZVERS, ZVERSD 00940907 |
| WRITE (I02, 90009) ZPROG, ZPROG 00950907 |
| WRITE (I02, 90010) ZDATE, ZCOMPL 00960907 |
| CBE** ********************** BBCHED0A **********************************00970907 |
| C***** 00980907 |
| C***** HEADING FOR SEGMENT 373 00990907 |
| WRITE(NUVI,37300) 01000907 |
| 37300 FORMAT(" ", /" LSTDO2 - (373) " , 01010907 |
| 1 " LIST DIRECTED OUTPUT" , 01020907 |
| 2 " FOR D.P. AND COMPLEX DATA TYPES" // 01030907 |
| 3 " ANS REF. - 13.6 12.4" ) 01040907 |
| CBB** ********************** BBCHED0B **********************************01050907 |
| C**** WRITE DETAIL REPORT HEADERS 01060907 |
| C**** 01070907 |
| WRITE (I02,90004) 01080907 |
| WRITE (I02,90004) 01090907 |
| WRITE (I02,90013) 01100907 |
| WRITE (I02,90014) 01110907 |
| WRITE (I02,90015) IVTOTL 01120907 |
| CBE** ********************** BBCHED0B **********************************01130907 |
| WRITE (NUVI, 70000) 01140907 |
| 70000 FORMAT (" ",48X,"THE CORRECT LINE OF EACH TEST " / 01150907 |
| 1 " ",48X,"IS HOLLERITH INFORMATION. " / 01160907 |
| 2 " ",48X,"COLUMN SPACING, LINE BREAKS, " / 01170907 |
| 3 " ",48X,"AND THE NUMBER OF DECIMAL " / 01180907 |
| 4 " ",48X,"PLACES FOR DOUBLE PRECISION " / 01190907 |
| 5 " ",48X,"OR COMPLEX NUMBERS ARE " / 01200907 |
| 6 " ",48X,"PROCESSOR DEPENDENT. " / 01210907 |
| 7 " ",48X,"EITHER E OR F FORMAT MAY BE " / 01220907 |
| 8 " ",48X,"USED FOR DOUBLE PRECISION OR " / 01230907 |
| 9 " ",48X,"COMPLEX NUMBERS. " /) 01240907 |
| CT001* TEST 1 - DOUBLE PRECISION 01250907 |
| IVTNUM = 1 01260907 |
| WRITE (NUVI, 80004) IVTNUM 01270907 |
| WRITE (NUVI, 80020) 01280907 |
| AVD = 2.5D0 01290907 |
| WRITE(NUVI, *) AVD 01300907 |
| IVINSP = IVINSP + 1 01310907 |
| WRITE (NUVI, 80022) 01320907 |
| WRITE (NUVI, 70011) 01330907 |
| 70011 FORMAT (" ",6X,"2.5") 01340907 |
| CT002* TEST 2 - COMPLEX 01350907 |
| IVTNUM = 2 01360907 |
| WRITE (NUVI, 80004) IVTNUM 01370907 |
| WRITE (NUVI, 80020) 01380907 |
| AVC = (3.0, 4.0) 01390907 |
| WRITE(NUVI, *) AVC 01400907 |
| IVINSP = IVINSP + 1 01410907 |
| WRITE (NUVI, 80022) 01420907 |
| WRITE (NUVI, 70021) 01430907 |
| 70021 FORMAT(" ",6X," (3.0,4.0)" ) 01440907 |
| CT003* TEST 3 - SEVERAL DOUBLE PRECISION 01450907 |
| IVTNUM = 3 01460907 |
| WRITE (NUVI, 80004) IVTNUM 01470907 |
| WRITE (NUVI, 80020) 01480907 |
| AVD = 2.5D0 01490907 |
| BVD = 2.5D-10 01500907 |
| CVD = 2.5D+10 01510907 |
| WRITE(NUVI, *) AVD, BVD, CVD 01520907 |
| IVINSP = IVINSP + 1 01530907 |
| WRITE (NUVI, 80022) 01540907 |
| WRITE (NUVI, 70031) 01550907 |
| 70031 FORMAT(" ",6X,"2.5 2.5D-10 2.5D+10" ) 01560907 |
| CT004* TEST 4 - SEVERAL COMPLEX 01570907 |
| IVTNUM = 4 01580907 |
| WRITE (NUVI, 80004) IVTNUM 01590907 |
| WRITE (NUVI, 80020) 01600907 |
| AVC = (0.0, 1.0) 01610907 |
| BVC = (8.0, 10.0) 01620907 |
| CVC = (-5.0, 0.0) 01630907 |
| DVC = (0.0, 0.0) 01640907 |
| WRITE(NUVI,*) AVC, BVC, CVC, DVC 01650907 |
| IVINSP = IVINSP + 1 01660907 |
| WRITE (NUVI, 80022) 01670907 |
| WRITE (NUVI, 70041) 01680907 |
| 70041 FORMAT(" ",6X, " (0.0,1.0) (8.0,10.0) (-5.0,0.0) (0.0,01690907 |
| 10.0)") 01700907 |
| CT005* TEST 5 - MIXED LIST 01710907 |
| IVTNUM = 5 01720907 |
| WRITE (NUVI, 80004) IVTNUM 01730907 |
| WRITE (NUVI, 80020) 01740907 |
| AVC = (3.0, 4.0) 01750907 |
| BVC = (-3.0, -4.0) 01760907 |
| AVD = 5.0D0 01770907 |
| BVD = -5.0D0 01780907 |
| WRITE(NUVI,*) AVC, AVD, BVD, BVC 01790907 |
| IVINSP = IVINSP + 1 01800907 |
| WRITE (NUVI, 80022) 01810907 |
| WRITE (NUVI, 70051) 01820907 |
| 70051 FORMAT(" ",6X," (3.0,4.0) 5.0 -5.0 (-3.0,-4.0)" ) 01830907 |
| CT006* TEST 6 - MIXED MODE EXPRESSION 01840907 |
| IVTNUM = 6 01850907 |
| WRITE (NUVI, 80004) IVTNUM 01860907 |
| WRITE (NUVI, 80020) 01870907 |
| AVC = (2.0, 3.0) 01880907 |
| IVI = 3 01890907 |
| WRITE(NUVI, *) AVC * IVI 01900907 |
| IVINSP = IVINSP + 1 01910907 |
| WRITE (NUVI, 80022) 01920907 |
| WRITE (NUVI, 70061) 01930907 |
| 70061 FORMAT(" ",6X," (6.0,9.0)" ) 01940907 |
| CT007* TEST 7 - MIXED MODE EXPRESSION 01950907 |
| IVTNUM = 7 01960907 |
| WRITE (NUVI, 80004) IVTNUM 01970907 |
| WRITE (NUVI, 80020) 01980907 |
| IVI = 2 01990907 |
| AVS = 6.5 02000907 |
| WRITE(NUVI, *) AVS / IVI 02010907 |
| IVINSP = IVINSP + 1 02020907 |
| WRITE (NUVI, 80022) 02030907 |
| WRITE (NUVI, 70071) 02040907 |
| 70071 FORMAT(" ",6X,"3.25") 02050907 |
| CT008* TEST 8 - MIXED LIST 02060907 |
| IVTNUM = 8 02070907 |
| WRITE (NUVI, 80004) IVTNUM 02080907 |
| WRITE (NUVI, 80020) 02090907 |
| A4VK = 'GOOD' 02100907 |
| AVS = 2.5 02110907 |
| AVC = (4, -6) 02120907 |
| WRITE(NUVI, *) AVC / 2, .TRUE., AVS ** 3, A4VK // 'BYE', 02130907 |
| 1 ' FOR NOW' 02140907 |
| IVINSP = IVINSP + 1 02150907 |
| WRITE (NUVI, 80022) 02160907 |
| WRITE (NUVI, 70081) 02170907 |
| 70081 FORMAT(" ",6X," (2.0,-3.0) T 15.625 GOODBYE FOR NOW" ) 02180907 |
| CBB** ********************** BBCSUM0 **********************************02190907 |
| C**** WRITE OUT TEST SUMMARY 02200907 |
| C**** 02210907 |
| IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02220907 |
| WRITE (I02, 90004) 02230907 |
| WRITE (I02, 90014) 02240907 |
| WRITE (I02, 90004) 02250907 |
| WRITE (I02, 90020) IVPASS 02260907 |
| WRITE (I02, 90022) IVFAIL 02270907 |
| WRITE (I02, 90024) IVDELE 02280907 |
| WRITE (I02, 90026) IVINSP 02290907 |
| WRITE (I02, 90028) IVTOTN, IVTOTL 02300907 |
| CBE** ********************** BBCSUM0 **********************************02310907 |
| CBB** ********************** BBCFOOT0 **********************************02320907 |
| C**** WRITE OUT REPORT FOOTINGS 02330907 |
| C**** 02340907 |
| WRITE (I02,90016) ZPROG, ZPROG 02350907 |
| WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02360907 |
| WRITE (I02,90019) 02370907 |
| CBE** ********************** BBCFOOT0 **********************************02380907 |
| CBB** ********************** BBCFMT0A **********************************02390907 |
| C**** FORMATS FOR TEST DETAIL LINES 02400907 |
| C**** 02410907 |
| 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 02420907 |
| 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 02430907 |
| 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 02440907 |
| 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 02450907 |
| 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 02460907 |
| 1I6,/," ",15X,"CORRECT= " ,I6) 02470907 |
| 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02480907 |
| 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 02490907 |
| 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02500907 |
| 1A21,/," ",16X,"CORRECT= " ,A21) 02510907 |
| 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 02520907 |
| 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 02530907 |
| 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 02540907 |
| 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 02550907 |
| 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 02560907 |
| 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 02570907 |
| 80050 FORMAT (" ",48X,A31) 02580907 |
| CBE** ********************** BBCFMT0A **********************************02590907 |
| CBB** ********************** BBCFMAT1 **********************************02600907 |
| C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 02610907 |
| C**** 02620907 |
| 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02630907 |
| 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 02640907 |
| 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 02650907 |
| 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 02660907 |
| 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 02670907 |
| 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 02680907 |
| 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 02690907 |
| 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 02700907 |
| 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02710907 |
| 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 02720907 |
| 2"(",F12.5,", ",F12.5,")") 02730907 |
| CBE** ********************** BBCFMAT1 **********************************02740907 |
| CBB** ********************** BBCFMT0B **********************************02750907 |
| C**** FORMAT STATEMENTS FOR PAGE HEADERS 02760907 |
| C**** 02770907 |
| 90002 FORMAT ("1") 02780907 |
| 90004 FORMAT (" ") 02790907 |
| 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )02800907 |
| 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 02810907 |
| 90008 FORMAT (" ",21X,A13,A17) 02820907 |
| 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 02830907 |
| 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 02840907 |
| 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 02850907 |
| 1 7X,"REMARKS",24X) 02860907 |
| 90014 FORMAT (" ","----------------------------------------------" , 02870907 |
| 1 "---------------------------------" ) 02880907 |
| 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 02890907 |
| C**** 02900907 |
| C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 02910907 |
| C**** 02920907 |
| 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 02930907 |
| 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 02940907 |
| 1 A13) 02950907 |
| 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 02960907 |
| C**** 02970907 |
| C**** FORMAT STATEMENTS FOR RUN SUMMARY 02980907 |
| C**** 02990907 |
| 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 03000907 |
| 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 03010907 |
| 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 03020907 |
| 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 03030907 |
| 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 03040907 |
| CBE** ********************** BBCFMT0B **********************************03050907 |
| C***** 03060907 |
| C***** END OF TEST SEGMENT 373 03070907 |
| STOP 03080907 |
| END 03090907 |