150 SUBROUTINE zhpmv(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
158 COMPLEX*16 ALPHA,BETA
163 COMPLEX*16 AP(*),X(*),Y(*)
170 parameter(one= (1.0d+0,0.0d+0))
172 parameter(zero= (0.0d+0,0.0d+0))
175 COMPLEX*16 TEMP1,TEMP2
176 INTEGER I,INFO,IX,IY,J,JX,JY,K,KK,KX,KY
186 INTRINSIC dble,dconjg
192 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 194 ELSE IF (n.LT.0)
THEN 196 ELSE IF (incx.EQ.0)
THEN 198 ELSE IF (incy.EQ.0)
THEN 202 CALL xerbla(
'ZHPMV ',info)
208 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 228 IF (beta.NE.one)
THEN 230 IF (beta.EQ.zero)
THEN 241 IF (beta.EQ.zero)
THEN 254 IF (alpha.EQ.zero)
RETURN 256 IF (lsame(uplo,
'U'))
THEN 260 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 266 y(i) = y(i) + temp1*ap(k)
267 temp2 = temp2 + dconjg(ap(k))*x(i)
270 y(j) = y(j) + temp1*dble(ap(kk+j-1)) + alpha*temp2
281 DO 70 k = kk,kk + j - 2
282 y(iy) = y(iy) + temp1*ap(k)
283 temp2 = temp2 + dconjg(ap(k))*x(ix)
287 y(jy) = y(jy) + temp1*dble(ap(kk+j-1)) + alpha*temp2
297 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 301 y(j) = y(j) + temp1*dble(ap(kk))
304 y(i) = y(i) + temp1*ap(k)
305 temp2 = temp2 + dconjg(ap(k))*x(i)
308 y(j) = y(j) + alpha*temp2
317 y(jy) = y(jy) + temp1*dble(ap(kk))
320 DO 110 k = kk + 1,kk + n - j
323 y(iy) = y(iy) + temp1*ap(k)
324 temp2 = temp2 + dconjg(ap(k))*x(ix)
326 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zhpmv(UPLO, N, ALPHA, AP, X, INCX, BETA, Y, INCY)
ZHPMV