hypgeo.for
来自「Numerical Recipes一书中例子的源码所用到的函数集,William」· FOR 代码 · 共 31 行
FOR
31 行
FUNCTION hypgeo(a,b,c,z)
COMPLEX hypgeo,a,b,c,z
REAL EPS
PARAMETER (EPS=1.e-6)
CU USES bsstep,hypdrv,hypser,odeint
INTEGER kmax,nbad,nok
EXTERNAL bsstep,hypdrv
COMPLEX z0,dz,aa,bb,cc,y(2)
COMMON /hypg/ aa,bb,cc,z0,dz
COMMON /path/ kmax
kmax=0
if (real(z)**2+aimag(z)**2.le.0.25) then
call hypser(a,b,c,z,hypgeo,y(2))
return
else if (real(z).lt.0.) then
z0=cmplx(-0.5,0.)
else if (real(z).le.1.0) then
z0=cmplx(0.5,0.)
else
z0=cmplx(0.,sign(0.5,aimag(z)))
endif
aa=a
bb=b
cc=c
dz=z-z0
call hypser(aa,bb,cc,z0,y(1),y(2))
call odeint(y,4,0.,1.,EPS,.1,.0001,nok,nbad,hypdrv,bsstep)
hypgeo=y(1)
return
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?