148 SUBROUTINE sspmv(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
168 parameter(one=1.0e+0,zero=0.0e+0)
172 INTEGER i,info,ix,iy,j,jx,jy,k,kk,kx,ky
185 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
187 ELSE IF (n.LT.0)
THEN
189 ELSE IF (incx.EQ.0)
THEN
191 ELSE IF (incy.EQ.0)
THEN
195 CALL
xerbla(
'SSPMV ',info)
201 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one))) return
221 IF (beta.NE.one)
THEN
223 IF (beta.EQ.zero)
THEN
234 IF (beta.EQ.zero)
THEN
247 IF (alpha.EQ.zero) return
249 IF (
lsame(uplo,
'U'))
THEN
253 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
259 y(i) = y(i) + temp1*ap(k)
260 temp2 = temp2 + ap(k)*x(i)
263 y(j) = y(j) + temp1*ap(kk+j-1) + alpha*temp2
274 DO 70 k = kk,kk + j - 2
275 y(iy) = y(iy) + temp1*ap(k)
276 temp2 = temp2 + ap(k)*x(ix)
280 y(jy) = y(jy) + temp1*ap(kk+j-1) + alpha*temp2
290 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
294 y(j) = y(j) + temp1*ap(kk)
297 y(i) = y(i) + temp1*ap(k)
298 temp2 = temp2 + ap(k)*x(i)
301 y(j) = y(j) + alpha*temp2
310 y(jy) = y(jy) + temp1*ap(kk)
313 DO 110 k = kk + 1,kk + n - j
316 y(iy) = y(iy) + temp1*ap(k)
317 temp2 = temp2 + ap(k)*x(ix)
319 y(jy) = y(jy) + alpha*temp2