1Module radin_mod
2  INTEGER, PARAMETER :: DP = selected_real_kind(14,200)
3Contains
4  Subroutine SPLIFT (X,Y,YP,YPP,N,IERR,ISX,A1,B1,AN,BN)
5    Integer,  Intent(in) :: N,ISX
6    Real(dp), Intent(in) :: X(N),Y(N),A1,B1,AN,BN
7    Real(dp), Intent(out) :: YP(N),YPP(N)
8    Real(dp), Allocatable, Dimension(:,:) :: W
9    NM1  = N-1
10    NM2  = N-2
11    If (ISX.Gt.0) GO TO 40
12    Do I=2,N
13       If (X(I)-X(I-1) .Le. 0) Then
14          IERR = 3
15          Return
16       Endif
17    End Do
18    Allocate(W(N,3))
1940  YPP(1) = 4*B1
20    DOLD = (Y(2)-Y(1))/W(2,2)
21    Do  I=2,NM2
22       DNEW   = (Y(I+1) - Y(I))/W(I+1,2)
23       YPP(I) = 6*(DNEW - DOLD)
24       YP(I)  = DOLD
25       DOLD = DNEW
26    End Do
27    Return
28  End Subroutine SPLIFT
29End Module radin_mod
30
31