157 SUBROUTINE cgemv(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
165 INTEGER INCX,INCY,LDA,M,N
169 COMPLEX A(lda,*),X(*),Y(*)
176 parameter(one= (1.0e+0,0.0e+0))
178 parameter(zero= (0.0e+0,0.0e+0))
182 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY,LENX,LENY
199 IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
200 + .NOT.lsame(trans,
'C'))
THEN 202 ELSE IF (m.LT.0)
THEN 204 ELSE IF (n.LT.0)
THEN 206 ELSE IF (lda.LT.max(1,m))
THEN 208 ELSE IF (incx.EQ.0)
THEN 210 ELSE IF (incy.EQ.0)
THEN 214 CALL xerbla(
'CGEMV ',info)
220 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
221 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 223 noconj = lsame(trans,
'T')
228 IF (lsame(trans,
'N'))
THEN 238 kx = 1 - (lenx-1)*incx
243 ky = 1 - (leny-1)*incy
251 IF (beta.NE.one)
THEN 253 IF (beta.EQ.zero)
THEN 264 IF (beta.EQ.zero)
THEN 277 IF (alpha.EQ.zero)
RETURN 278 IF (lsame(trans,
'N'))
THEN 287 y(i) = y(i) + temp*a(i,j)
296 y(iy) = y(iy) + temp*a(i,j)
312 temp = temp + a(i,j)*x(i)
316 temp = temp + conjg(a(i,j))*x(i)
319 y(jy) = y(jy) + alpha*temp
328 temp = temp + a(i,j)*x(ix)
333 temp = temp + conjg(a(i,j))*x(ix)
337 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