# From arpa!beach.cis.ufl.edu!hager Fri Sep 23 11:59:55 PDT 1988
# Received: by Patience.stanford.edu (4.0/inc-1.3)
# 	id AA00481; Fri, 23 Sep 88 11:59:55 PDT
# Date: Fri, 23 Sep 88 11:59:55 PDT
# From: hager@beach.cis.ufl.edu
# Message-Id: <8809231859.AA00481@Patience.stanford.edu>
# Apparently-To: ehg@research.att.com
# 
# >From hager@beach.cis.ufl.edu  Fri Sep 23 11:59:44 1988
# Received: from beach.cis.ufl.edu by Patience.stanford.edu (4.0/inc-1.3)
# 	id AA00464; Fri, 23 Sep 88 11:59:44 PDT
# Received:  by beach.cis.ufl.edu (5.59/4.03)
# 	id AA01098; Wed, 21 Sep 88 22:03:16 EDT
# Date: Wed, 21 Sep 88 22:03:16 EDT
# From: Bill Hager <hager@beach.cis.ufl.edu>
# Message-Id: <8809220203.AA01098@beach.cis.ufl.edu>
# To: na.grosse@na-net.stanford.edu
# Subject: update for napack
# 
# Please shell the following script in the napack directory of
# netlib to correct one of the programs.
# After shelling the script, you will find a directory called "temp"
# contained in the napack directory. Please use the single .o files in this
# directory to replace the corresponding subroutine in the archive and
# then delete "temp". Thank you.
# 
# Bill Hager

sed > fasem.f <<'#####' 's/^-//'
-C
-C      ________________________________________________________
-C     |                                                        |
-C     |        APPROXIMATE THE SEMICONDUCTOR EQUATION          |
-C     |               AT EVENLY SPACED POINTS                  |
-C     |               ( CHAPTER 2 ALGORITHM )                  |
-C     |________________________________________________________|
-C
-      REAL  NEW(50),OLD(50),D(50),U(50)
-      REAL  S,T,DIF,SIZE
-C                 -----------------------------------
-C                 |*** INPUT NUMBER OF INTERVALS ***|
-C                 -----------------------------------
-10    READ(5,*) N
-      IF ( N .LT. 2 ) STOP
-      IF ( N .LT. 52 ) GOTO 30
-      WRITE(6,20)
-20    FORMAT(' ARRAY DIMENSION EXCEEDED')
-      GOTO 10
-C            ---------------------------------------------
-C            |*** PREPROCESS AND INITIALIZE VARIABLES ***|
-C            ---------------------------------------------
-30    NM1 = N - 1
-      S = N*N
-      DO 40 I = 1,NM1
-           OLD(I) = 0.
-           D(I) = S + S
-           U(I) = -S
-40    CONTINUE
-      CALL TFACT(U,D,U,NM1)
-C                  --------------------------------
-C                  |*** COMPUTE NEXT ITERATION ***|
-C                  --------------------------------
-50    DO 60 I = 1,NM1
-           NEW(I) = EXP(-OLD(I))
-60    CONTINUE
-      CALL TSOLVE(NEW,U,D,U,NEW)
-C                   -------------------------------
-C                   |*** UPDATE AND TEST ERROR ***|
-C                   -------------------------------
-      CALL UPDATE(DIF,SIZE,NEW,OLD,NM1)
-      CALL STOPIT(DIF,SIZE,4,100)
-      IF ( DIF .GT. 0 ) GOTO 50
-      CALL WHATIS(DIF,SIZE)
-C                     --------------------------
-C                     |*** PRINT THE ANSWER ***|
-C                     --------------------------
-      WRITE(6,70) N
-70    FORMAT(I11,'  INTERVALS',/'      T               X(T)'/)
-      DO 90 I = 1,NM1
-           T = I/FLOAT(N)
-           WRITE(6,80) T,NEW(I)
-80         FORMAT(F10.5,F20.8)
-90    CONTINUE
-      WRITE(6,100)
-100   FORMAT(//)
-      GOTO 10
-      END
#####
rm -r -f temp
mkdir temp
cd temp
sed > fasem.f <<'#####' 's/^-//'
-      subroutine fasem
-      call tfact
-      call tsolve
-      call update
-      call stopit
-      call whatis
-      return
-      end
#####
f77 -c *.f
rm *.f
cd ..
echo 'Remember to update the napack archive using the single .o files'
echo 'in the directory temp'

