1 subroutine r8mkspl3pb(fun,x,nx,th,nth,ph,nph,fspl,nf4,nf5,
2 > ibcxmin,bcxmin,ibcxmax,bcxmax,nb1,
3 > wk,inwk,ilinx,ilinth,ilinph,ier)
24 INTEGER,
PARAMETER :: R8=selected_real_kind(12,100)
25 INTEGER nth,nph,nf4,nf5,nb1,inwk,nx,iph,ith,ix
35 real*8 fspl(4,4,4,nf4,nf5,nph)
39 REAL*8 bcxmin(nb1,nph)
41 real*8 bcxmax(nb1,nph)
53 write(6,
'('.lt.
' ?mkspl3pb -- array dim error, nf4 nx'')')
57 write(6,
'('.lt.
' ?mkspl3pb -- array dim error, nf5 nth'')')
61 write(6,
'('.lt.
' ?mkspl3pb -- array dim error, nb1 nth'')')
64 if(inwk.lt.5*max(nx,nth,nph))
then
65 write(6,
'('' ?mkspl3pb -- array dim error, inwk too small'')')
74 fspl(1,1,1,ix,ith,iph)=fun(x(ix),th(ith),ph(iph))
79 call r8tpsplinb(x,nx,th,nth,ph,nph,fspl,nf4,nf5,
80 > ibcxmin,bcxmin,ibcxmax,bcxmax,nb1,
81 > wk,inwk,ilinx,ilinth,ilinph,ier)