FM110 Program

**********00010110 * FORTRAN 77 00020110 FM110 IOFMT - (350) 00030110 * 00040110 **********00050110 GENERAL PURPOSE SUBSET REFS00060110 * TO TEST ADDITIONAL FEATURES OF READ AND WRITE 12.8 00070110 STATEMENTS, FORMATTED RECORDS AND FORMAT STATEMENTS 12.1.1 00080110 * FOR INTEGER AND REAL DATA TYPES 00090110 RESTRICTIONS OBSERVED 00100110 * * ALL FORMAT STATEMENTS ARE LABELED 13.1.1 00110110 * H AND X DESCRIPTORS ARE NEVER REPEATED 13.2.1 00120110 * * FOR W.D DESCRIPTORS, D IS ALWAYS SPECIFIED AND 00130110 W IS EQUAL TO OR GREATER THAN D 00140110 * * FIELD WIDTH IS NEVER ZERO 00150110 * IF AN I/O LIST SPECIFIES AT LEAST ONE ITEM 13.3 00160110 * AT LEAST ONE REPEATABLE EDIT DESCRIPTOR MUST EXIST 00170110 IN THE FORMAT SPECIFICATION 00180110 * * ITEMS IN I/O LIST CORRESPOND TO EDIT DESCRIPTORS 00190110 * NEGATIVE OUTPUT VALUES ARE SIGNED 13.5.9 00200110 * * AN H EDIT DESCRIPTOR IS NEVER USED ON INPUT 13.5.2 00210110 * IN THE INPUT FIELD, FOR THE IW EDIT DESCRIPTOR 13.5.9.1 00220110 * THE CHARACTER STRING MUST BE AN OPTIONALLY SIGNED 00230110 INTEGER CONSTANT 00240110 BB *** BBCCOMNT ******00250110 00260110 1978 FORTRAN COMPILER VALIDATION SYSTEM 00270110 VERSION 2.1 00280110 00290110 00300110 SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00310110 NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00320110 SOFTWARE STANDARDS VALIDATION GROUP 00330110 BUILDING 225 RM A266 00340110 GAITHERSBURG, MD 20899 00350110 00360110 00370110 00380110 BE *** BBCCOMNT ******00390110 INPUT DATA TO THIS SEGMENT CONSISTS OF 40 CARD IMAGES IN COL. 1 - 80 00400110 COLS. 22 25 31 34-35 40-43 55 67 69 74-76 00410110 ARD 1 . . . 0. E+00 + + . E00 00420110 COLS. 16 31 33 42-45 50 59-60 00430110 ARD 2 + + . D+00 . D0 00440110 COLS. 1-----------14 18-----26 28-------38 00450110 ARD 3 1.23456987654. +1.234E-0 -98.7654E+0 00460110 COLS 1---5 00470110 ARDS 4,5,6,7,8 12345 00480110 COLS. 1-3 00490110 ARDS 9,10,11,12 1.1 00500110 COLS. 1------------------------------------------------------58 00510110 ARD 13 +0.339567E+02 00520110 ARD 14 + .339567+2 00530110 ARD 15 + 3.395670E1 00540110 ARD 16 0.96295134244D+04 00550110 ARD 17 .96295134244D04 00560110 ARD 18 0.96295134244+4 00570110 ARD 19 +.96295134244D4 00580110 ARD 20 31.23+0.14E+04+0.2D+02 00590110 ARD 21 31.23 .14D+4 +.2+2 00600110 ARD 22 -0.13579E+054444 00610110 ARD 23 4444 00620110 ARD 24 4444 00630110 ARD 25 4444 00640110 ARD 26 4444 00650110 ARD 27 -333 5.555+0.4545E-04 00660110 ARD 28 -6.666 .9989E+12 00670110 ARD 29 7.77-0.747E-02 +0.549E022 00680110 ARD 30 +0.662E-00 0.468-1011 00690110 ARD 31 0.59542D+04-44.6666-0.1234560000D-03 00700110 ARD 32 54.9327-0.1395624534D+00 00710110 ARD 33 65432.1 00720110 ARD 34 +0.848E+03 .848E3 + .1290D7+0.129D+07 0.412D21 00730110 ARD 35 22222222222222222222222222222222222222222222222222 00740110 ARD 36 -.987E0-0.987E+00 -.987D0 00750110 ARD 37 5 5 00760110 ARD 38 987654 8647.86 987.654 00770110 ARD 39 1.2345E0 1.2345 1234.5 00780110 ARD 40 12345. 00790110 ARD COLS. NOT MENTIONED ARE BLANK 00800110 00810110 * S P E C I F I C A T I O N S SEGMENT 350 00820110 00830110 THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 01060110 FOR IDENTIFYING THE TEST ENVIRONMENT 01070110 01080110 Z01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 01090110 Z02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 01100110 Z03 ZPROG = 'PROGRAM NAME' 01110110 Z04 ZDATE = 'DATE OF TEST' 01120110 Z05 ZCOMPL = 'COMPILER IDENTIFICATION' 01130110 Z06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 01140110 Z07 ZNAME = 'NAME OF USER' 01150110 Z08 ZTAPE = 'TAPE OWNER/ID' 01160110 Z09 ZTAPED = 'DATE TAPE COPIED' 01170110 01180110 01480110 WRITE REPORT TITLE 01490110 01500110 * ALL VARIABLES AND ARRAY ELEMENTS USED IN THIS SEGMENT 01580110 ARE FIRST SET TO A NON-ZERO VALUE 01590110 * 01600110 HEADER FOR SEGMENT 350 WRITTEN 01610110 * 01650110 BB* **** BBCHED0B *****01660110 WRITE DETAIL REPORT HEADERS 01670110 01680110 01910110 01920110 T001 TEST 1 01930110 * 01950110 TEST THAT BLANK INPUT FIELDS ARE TREATED AS ZERO 13.5.9 01960110 * I, E, and F EDIT DESCRIPTORS ARE TESTED 01970110 CARDS 1 AND 2 01980110 * 01990110 TO DELETE TEST INSERT THE FOLLOWING CODE: 02040110 IVDELE=IVDELE+1 02050110 WRITE (NUVI,80000) IVTNUM 02060110 COMMENT OUT FOLLOWING CODE UNTIL NEXT TEST 02070110 *** 02120110 * 02240110 T002 TEST 2 02250110 TEST THAT DECIMAL POINTS APPEARING IN INPUT FIELDS 13.5.9.2.102270110 * OVERRIDE THE SPECIFICATIONS SUPPLIED BY E AND F 02280110 * EDIT DESCRIPTORS 02290110 * CARD 3 02350110 SEE TEST 1 TO DELETE TEST (ENTER CODE HERE) 02470110 * 02530110 T003 TEST 3 02540110 TEST COMPLETE FORMAT RESCAN 13.3 02560110 * WHEN ADDITIONAL ITEMS REMAIN IN AN I/O LIST 02570110 AND THE LAST RIGHT PARENTHESIS HAS BEEN REACHED 02580110 * IN THE CORRESPONDING FORMAT STATEMENT 02590110 CARDS 4, 5, 6, 7, 8 02680110 *** 02700110 TO DELETE TEST 3 - CARDS 4 THRU 21 MUST BE BYPASS 02710110 USE THE FOLLOWING CODE: 02720110 IVDELE=IVDELE+1 02730110 WRITE (NUVI,80000) IVTNUM 02740110 DO 0031 IPASS=1,18 02750110 0032 FORMAT (A80) 02760110 READ (IRVI,0032) IDATA 02770110 0031 CONTINUE 02780110 COMMENT OUT REMAINING CODE UNTIL NEXT TEST 02790110 *** 02800110 * CARDS 9, 10, 11, 12 02920110 CARDS 13, 14, 15 03010110 * CARDS 16, 17, 18, 19 WITH D EXPONENTS 03110110 CARDS 20, 21 03210110 ***** 03350110 T004* TEST 4 03360110 03380110 ***** 03390110 * TEST THAT FORMAT CONTROL PASSES TO THE GROUP 03400110 ENCLOSED BY THE LAST PRECEDING RIGHT PARENTHESIS 03410110 * WHEN THE I/O LIST CONTAINS MORE ELEMENTS THAN 03420110 THE NUMBER OF DESCRIPTORS IN THE FORMAT STATEMENT 03430110 ***** 03440110 CARDS 22, 23, 24, 25, 26 03690110 * SEE NOTES TEST1 & TEST 3 TO BYPASS TEST 03710110 CARDS 22 THRU 26 MUST BE BYPASSED 03720110 * 03870110 CARDS 27, 28 03890110 * SEE NOTES TEST 1 & TEST 3 TO DELETE TEST 03900110 CARDS 27,28 SHOULD BE BYPASSED 03910110 * CARDS 29, 30 04110110 SEE NOTES TEST 1 & 3 TO DELETE TEST 04130110 * CARDS 29 & 30 MUST BE BYPASSED 04140110 CARDS 31, 32 04430110 * SEE NOTES TEST 1 & TEST 3 TO DELETE TEST 04440110 * CARDS 31,& 32 SHOULD BE BYPASSED 04450110 04720110 T008 TEST 8 04730110 CARDS 33, 34, 35, 36 04750110 * SEE NOTES TEST 1 & TEST 3 TO DELETE TEST 04760110 CARDS 33 THRU 36 SHOULD BE BYPASSED 04770110 * THIS READ CAUSES AN INPUT DATA CARD TO BE SKIPPED 04820110 TEST FOR EMPTY FORMAT STATEMENT 05010110 * SEE NOTES TEST 1 TO DELETE TEST 05020110 POSITION INPUT TO INSURE CORRECT RECORD FOR NEXT TESTS 05120110 * CARD 37 05140110 05200110 * ADDITIONAL SCALE FACTOR ON INPUT-OUTPUT 13.5.7 05210110 CARD 38 05220110 SEE NOTES TEST 1 TO DELETE TEST (INSERT CODE HERE) 05270110 CARDS 39 & 40 05360110 * SCALE FACTOR HAS NO EFFECT ON FORMAT RESCAN OR F EDIT 05370110 DESCRIPTOR WITH INPUT DATA CONTAINING AN EXPONENT 05380110 SEE NOTES TEST 1 TO DELETE TEST 05430110 WRITE OUT TEST SUMMARY 05560110 05570110 WRITE OUT REPORT FOOTINGS 05690110 05700110 FORMATS FOR TEST DETAIL LINES 05760110 05770110 FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05970110 05980110 FORMAT STATEMENTS FOR PAGE HEADERS 06120110 06130110 06260110 FORMAT STATEMENTS FOR REPORT FOOTINGS 06270110 06280110 06330110 FORMAT STATEMENTS FOR RUN SUMMARY 06340110 06350110 * END OF TEST SEGMENT 350 06420110


