183 SUBROUTINE ssbmv(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
191 INTEGER INCX,INCY,K,LDA,N
195 REAL A(LDA,*),X(*),Y(*)
202 parameter(one=1.0e+0,zero=0.0e+0)
206 INTEGER I,INFO,IX,IY,J,JX,JY,KPLUS1,KX,KY,L
222 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
224 ELSE IF (n.LT.0)
THEN
226 ELSE IF (k.LT.0)
THEN
228 ELSE IF (lda.LT. (k+1))
THEN
230 ELSE IF (incx.EQ.0)
THEN
232 ELSE IF (incy.EQ.0)
THEN
236 CALL xerbla(
'SSBMV ',info)
242 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
262 IF (beta.NE.one)
THEN
264 IF (beta.EQ.zero)
THEN
275 IF (beta.EQ.zero)
THEN
288 IF (alpha.EQ.zero)
RETURN
289 IF (lsame(uplo,
'U'))
THEN
294 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
299 DO 50 i = max(1,j-k),j - 1
300 y(i) = y(i) + temp1*a(l+i,j)
301 temp2 = temp2 + a(l+i,j)*x(i)
303 y(j) = y(j) + temp1*a(kplus1,j) + alpha*temp2
314 DO 70 i = max(1,j-k),j - 1
315 y(iy) = y(iy) + temp1*a(l+i,j)
316 temp2 = temp2 + a(l+i,j)*x(ix)
320 y(jy) = y(jy) + temp1*a(kplus1,j) + alpha*temp2
333 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
337 y(j) = y(j) + temp1*a(1,j)
339 DO 90 i = j + 1,min(n,j+k)
340 y(i) = y(i) + temp1*a(l+i,j)
341 temp2 = temp2 + a(l+i,j)*x(i)
343 y(j) = y(j) + alpha*temp2
351 y(jy) = y(jy) + temp1*a(1,j)
355 DO 110 i = j + 1,min(n,j+k)
358 y(iy) = y(iy) + temp1*a(l+i,j)
359 temp2 = temp2 + a(l+i,j)*x(ix)
361 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(srname, info)
subroutine ssbmv(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy)
SSBMV