32integer,
intent(in) :: lmax
33real(8),
intent(in) :: x
34real(8),
intent(out) :: jl(0:lmax)
37real(8),
parameter :: rsc=1.d150,rsci=1.d0/rsc
39if ((lmax < 0).or.(lmax > 20))
then
41 write(*,
'("Error(sbesseli): lmax out of range : ",I8)') lmax
45if ((x < 0.d0).or.(x > 1.d8))
then
47 write(*,
'("Error(sbesseli): x out of range : ",G18.10)') x
77 if (abs(j1) > rsc)
then
89 if (abs(j1) > rsc)
then
94 jl(l+1:lmax)=jl(l+1:lmax)*rsci
100 jl(0:lmax)=t1*jl(0:lmax)
104 jl(1)=(jl(0)-cosh(x))*xi
105 if (lmax == 1)
return