146 SUBROUTINE dsyr2(UPLO,N,ALPHA,X,INCX,Y,INCY,A,LDA)
153 DOUBLE PRECISION ALPHA
154 INTEGER INCX,INCY,LDA,N
158 DOUBLE PRECISION A(lda,*),X(*),Y(*)
164 DOUBLE PRECISION ZERO
165 parameter(zero=0.0d+0)
168 DOUBLE PRECISION TEMP1,TEMP2
169 INTEGER I,INFO,IX,IY,J,JX,JY,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 193 ELSE IF (lda.LT.max(1,n))
THEN 197 CALL xerbla(
'DSYR2 ',info)
203 IF ((n.EQ.0) .OR. (alpha.EQ.zero))
RETURN 208 IF ((incx.NE.1) .OR. (incy.NE.1))
THEN 227 IF (lsame(uplo,
'U'))
THEN 231 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 233 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN 237 a(i,j) = a(i,j) + x(i)*temp1 + y(i)*temp2
243 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN 249 a(i,j) = a(i,j) + x(ix)*temp1 + y(iy)*temp2
262 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 264 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN 268 a(i,j) = a(i,j) + x(i)*temp1 + y(i)*temp2
274 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN 280 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