00001 subroutine beschb(x,gam1,gam2,gampl,gammi)
00002 implicit none
00003 integer,parameter :: NUSE1=5,NUSE2=5
00004 real(8) :: gam1,gam2,gammi,gampl,x
00005 real(8) :: xx
00006 real(8), external :: chebev
00007 real(8), save:: c1(7) = (/-1.142022680371168d0,6.5165112670737d-3,
00008 3.087090173086d-4,-3.4706269649d-6,6.9437664d-9,3.67795d-11,-1.356d-13/)
00009 real(8), save:: c2(8) = (/1.843740587300905d0,-7.68528408447867d-2,
00010 1.2719271366546d-3,-4.9717367042d-6,-3.31261198d-8,2.423096d-10, &
00011 -1.702d-13,-1.49d-15/)
00012
00013 xx=8.d0*x*x-1.d0
00014 gam1=chebev(-1.d0,1.d0,c1,NUSE1,xx)
00015 gam2=chebev(-1.d0,1.d0,c2,NUSE2,xx)
00016 gampl=gam2-x*gam1
00017 gammi=gam2+x*gam1
00018 return
00019 end subroutine beschb