CTITLEJSANST - JOBGEN REGION & BLANK COMMMON ALGORITHM FOR ANST C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR W. R. FIELDER CA DESIGNER W. R. FIELDER CA LANGUAGE VS FORTRAN CA SYSTEM IBM / CRAY CA WRITTEN 11-01-91 CA CA CALL JSANST (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, CA ERCODE) CA CA INPUT KPNA = PROCESS NAME A4 CA INPUT KPRNO = PROCESS NUMBER I4 CA INPUT OCCUR = OCCURRENCE NUMBER FOR PROCESS KPNA WITH I4 CA KPRNO CA OUTPUT PSIZE = REGION SIZE OF PROGRAM IN K-BYTES I4 CA OUTPUT CSIZE = RESERVED BLANK COMMON SIZE IN WORDS I4 CA OUTPUT UCSIZE = UNRESERVED BLANK COMMON SIZE IN WORDS I4 CA OUTPUT ERCODE = ERROR CODE (=16 IF NOT ABLE TO COMPUTE I4 CA THE REQUIRED PARAMETERS) CA CA CA COMPUTES THE PROGRAM SIZE (PSIZE) AND AMOUNT OF BLANK COMMON CA (CSIZE) NEEDED BY SPARC DEVELOPMENT PROCESS 'ANST'. CA C CA EJECT CAEND C SUBROUTINE JSANST (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, + ERCODE) C IMPLICIT INTEGER (A-Z) C PARAMETER (LLOCAL = 75, TABSZE = 1000, NTVALS = 500) C CHARACTER*4 KPNA CHARACTER*80 CARD C C INTEGER CONSTANTS -- LOCAL C INTEGER IPR INTEGER THL C DATA IPR / 98 / DATA THL / 190 / C C C ==================================================== C BEGIN COMPUTATION OF REGION AND COMMON SIZE FOR ANST C (INSERT REGION SIZE & BLANK COMMON SIZE CALCULATIONS HERE) C ==================================================== C C PART 1. SET PROGRAM SIZE IN K-BYTES (PSIZE) C C PSIZE = 30 C C GET LINE CARD PARAMETERS C DA = 1 CALL FORC ('LINE', 0, DA, CARD, * 9200 ) C LCTPSP = S1CVBN (CARD, 36, 5) LCMXFD = S1CVBN (CARD, 61, 5) IF (LCMXFD .EQ. 0) LCMXFD = LCTPSP C LCRLEN = S1CVBN (CARD, 41, 5) LCSI = S1CVBN (CARD, 46, 5) LCPI = S1CVBN (CARD, 51, 5) IF (LCPI .EQ. 0) LCPI = LCSI C C IF (LCPI .EQ. 0) GO TO 9800 C ABOVE LINE IS COMMENTED BUT INTENTIONALY LEFT FOR CLARITY. C THE LCPI NON ZERO CHECK SHOULD BE DONE IN JSCORE OR JSRND AND C THEREFORE IS REDUNDANT HERE. C C NOSAMP = LCRLEN / LCPI C C PART 2. COMPUTE RESERVED BLANK COMMON SIZE IN WORDS (ICC) C C THIS VALUE, FOR MOST CASES, IS IDENTICAL TO THE COMPUTATION OF C RESERVED BLANK COMMON IN THE INITIALIZATION PART OF THE PROCESS C (THE '0 ENTRY' FOR SPARC 'SHELLS'). THIS VALUE IS TYPICALLY C CALLED 'ICC' AND IS THE TOTAL NUMBER OF WORDS USED IN RESERVED C BLANK COMMON ( 'RA' FOR SPARC 'SHELLS'). C C ICC = 0 C C======================================================================= C C COMPUTE LENGTH OF THE FFT C NN = 1 100 CONTINUE NN = NN * 2 IF (NOSAMP .LT. NN) GO TO 100 C C CALCULATE CORE REQUIREMENTS C C STOR IS USED FOR THREE TRACES OF THE GATHER C NTABL IS THE TABLE FOR COLOR CODE LOOKUP C COMPL IS A COMPLEX ARRAY FOR FFT'S C IC = 1 STOR = IC + LLOCAL NTABL = STOR + 3 * (NOSAMP + THL) COMPL = NTABL + TABSZE ICC = COMPL + 2 * NN C C======================================================================= C C SET RESERVED COMMON SIZE IN WORDS C CSIZE = ICC C C======================================================================= C C PART 3. COMPUTE UNRESERVED BLANK COMMON SIZE IN WORDS (UCSIZE) C UCSIZE = 0 C C ALLOCATE SCRATCH AREAS FOR INITILIZATION OF WORK FILE C NWORDS = NOSAMP + THL C C ADD 10 PERCENT SLOP TO ALLOW FOR ANY ADDITIONAL SPACE C C======================================================================= C UCSIZE = FLOAT(NWORDS) * 1.10 C C======================================================================= C ERCODE = 0 C C WRITE(IPR,9000) PSIZE,CSIZE,UCSIZE C9000 FORMAT(/5X,'JSANST VERSION COMPLETED: PSIZE = ',I5, C +' CSIZE = ',I10,' UCSIZE = ',I10) GO TO 9500 C C********************************************************************** C 9200 ERCODE = 16 WRITE(IPR,9210) KPNA,KPRNO 9210 FORMAT (/' *** ERROR IN JSANST LINE CARD ERROR ',A4,I1) C 9500 RETURN C C ERROR MESSAGES C 9900 FORMAT (/' *** FROM JSANST ERROR IN CORE CALCULATION') C 9910 FORMAT (/' *** ERROR IN JSANST NO CARDS FOUND FOR ',A4,I1) C C END