159 SUBROUTINE cgemv(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
168 INTEGER INCX,INCY,LDA,M,N
172 COMPLEX A(lda,*),X(*),Y(*)
179 parameter(one= (1.0e+0,0.0e+0))
181 parameter(zero= (0.0e+0,0.0e+0))
185 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY,LENX,LENY
202 IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
203 + .NOT.lsame(trans,
'C'))
THEN 205 ELSE IF (m.LT.0)
THEN 207 ELSE IF (n.LT.0)
THEN 209 ELSE IF (lda.LT.max(1,m))
THEN 211 ELSE IF (incx.EQ.0)
THEN 213 ELSE IF (incy.EQ.0)
THEN 217 CALL xerbla(
'CGEMV ',info)
223 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
224 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 226 noconj = lsame(trans,
'T')
231 IF (lsame(trans,
'N'))
THEN 241 kx = 1 - (lenx-1)*incx
246 ky = 1 - (leny-1)*incy
254 IF (beta.NE.one)
THEN 256 IF (beta.EQ.zero)
THEN 267 IF (beta.EQ.zero)
THEN 280 IF (alpha.EQ.zero)
RETURN 281 IF (lsame(trans,
'N'))
THEN 290 y(i) = y(i) + temp*a(i,j)
299 y(iy) = y(iy) + temp*a(i,j)
315 temp = temp + a(i,j)*x(i)
319 temp = temp + conjg(a(i,j))*x(i)
322 y(jy) = y(jy) + alpha*temp
331 temp = temp + a(i,j)*x(ix)
336 temp = temp + conjg(a(i,j))*x(ix)
340 y(jy) = y(jy) + alpha*temp
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine xerbla(SRNAME, INFO)
XERBLA