131 SUBROUTINE zspr( UPLO, N, ALPHA, X, INCX, AP )
143 COMPLEX*16 AP( * ), X( * )
150 parameter( zero = ( 0.0d+0, 0.0d+0 ) )
153 INTEGER I, INFO, IX, J, JX, K, KK, KX
168 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
170 ELSE IF( n.LT.0 )
THEN
172 ELSE IF( incx.EQ.0 )
THEN
176 CALL xerbla(
'ZSPR ', info )
182 IF( ( n.EQ.0 ) .OR. ( alpha.EQ.zero ) )
188 kx = 1 - ( n-1 )*incx
189 ELSE IF( incx.NE.1 )
THEN
197 IF( lsame( uplo,
'U' ) )
THEN
203 IF( x( j ).NE.zero )
THEN
207 ap( k ) = ap( k ) + x( i )*temp
210 ap( kk+j-1 ) = ap( kk+j-1 ) + x( j )*temp
212 ap( kk+j-1 ) = ap( kk+j-1 )
219 IF( x( jx ).NE.zero )
THEN
222 DO 30 k = kk, kk + j - 2
223 ap( k ) = ap( k ) + x( ix )*temp
226 ap( kk+j-1 ) = ap( kk+j-1 ) + x( jx )*temp
228 ap( kk+j-1 ) = ap( kk+j-1 )
240 IF( x( j ).NE.zero )
THEN
242 ap( kk ) = ap( kk ) + temp*x( j )
245 ap( k ) = ap( k ) + x( i )*temp
256 IF( x( jx ).NE.zero )
THEN
258 ap( kk ) = ap( kk ) + temp*x( jx )
260 DO 70 k = kk + 1, kk + n - j
262 ap( k ) = ap( k ) + x( ix )*temp
subroutine xerbla(srname, info)
subroutine zspr(uplo, n, alpha, x, incx, ap)
ZSPR performs the symmetrical rank-1 update of a complex symmetric packed matrix.