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