143 SUBROUTINE dspr2(UPLO,N,ALPHA,X,INCX,Y,INCY,AP)
151 DOUBLE PRECISION alpha
156 DOUBLE PRECISION ap(*),x(*),y(*)
162 DOUBLE PRECISION zero
163 parameter(zero=0.0d+0)
166 DOUBLE PRECISION temp1,temp2
167 INTEGER i,info,ix,iy,j,jx,jy,k,kk,kx,ky
180 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
182 ELSE IF (n.LT.0)
THEN
184 ELSE IF (incx.EQ.0)
THEN
186 ELSE IF (incy.EQ.0)
THEN
190 CALL
xerbla(
'DSPR2 ',info)
196 IF ((n.EQ.0) .OR. (alpha.EQ.zero)) return
201 IF ((incx.NE.1) .OR. (incy.NE.1))
THEN
220 IF (
lsame(uplo,
'U'))
THEN
224 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
226 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN
231 ap(k) = ap(k) + x(i)*temp1 + y(i)*temp2
239 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN
244 DO 30 k = kk,kk + j - 1
245 ap(k) = ap(k) + x(ix)*temp1 + y(iy)*temp2
259 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
261 IF ((x(j).NE.zero) .OR. (y(j).NE.zero))
THEN
266 ap(k) = ap(k) + x(i)*temp1 + y(i)*temp2
274 IF ((x(jx).NE.zero) .OR. (y(jy).NE.zero))
THEN
279 DO 70 k = kk,kk + n - j
280 ap(k) = ap(k) + x(ix)*temp1 + y(iy)*temp2