146 SUBROUTINE strmv(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
154 CHARACTER DIAG,TRANS,UPLO
164 parameter(zero=0.0e+0)
168 INTEGER I,INFO,IX,J,JX,KX
185 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 187 ELSE IF (.NOT.lsame(trans,
'N') .AND. .NOT.lsame(trans,
'T') .AND.
188 + .NOT.lsame(trans,
'C'))
THEN 190 ELSE IF (.NOT.lsame(diag,
'U') .AND. .NOT.lsame(diag,
'N'))
THEN 192 ELSE IF (n.LT.0)
THEN 194 ELSE IF (lda.LT.max(1,n))
THEN 196 ELSE IF (incx.EQ.0)
THEN 200 CALL xerbla(
'STRMV ',info)
208 nounit = lsame(diag,
'N')
215 ELSE IF (incx.NE.1)
THEN 222 IF (lsame(trans,
'N'))
THEN 226 IF (lsame(uplo,
'U'))
THEN 229 IF (x(j).NE.zero)
THEN 232 x(i) = x(i) + temp*a(i,j)
234 IF (nounit) x(j) = x(j)*a(j,j)
240 IF (x(jx).NE.zero)
THEN 244 x(ix) = x(ix) + temp*a(i,j)
247 IF (nounit) x(jx) = x(jx)*a(j,j)
255 IF (x(j).NE.zero)
THEN 258 x(i) = x(i) + temp*a(i,j)
260 IF (nounit) x(j) = x(j)*a(j,j)
267 IF (x(jx).NE.zero)
THEN 271 x(ix) = x(ix) + temp*a(i,j)
274 IF (nounit) x(jx) = x(jx)*a(j,j)
284 IF (lsame(uplo,
'U'))
THEN 288 IF (nounit) temp = temp*a(j,j)
290 temp = temp + a(i,j)*x(i)
299 IF (nounit) temp = temp*a(j,j)
300 DO 110 i = j - 1,1,-1
302 temp = temp + a(i,j)*x(ix)
312 IF (nounit) temp = temp*a(j,j)
314 temp = temp + a(i,j)*x(i)
323 IF (nounit) temp = temp*a(j,j)
326 temp = temp + a(i,j)*x(ix)
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV