C* C36ISN - INSERT NUMBER FOR DATA STATEMENT CREATION C SUBROUTINE C36ISN (ISP, IEP) C C ISP = START POS OF NUMBER IN BIN(N) C IEP = ENDING POS OF NUMBER IN BIN(N) C INCLUDE 'C36CM.FTN/NOLIST' INCLUDE 'C36BCM.FTN/NOLIST' C IF (NDATA .GE. MXDATA) GO TO 400 IF (NDATA+1 .LE. MXDATA) GO TO 100 C C TOO MANY CONSTANTS FOR IDATA ARRAY C WRITE (5, 500) MXDATA, NAME 500 FORMAT (' **ERROR** MORE THAN ',I3, ' CONSTANTS IN PROGRAM ', 1 5A2) NDATA = MXDATA GO TO 400 C 100 CONTINUE NCH = IEP-ISP+1 CALL STBLK (BIN(ISP), BIN(ISP), NCH) D WRITE (5, 505) ISP, IEP, (BIN(I),I=ISP, IEP) D505 FORMAT (' ',2I3,2X,10A1) DECODE (NCH, 510, BIN(ISP)) IDATA(NDATA+1) 510 FORMAT (I) C D WRITE (5, 520) IDATA(NDATA+1) D520 FORMAT (' ',I6) C C CHECK FOR DUPLICATE CONSTANT BEFORE UPDATING NDATA C IF (NDATA .LE. 0) GO TO 210 DO 200 I = 1, NDATA IF (IDATA(NDATA+1) .EQ. IDATA(I)) GO TO 400 200 CONTINUE 210 NDATA = NDATA + 1 C 400 CONTINUE RETURN END