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 xerbla(SRNAME, INFO)
XERBLA
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV