File: FILFOU.FT of Tape: Various/ETH/f2
(Source file text) 

	SUBROUTINE FILFOU
C
	COMMON /TITLE/ ADENT,GLOBAL,RUN,ICREAT
	COMMON /FITPAR/ JIT,FISTOP,AMARQI,UPMARQ,DNMARQ,VARI,
     $  UPVAR,DNVAR,VARMIN,MLOOP,LOOPLW,ISTART,ISTOP,ITEST,IDEFIX
	COMMON /PARAM/ DKHI,SHFACT,CHISQ,ITORQ,IDILA,DK,DL,HANG
     $  ,HUP,HDOWN,AMI,PS,PT,SOLLT,TEMP,TV,ES,AKL,AKV,CAP,EICH
	COMMON /PEAKS/ TASWI,KBLOW,KBLOW1,KMAX,K1,K3,CHI,
     $  Q(11,4),HIGHT(21),INDEX(21)
	COMMON /VECT/ C(44),D1(11,4),DIAGEL(44),D(44),E(44)
	COMMON /DATIN/ F(512),NP
	COMMON /CONST/ PI,TWOPI
	COMMON /PLOTC/ PLTBUF(400)
	COMMON /FAF/ A(2049),B(2049),N
	DIMENSION AR(44,44),Z(44,44)
	EQUIVALENCE (A,AR),(B,Z)
	INTEGER RUN
	REAL K3
	LOGICAL ITORQ,IDILA,ITEST,TASWI
C
	INTEGER IN(10)
	REAL H(84)
C
500	FORMAT(10A6)
510	FORMAT(I5,5X,E20.13)
520	FORMAT(4E20.13)
600	FORMAT(1H0,T10,10A6)
C
	IZAHL=0
1	READ(6,500) IN
	IF (IN(1).NE.6HFILTER) GO TO 1
	IZAHL=IZAHL+1
	IF (IZAHL.NE.IDEFIX) GO TO 1
	WRITE(3,600) IN
	READ(6,510) IFILT,FNORM
	ILINE=IFILT/4+1
	IPOS=-4
	DO 2 I=1,ILINE
	IPOS=IPOS+4
2	READ(6,520) (H(IPOS+K),K=1,4)
	NNEW=NP-IFILT+1
	DO 10 I=1,NNEW
	SUM=0.
	DO 20 K=1,IFILT
	SUM=SUM+H(K)*F(I+K-1)
20	CONTINUE
	F(I)=SUM*FNORM
10	CONTINUE
	K=NNEW+1
	DO 30 I=K,NP
30	F(I)=0.
C	IFILT MUST BE ODD!!!!!!!!!
	IFILT=(IFILT-1)/2
	HUP=HUP/(1+IFILT*DK*.001*HUP)
	NP=NNEW
	HDOWN=HUP/(1+NP*DK*.001*HUP)
	END