136 SUBROUTINE zher(UPLO,N,ALPHA,X,INCX,A,LDA)
144 DOUBLE PRECISION ALPHA
149 COMPLEX*16 A(lda,*),X(*)
156 parameter(zero= (0.0d+0,0.0d+0))
160 INTEGER I,INFO,IX,J,JX,KX
170 INTRINSIC dble,dconjg,max
176 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
178 ELSE IF (n.LT.0)
THEN
180 ELSE IF (incx.EQ.0)
THEN
182 ELSE IF (lda.LT.max(1,n))
THEN
192 IF ((n.EQ.0) .OR. (alpha.EQ.dble(zero)))
RETURN
198 ELSE IF (incx.NE.1)
THEN
206 IF (lsame(uplo,
'U'))
THEN
212 IF (x(j).NE.zero)
THEN
213 temp = alpha*dconjg(x(j))
215 a(i,j) = a(i,j) + x(i)*temp
217 a(j,j) = dble(a(j,j)) + dble(x(j)*temp)
219 a(j,j) = dble(a(j,j))
225 IF (x(jx).NE.zero)
THEN
226 temp = alpha*dconjg(x(jx))
229 a(i,j) = a(i,j) + x(ix)*temp
232 a(j,j) = dble(a(j,j)) + dble(x(jx)*temp)
234 a(j,j) = dble(a(j,j))
245 IF (x(j).NE.zero)
THEN
246 temp = alpha*dconjg(x(j))
247 a(j,j) = dble(a(j,j)) + dble(temp*x(j))
249 a(i,j) = a(i,j) + x(i)*temp
252 a(j,j) = dble(a(j,j))
258 IF (x(jx).NE.zero)
THEN
259 temp = alpha*dconjg(x(jx))
260 a(j,j) = dble(a(j,j)) + dble(temp*x(jx))
264 a(i,j) = a(i,j) + x(ix)*temp
267 a(j,j) = dble(a(j,j))
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zher(UPLO, N, ALPHA, X, INCX, A, LDA)
ZHER