32 integer,
intent(in) :: lmax
33 real(8),
intent(in) :: x
34 real(8),
intent(out) :: jl(0:lmax)
38 real(8),
parameter :: rsc=1.d150,rsci=1.d0/rsc
40 if ((lmax < 0).or.(lmax > 50))
then 42 write(*,
'("Error(sbessel): lmax out of range : ",I8)') lmax
46 if ((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 subroutine sbessel(lmax, x, jl)