157 SUBROUTINE sgemv(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
165 INTEGER INCX,INCY,LDA,M,N
169 REAL A(LDA,*),X(*),Y(*)
176 parameter(one=1.0e+0,zero=0.0e+0)
180 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY,LENX,LENY
196 IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
197 + .NOT.lsame(trans,
'C'))
THEN
199 ELSE IF (m.LT.0)
THEN
201 ELSE IF (n.LT.0)
THEN
203 ELSE IF (lda.LT.max(1,m))
THEN
205 ELSE IF (incx.EQ.0)
THEN
207 ELSE IF (incy.EQ.0)
THEN
211 CALL xerbla(
'SGEMV ',info)
217 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
218 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
223 IF (lsame(trans,
'N'))
THEN
233 kx = 1 - (lenx-1)*incx
238 ky = 1 - (leny-1)*incy
246 IF (beta.NE.one)
THEN
248 IF (beta.EQ.zero)
THEN
259 IF (beta.EQ.zero)
THEN
272 IF (alpha.EQ.zero)
RETURN
273 IF (lsame(trans,
'N'))
THEN
282 y(i) = y(i) + temp*a(i,j)
291 y(iy) = y(iy) + temp*a(i,j)
306 temp = temp + a(i,j)*x(i)
308 y(jy) = y(jy) + alpha*temp
316 temp = temp + a(i,j)*x(ix)
319 y(jy) = y(jy) + alpha*temp
subroutine xerbla(srname, info)
subroutine sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
SGEMV