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 sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
SGEMV