155 SUBROUTINE sgemv(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
163 INTEGER INCX,INCY,LDA,M,N
167 REAL A(lda,*),X(*),Y(*)
174 parameter(one=1.0e+0,zero=0.0e+0)
178 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY,LENX,LENY
194 IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
195 + .NOT.lsame(trans,
'C'))
THEN 197 ELSE IF (m.LT.0)
THEN 199 ELSE IF (n.LT.0)
THEN 201 ELSE IF (lda.LT.max(1,m))
THEN 203 ELSE IF (incx.EQ.0)
THEN 205 ELSE IF (incy.EQ.0)
THEN 209 CALL xerbla(
'SGEMV ',info)
215 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
216 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 221 IF (lsame(trans,
'N'))
THEN 231 kx = 1 - (lenx-1)*incx
236 ky = 1 - (leny-1)*incy
244 IF (beta.NE.one)
THEN 246 IF (beta.EQ.zero)
THEN 257 IF (beta.EQ.zero)
THEN 270 IF (alpha.EQ.zero)
RETURN 271 IF (lsame(trans,
'N'))
THEN 280 y(i) = y(i) + temp*a(i,j)
289 y(iy) = y(iy) + temp*a(i,j)
304 temp = temp + a(i,j)*x(i)
306 y(jy) = y(jy) + alpha*temp
314 temp = temp + a(i,j)*x(ix)
317 y(jy) = y(jy) + alpha*temp
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV