153 SUBROUTINE ssymv(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
162 INTEGER incx,incy,lda,n
166 REAL a(lda,*),x(*),y(*)
173 parameter(one=1.0e+0,zero=0.0e+0)
177 INTEGER i,info,ix,iy,j,jx,jy,kx,ky
193 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
195 ELSE IF (n.LT.0)
THEN
197 ELSE IF (lda.LT.max(1,n))
THEN
199 ELSE IF (incx.EQ.0)
THEN
201 ELSE IF (incy.EQ.0)
THEN
205 CALL
xerbla(
'SSYMV ',info)
211 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one))) return
232 IF (beta.NE.one)
THEN
234 IF (beta.EQ.zero)
THEN
245 IF (beta.EQ.zero)
THEN
258 IF (alpha.EQ.zero) return
259 IF (
lsame(uplo,
'U'))
THEN
263 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
268 y(i) = y(i) + temp1*a(i,j)
269 temp2 = temp2 + a(i,j)*x(i)
271 y(j) = y(j) + temp1*a(j,j) + alpha*temp2
282 y(iy) = y(iy) + temp1*a(i,j)
283 temp2 = temp2 + a(i,j)*x(ix)
287 y(jy) = y(jy) + temp1*a(j,j) + alpha*temp2
296 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
300 y(j) = y(j) + temp1*a(j,j)
302 y(i) = y(i) + temp1*a(i,j)
303 temp2 = temp2 + a(i,j)*x(i)
305 y(j) = y(j) + alpha*temp2
313 y(jy) = y(jy) + temp1*a(j,j)
319 y(iy) = y(iy) + temp1*a(i,j)
320 temp2 = temp2 + a(i,j)*x(ix)
322 y(jy) = y(jy) + alpha*temp2