12 SUBROUTINE spline_ez1 (N, X, Y, B, C, D)
14 REAL X(N), Y(N), B(N), C(N), D(N)
49 IF ( n .LT. 2 )
RETURN
55 IF(x(ip1).LE.x(i))
then
57 write(6,9001) (x(ii),ii=1,n)
58 zbomb=sqrt(-1.0/(x(1)*x(1)))
60 write(6,*)
' spline.for: code will stop.'
63 >
' ? UNORDERED ORDINATE ARRAY PASSED TO SPLINE SUBROUTINE:')
64 9001
FORMAT(1x,5(1x,1pe12.5))
68 IF ( n .LT. 3 )
GO TO 50
75 c(2) = (y(2) - y(1))/d(1)
78 b(i) = 2.*(d(i-1) + d(i))
79 c(i+1) = (y(i+1) - y(i))/d(i)
90 IF ( n .EQ. 3 )
GO TO 15
91 c(1) = c(3)/(x(4)-x(2)) - c(2)/(x(3)-x(1))
92 c(n) = c(n-1)/(x(n)-x(n-2)) - c(n-2)/(x(n-1)-x(n-3))
93 c(1) = c(1)*d(1)**2/(x(4)-x(1))
94 c(n) = -c(n)*d(n-1)**2/(x(n)-x(n-3))
100 b(i) = b(i) - t*d(i-1)
101 c(i) = c(i) - t*c(i-1)
109 c(i) = (c(i) - d(i)*c(i+1))/b(i)
116 b(n) = (y(n) - y(nm1))/d(nm1) + d(nm1)*(c(nm1) + 2.*c(n))
118 b(i) = (y(i+1) - y(i))/d(i) - d(i)*(c(i+1) + 2.*c(i))
119 d(i) = (c(i+1) - c(i))/d(i)
126 50 b(1) = (y(2)-y(1))/(x(2)-x(1))