7 subroutine cspline(x,nx,fspl,ibcxmin,bcxmin,ibcxmax,bcxmax,
106 data sixth/0.166666666666666667/
112 write(6,
'('' ?cspline: at least 2 x points required.'')')
115 call ibc_ck(ibcxmin,
'cspline',
'xmin',-1,7,ier)
116 if(ibcxmin.ge.0)
call ibc_ck(ibcxmax,
'cspline',
'xmax',0,7,ier)
120 call splinck(x,nx,ilinx,1.0e-3,ierx)
124 write(6,
'('' ?cspline: x axis not strict ascending'')')
127 if(ibcxmin.eq.-1)
then
130 write(6,1009) inum,iwk,nx
132 >
' ?cspline: workspace too small. need: ',i6,
' got: ',i6/
133 >
' (need = nx, nx=',i6)
142 if(ibcxmin.eq.1)
then
144 else if(ibcxmin.eq.2)
then
148 if(ibcxmax.eq.1)
then
150 else if(ibcxmax.eq.2)
then
154 call v_spline(ibcxmin,ibcxmax,nx,x,fspl,wk)
157 fspl(3,i)=half*fspl(3,i)
158 fspl(4,i)=sixth*fspl(4,i)