3
subroutine dmcheb(n,ncapm,mcd,mp,dxp,dyp,dquad,deps,iq,
4
*idelta,finld,finrd,dendl,dendr,dxfer,dwfer,da,db,dnu,dalpha,
5
*dbeta,ncap,kount,ierrd,dbe,dx,dw,dxm,dwm,ds,ds0,ds1,ds2)
7
c This is a double-precision version of the routine mccheb.
9
double precision dxp,dyp,deps,dendl,dendr,dxfer,dwfer,da,db,
10
*dnu,dalpha,dbeta,dbe,dx,dw,dxm,dwm,ds,ds0,ds1,ds2,dsum,dp1,
12
dimension dxp(*),dyp(*),dendl(mcd),dendr(mcd),dxfer(ncapm),
13
*dwfer(ncapm),da(*),db(*),dnu(*),dalpha(n),dbeta(n),dbe(n),
14
*dx(ncapm),dw(ncapm),dxm(*),dwm(*),ds(n),ds0(*),ds1(*),ds2(*)
17
c The arrays dxp,dyp are assumed to have dimension mp if mp > 0,
18
c the arrays da,db dimension 2*n-1, the arrays dnu,ds0,ds1,ds2
19
c dimension 2*n, and the arrays dxm,dwm dimension mc*ncapm+mp.
22
if(idelta.le.0) idelta=1
38
if(kount.gt.1) incap=2**(kount/5)*n
40
if(ncap.gt.ncapm) then
48
call dquad(ncap,dx,dw,i,ierr)
50
call dqgp(ncap,dx,dw,i,ierr,mcd,finld,finrd,dendl,dendr,
79
dp=(dxm(i)-da(l))*dp1-db(l)*dpm1
86
call dcheb(n,da,db,dnu,dalpha,dbeta,ds,ierr,ds0,ds1,ds2)
88
if(dabs(dbeta(k)-dbe(k)).gt.deps*dabs(dbeta(k))) goto 20