Determine the starting point for backward recurrence such that the magnitude of Jn(x) at that point is about 10^(-MP)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x |
Argument of Jn(x) |
||
| integer, | intent(in) | :: | Mp |
Value of magnitude |
Starting point
function msta1(x,Mp) result(nn) real(wp),intent(in) :: x !! Argument of Jn(x) integer,intent(in) :: Mp !! Value of magnitude integer :: nn !! Starting point real(wp) :: a0 , f , f0 , f1 integer :: it , n0 , n1 a0 = abs(x) n0 = int(1.1_wp*a0) + 1 f0 = envj(n0,a0) - Mp n1 = n0 + 5 f1 = envj(n1,a0) - Mp do it = 1 , 20 nn = n1 - (n1-n0)/(1.0_wp-f0/f1) f = envj(nn,a0) - Mp if ( abs(nn-n1)<1 ) exit n0 = n1 f0 = f1 n1 = nn f1 = f enddo end function msta1