Files
piscal/dataassim/math/numrec/f77_sources/chebft.for
T
2016-02-03 18:52:05 +00:00

25 lines
588 B
Fortran

SUBROUTINE chebft(a,b,c,n,func)
INTEGER n,NMAX
REAL a,b,c(n),func,PI
EXTERNAL func
PARAMETER (NMAX=50, PI=3.141592653589793d0)
INTEGER j,k
REAL bma,bpa,fac,y,f(NMAX)
DOUBLE PRECISION sum
bma=0.5*(b-a)
bpa=0.5*(b+a)
do 11 k=1,n
y=cos(PI*(k-0.5)/n)
f(k)=func(y*bma+bpa)
11 continue
fac=2./n
do 13 j=1,n
sum=0.d0
do 12 k=1,n
sum=sum+f(k)*cos((PI*(j-1))*((k-0.5d0)/n))
12 continue
c(j)=fac*sum
13 continue
return
END