Calls

program~~fm110~~CallsGraph program~fm110 FM110 iac2i iac2i program~fm110->iac2i iac1i iac1i program~fm110->iac1i 3 3 program~fm110->3 2 2 program~fm110->2 4 4 program~fm110->4 ep1s ep1s program~fm110->ep1s

Contents


Variables

Type AttributesNameInitial
real :: A1S(5)
real :: A2S(2,2)
real :: A3S(3,3,3)
real :: AC1S(25)
real :: AC2S(5,6)
integer :: MCA3I(2,3,3)
real :: MVS

* IDATA USED BY TEST 3 TO BYPASS CARDS 4-21 TO DELETE TEST 00890110 00900110 BB *** BBCINITA ******00910110 SPECIFICATION STATEMENTS 00920110 00930110

character :: REMRKS*31

*** INITIALIZE SECTION 00980110

character :: ZCOMPL*20

*** INITIALIZE SECTION 00980110

character :: ZDATE*17

*** INITIALIZE SECTION 00980110

character :: ZNAME*20

*** INITIALIZE SECTION 00980110

character :: ZPROG*5

*** INITIALIZE SECTION 00980110

character :: ZPROJ*13

*** INITIALIZE SECTION 00980110

character :: ZTAPE*10

*** INITIALIZE SECTION 00980110

character :: ZTAPED*13

*** INITIALIZE SECTION 00980110

character :: ZVERS*13

*** INITIALIZE SECTION 00980110

character :: ZVERSD*17

*** INITIALIZE SECTION 00980110