1 SUBROUTINE zasymv( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
11 INTEGER INCX, INCY, LDA, N
12 DOUBLE PRECISION ALPHA, BETA
15 DOUBLE PRECISION Y( * )
16 COMPLEX*16 A( LDA, * ), X( * )
90 DOUBLE PRECISION ONE, ZERO
91 parameter( one = 1.0d+0, zero = 0.0d+0 )
94 INTEGER I, INFO, IX, IY, J, JX, JY, KX, KY
95 DOUBLE PRECISION , TEMP0, TEMP1, TEMP2
106 INTRINSIC abs, dble, dimag,
max
109 DOUBLE PRECISION CABS1
110 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
117 IF ( .NOT.lsame( uplo, 'u.AND.
' )
118.NOT.
$ LSAME( UPLO, 'l
' ) )THEN
120.LT.
ELSE IF( N0 )THEN
122.LT.
ELSE IF( LDAMAX( 1, N ) )THEN
124.EQ.
ELSE IF( INCX0 )THEN
126.EQ.
ELSE IF( INCY0 )THEN
130 CALL XERBLA( 'zasymv', INFO )
136.EQ..OR..EQ..AND..EQ.
IF( ( N0 )( ( ALPHAZERO )( BETAONE ) ) )
144 KX = 1 - ( N - 1 ) * INCX
149 KY = 1 - ( N - 1 ) * INCY
158.NE.
IF( BETAONE ) THEN
160.EQ.
IF( BETAZERO ) THEN
166 Y( I ) = ABS( BETA * Y( I ) )
171.EQ.
IF( BETAZERO ) THEN
178 Y( IY ) = ABS( BETA * Y( IY ) )
188 TALPHA = ABS( ALPHA )
190 IF( LSAME( UPLO, 'u
' ) ) THEN
194.EQ..AND..EQ.
IF( ( INCX1 )( INCY1 ) ) THEN
196 TEMP1 = TALPHA * CABS1( X( J ) )
199 TEMP0 = CABS1( A( I, J ) )
200 Y( I ) = Y( I ) + TEMP1 * TEMP0
201 TEMP2 = TEMP2 + TEMP0 * CABS1( X( I ) )
203 Y( J ) = Y( J ) + TEMP1 * CABS1( A( J, J ) ) +
214 TEMP1 = TALPHA * CABS1( X( JX ) )
220 TEMP0 = CABS1( A( I, J ) )
221 Y( IY ) = Y( IY ) + TEMP1 * TEMP0
222 TEMP2 = TEMP2 + TEMP0 * CABS1( X( IX ) )
226 Y( JY ) = Y( JY ) + TEMP1 * CABS1( A( J, J ) ) +
239.EQ..AND..EQ.
IF( ( INCX1 )( INCY1 ) ) THEN
243 TEMP1 = TALPHA * CABS1( X( J ) )
245 Y( J ) = Y( J ) + TEMP1 * CABS1( A( J, J ) )
248 TEMP0 = CABS1( A( I, J ) )
249 Y( I ) = Y( I ) + TEMP1 * TEMP0
250 TEMP2 = TEMP2 + TEMP0 * CABS1( X( I ) )
254 Y( J ) = Y( J ) + ALPHA * TEMP2
264 TEMP1 = TALPHA * CABS1( X( JX ) )
266 Y( JY ) = Y( JY ) + TEMP1 * CABS1( A( J, J ) )
274 TEMP0 = CABS1( A( I, J ) )
275 Y( IY ) = Y( IY ) + TEMP1 * TEMP0
276 TEMP2 = TEMP2 + TEMP0 * CABS1( X( IX ) )
280 Y( JY ) = Y( JY ) + ALPHA * TEMP2
subroutine zasymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)