3
subroutine dgauss(n,dalpha,dbeta,deps,dzero,dweigh,ierr,de)
5
c This is a double-precision version of the routine gauss.
7
double precision dalpha,dbeta,deps,dzero,dweigh,de,dp,dg,dr,
9
dimension dalpha(n),dbeta(n),dzero(n),dweigh(n),de(n)
16
if(dbeta(1).lt.0.d0) then
26
if(dbeta(k).lt.0.d0) then
30
de(k-1)=dsqrt(dbeta(k))
37
if(dabs(de(m)).le.deps*(dabs(dzero(m))+dabs(dzero(m+1))))
44
dg=(dzero(l+1)-dp)/(2.d0*de(l))
46
dg=dzero(m)-dp+de(l)/(dg+dsign(dr,dg))
55
if(dabs(df).lt.dabs(dg)) goto 150
68
dr=(dzero(i)-dg)*ds+2.d0*dc*db
73
dweigh(i+1)=ds*dweigh(i)+dc*df
74
dweigh(i)=dc*dweigh(i)-ds*df
86
if(dzero(j).ge.dp) goto 260
98
dweigh(k)=dbeta(1)*dweigh(k)*dweigh(k)