141 SUBROUTINE stpmv(UPLO,TRANS,DIAG,N,AP,X,INCX)
149 CHARACTER DIAG,TRANS,UPLO
159 parameter(zero=0.0e+0)
163 INTEGER I,INFO,IX,J,JX,K,KK,KX
177 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
179 ELSE IF (.NOT.lsame(trans,
'N') .AND.
180 + .NOT.lsame(trans,
'T') .AND.
181 + .NOT.lsame(trans,
'C'))
THEN
183 ELSE IF (.NOT.lsame(diag,
'U') .AND.
184 + .NOT.lsame(diag,
'N'))
THEN
186 ELSE IF (n.LT.0)
THEN
188 ELSE IF (incx.EQ.0)
THEN
192 CALL xerbla(
'STPMV ',info)
200 nounit = lsame(diag,
'N')
207 ELSE IF (incx.NE.1)
THEN
214 IF (lsame(trans,
'N'))
THEN
218 IF (lsame(uplo,
'U'))
THEN
222 IF (x(j).NE.zero)
THEN
226 x(i) = x(i) + temp*ap(k)
229 IF (nounit) x(j) = x(j)*ap(kk+j-1)
236 IF (x(jx).NE.zero)
THEN
239 DO 30 k = kk,kk + j - 2
240 x(ix) = x(ix) + temp*ap(k)
243 IF (nounit) x(jx) = x(jx)*ap(kk+j-1)
253 IF (x(j).NE.zero)
THEN
257 x(i) = x(i) + temp*ap(k)
260 IF (nounit) x(j) = x(j)*ap(kk-n+j)
268 IF (x(jx).NE.zero)
THEN
271 DO 70 k = kk,kk - (n- (j+1)),-1
272 x(ix) = x(ix) + temp*ap(k)
275 IF (nounit) x(jx) = x(jx)*ap(kk-n+j)
286 IF (lsame(uplo,
'U'))
THEN
291 IF (nounit) temp = temp*ap(kk)
294 temp = temp + ap(k)*x(i)
305 IF (nounit) temp = temp*ap(kk)
306 DO 110 k = kk - 1,kk - j + 1,-1
308 temp = temp + ap(k)*x(ix)
320 IF (nounit) temp = temp*ap(kk)
323 temp = temp + ap(k)*x(i)
334 IF (nounit) temp = temp*ap(kk)
335 DO 150 k = kk + 1,kk + n - j
337 temp = temp + ap(k)*x(ix)
subroutine xerbla(srname, info)
subroutine stpmv(uplo, trans, diag, n, ap, x, incx)
STPMV