File: FORR.FT of Tape: Various/ETH/eth11-1
(Source file text) 

C	FORR.FTN - A PROGRAM TO TEST THE FOLLOWING SUBROUTINES:
C  FORIF	- FOURIER ANALYSIS OF A GIVEN FUNCTION
C  FORIT	- FOURIER ANALYSIS OF A TABULATED FUNCTION
C	49 DATA POINTS WILL BE USED IN EACH CASE
C
	EXTERNAL FCN
	DIMENSION A(25),B(25),T(50),C(13)
	DATA C/3.29,-4.0,1.,-.444,.25,-.160,.111,-.082,.063,
	1 -.049,.040,-.033,.028/,PI/3.1415926/
	TWOPI=PI+PI
C
C	OUTPUT CHANNEL = IOUT
	IOUT=2
C
C	TEST FORIF
C
	WRITE(IOUT,100)
100	FORMAT(//' RESULTS OF FORIF'/4X,'FUNCTION:'
	1' F(X)=X**2+X ON -PI < X < PI, F(X+2*PI)=F(X)'/)
	WRITE(IOUT,103)
103	FORMAT(' COEFFICIENTS:'/'   N'8X,'A(N)'5X,'A(N)-EXACT',5X,'B(N)'/)
	CALL FORIF(FCN,24,12,A,B,IER)
	DO 1 I=1,13
	N=I-1
1	WRITE(IOUT,101) N,A(I),C(I),B(I)
101	FORMAT(I4,3F12.3)
C
C	TEST FORIT
C
	WRITE(IOUT,102)
102	FORMAT(//' RESULTS OF FORIT'/4X,'SAME FUNCTION'/)
	DO 2 J=1,49
	JM1=J-1
2	T(J)=FCN(JM1*TWOPI/49.)
	WRITE(IOUT,103)
	CALL FORIT(T,24,12,A,B,IER)
	DO 3 I=1,13
	N=I-1
3	WRITE(IOUT,101) N,A(I),C(I),B(I)
	STOP
	END
C	EXTERNAL FUNCTION FOR USE WITH FORR.FTN
	FUNCTION FCN(X)
	DATA PI/3.1415926/
	TWOPI=PI+PI
	Z=X
1	IF(ABS(Z)-PI) 3,3,2
2	IF(Z) 4,3,5
4	Z=Z+TWOPI
	GO TO 1
5	Z=Z-TWOPI
	GO TO 1
3	FCN=Z**2+Z
	RETURN
	END