7 subroutine bpsplinb(x,inx,th,inth,fspl,inf3,
8 > ibcxmin,bcxmin,ibcxmax,bcxmax,
9 > wk,nwk,ilinx,ilinth,ier)
12 integer inx,inth,inf3,nwk
13 real x(inx),th(inth),fspl(4,4,inf3,inth),wk(nwk)
14 integer ibcxmin,ibcxmax
15 real bcxmin(inth),bcxmax(inth)
46 integer ilinx,ilinth,ier
80 if(nwk.lt.5*max(inx,inth))
then
81 write(6,
'('' ?bpsplinb: workspace too small.'')')
85 write(6,
'('' ?bpsplinb: at least 2 x points required.'')')
89 write(6,
'('' ?bpsplinb: need at least 2 theta points.'')')
93 call ibc_ck(ibcxmin,
'bcspline',
'xmin',0,7,ier)
94 call ibc_ck(ibcxmax,
'bcspline',
'xmax',0,7,ier)
98 call splinck(x,inx,ilinx,1.0e-3,ierx)
102 write(6,
'('' ?bpsplinb: x axis not strict ascending'')')
107 call splinck(th,inth,ilinth,1.0e-3,ierth)
111 write(6,
'('' ?bpsplinb: th axis not strict ascending'')')
119 call bcspline(x,inx,th,inth,fspl,inf3,
120 > ibcxmin,bcxmin,ibcxmax,bcxmax,
122 > wk,nwk,ilinx,ilinth,ier)