32integer,
intent(in) :: lmax
33real(8),
intent(in) :: x
34real(8),
intent(out) :: jl(0:lmax)
38real(8),
parameter :: rsc=1.d150,rsci=1.d0/rsc
40if ((lmax < 0).or.(lmax > 50))
then
42 write(*,
'("Error(sbessel): lmax out of range : ",I8)') lmax
46if ((x < 0.d0).or.(x > 1.d5))
then
48 write(*,
'("Error(sbessel): x out of range : ",G18.10)') x
78 if (abs(j1) > rsc)
then
90 if (abs(j1) > rsc)
then
95 jl(l+1:lmax)=jl(l+1:lmax)*rsci
101 jl(0:lmax)=t1*jl(0:lmax)
105 jl(1)=(jl(0)-cos(x))*xi
106 if (lmax == 1)
return