133 SUBROUTINE dsyr(UPLO,N,ALPHA,X,INCX,A,LDA)
141 DOUBLE PRECISION alpha
146 DOUBLE PRECISION a(lda,*),x(*)
152 DOUBLE PRECISION zero
153 parameter(zero=0.0d+0)
156 DOUBLE PRECISION temp
157 INTEGER i,info,ix,j,jx,kx
173 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
175 ELSE IF (n.LT.0)
THEN
177 ELSE IF (incx.EQ.0)
THEN
179 ELSE IF (lda.LT.max(1,n))
THEN
189 IF ((n.EQ.0) .OR. (alpha.EQ.zero)) return
195 ELSE IF (incx.NE.1)
THEN
203 IF (
lsame(uplo,
'U'))
THEN
209 IF (x(j).NE.zero)
THEN
212 a(i,j) = a(i,j) + x(i)*temp
219 IF (x(jx).NE.zero)
THEN
223 a(i,j) = a(i,j) + x(ix)*temp
236 IF (x(j).NE.zero)
THEN
239 a(i,j) = a(i,j) + x(i)*temp
246 IF (x(jx).NE.zero)
THEN
250 a(i,j) = a(i,j) + x(ix)*temp