157 SUBROUTINE sgemv(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
166 INTEGER INCX,INCY,LDA,M,N
170 REAL A(lda,*),X(*),Y(*)
177 parameter(one=1.0e+0,zero=0.0e+0)
181 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY,LENX,LENY
197 IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
198 + .NOT.lsame(trans,
'C'))
THEN 200 ELSE IF (m.LT.0)
THEN 202 ELSE IF (n.LT.0)
THEN 204 ELSE IF (lda.LT.max(1,m))
THEN 206 ELSE IF (incx.EQ.0)
THEN 208 ELSE IF (incy.EQ.0)
THEN 212 CALL xerbla(
'SGEMV ',info)
218 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
219 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 224 IF (lsame(trans,
'N'))
THEN 234 kx = 1 - (lenx-1)*incx
239 ky = 1 - (leny-1)*incy
247 IF (beta.NE.one)
THEN 249 IF (beta.EQ.zero)
THEN 260 IF (beta.EQ.zero)
THEN 273 IF (alpha.EQ.zero)
RETURN 274 IF (lsame(trans,
'N'))
THEN 283 y(i) = y(i) + temp*a(i,j)
292 y(iy) = y(iy) + temp*a(i,j)
307 temp = temp + a(i,j)*x(i)
309 y(jy) = y(jy) + alpha*temp
317 temp = temp + a(i,j)*x(ix)
320 y(jy) = y(jy) + alpha*temp
subroutine sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV
subroutine xerbla(SRNAME, INFO)
XERBLA