1 subroutine dchex(r,ldr,p,k,l,z,ldz,nz,c,s,job)
2 integer ldr,p,k,l,ldz,nz,job
3 double precision r(ldr,1),z(ldz,1),s(1)
116 integer i,ii,il,iu,j,jj,km1,kp1,lmk,lm1
117 double precision rjp1j,t
147 if (k .eq. 1)
go to 60
158 call drotg(s(i+1),t,c(i),s(i))
166 t = c(ii)*r(i,j) + s(ii)*r(i+1,j)
167 r(i+1,j) = c(ii)*r(i+1,j) - s(ii)*r(i,j)
174 if (nz .lt. 1)
go to 120
178 t = c(ii)*z(i,j) + s(ii)*z(i+1,j)
179 z(i+1,j) = c(ii)*z(i+1,j) - s(ii)*z(i,j)
214 if (j .eq. k)
go to 200
221 t = c(ii)*r(i,j) + s(ii)*r(i+1,j)
222 r(i+1,j) = c(ii)*r(i+1,j) - s(ii)*r(i,j)
226 if (j .ge. l)
go to 210
229 call drotg(r(j,j),t,c(jj),s(jj))
235 if (nz .lt. 1)
go to 250
239 t = c(ii)*z(i,j) + s(ii)*z(i+1,j)
240 z(i+1,j) = c(ii)*z(i+1,j) - s(ii)*z(i,j)
subroutine dchex(r, ldr, p, k, l, z, ldz, nz, c, s, job)
subroutine drotg(da, db, c, s)