148 SUBROUTINE dsyr2(UPLO,N,ALPHA,X,INCX,Y,INCY,A,LDA)
156 DOUBLE PRECISION ALPHA
157 INTEGER INCX,INCY,LDA,N
161 DOUBLE PRECISION A(lda,*),X(*),Y(*)
167 DOUBLE PRECISION ZERO
168 parameter(zero=0.0d+0)
171 DOUBLE PRECISION TEMP1,TEMP2
172 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY
188 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 190 ELSE IF (n.LT.0)
THEN 192 ELSE IF (incx.EQ.0)
THEN 194 ELSE IF (incy.EQ.0)
THEN 196 ELSE IF (lda.LT.max(1,n))
THEN 200 CALL xerbla(
'DSYR2 ',info)
206 IF ((n.EQ.0) .OR. (alpha.EQ.zero))
RETURN 211 IF ((incx.NE.1) .OR. (incy.NE.1))
THEN 230 IF (lsame(uplo,
'U'))
THEN 234 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 236 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN 240 a(i,j) = a(i,j) + x(i)*temp1 + y(i)*temp2
246 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN 252 a(i,j) = a(i,j) + x(ix)*temp1 + y(iy)*temp2
265 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 267 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN 271 a(i,j) = a(i,j) + x(i)*temp1 + y(i)*temp2
277 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN 283 a(i,j) = a(i,j) + x(ix)*temp1 + y(iy)*temp2
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dsyr2(UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA)
DSYR2