1 SUBROUTINE catrmv( UPLO, TRANS, DIAG, N, ALPHA, A, LDA, X, INCX,
10 CHARACTER*1 DIAG, TRANS, UPLO
11 INTEGER INCX, INCY, LDA, N
16 COMPLEX A( LDA, * ), X( * )
122 parameter( one = 1.0e+0, zero = 0.0e+0 )
125 INTEGER I, INFO, IX, IY, J, JX, JY, KX, KY
127 REAL ABSX, TALPHA, TEMP
138 INTRINSIC abs, aimag,
max, real
142 cabs1( zdum ) = abs( real( zdum ) ) + abs( aimag( zdum ) )
149 IF ( .NOT.lsame( uplo ,
'U' ).AND.
150 $ .NOT.lsame( uplo ,
'L' ) )
THEN
152 ELSE IF( .NOT.lsame( trans,
'N' ).AND.
154 $ .NOT.lsame( trans,
'C' ) )
THEN
156 ELSE IF( .NOT.lsame( diag , 'u.AND.
' )
157.NOT.
$ LSAME( DIAG , 'n
' ) )THEN
159.LT.
ELSE IF( N0 )THEN
161.LT.
ELSE IF( LDAMAX( 1, N ) )THEN
163.EQ.
ELSE IF( INCX0 )THEN
165.EQ.
ELSE IF( INCY0 ) THEN
169 CALL XERBLA( 'catrmv', INFO )
176.EQ..AND..EQ.
$ ( ( ALPHAZERO )( BETAONE ) ) )
179 NOUNIT = LSAME( DIAG , 'n
' )
186 KX = 1 - ( N - 1 ) * INCX
191 KY = 1 - ( N - 1 ) * INCY
200.EQ.
IF( BETAZERO ) THEN
204.EQ.
ELSE IF( BETAONE ) THEN
206 Y( I ) = ABS( Y( I ) )
210 Y( I ) = ABS( BETA * Y( I ) )
215.EQ.
IF( BETAZERO ) THEN
220.EQ.
ELSE IF( BETAONE ) THEN
222 Y( IY ) = ABS( Y( IY ) )
227 Y( IY ) = ABS( BETA * Y( IY ) )
236 TALPHA = ABS( ALPHA )
238 IF( LSAME( TRANS, 'n
' ) )THEN
242 IF( LSAME( UPLO, 'u
' ) )THEN
246 ABSX = CABS1( X( JX ) )
247.NE.
IF( ABSXZERO ) THEN
250 Y( I ) = Y( I ) + TEMP * CABS1( A( I, J ) )
254 Y( J ) = Y( J ) + TEMP * CABS1( A( J, J ) )
256 Y( J ) = Y( J ) + TEMP
265 ABSX = CABS1( X( JX ) )
266.NE.
IF( ABSXZERO ) THEN
270 Y( IY ) = Y( IY ) + TEMP * CABS1( A( I, J ) )
275 Y( IY ) = Y( IY ) + TEMP * CABS1( A( J, J ) )
277 Y( IY ) = Y( IY ) + TEMP
290 ABSX = CABS1( X( JX ) )
291.NE.
IF( ABSXZERO ) THEN
296 Y( J ) = Y( J ) + TEMP * CABS1( A( J, J ) )
298 Y( J ) = Y( J ) + TEMP
302 Y( I ) = Y( I ) + TEMP * CABS1( A( I, J ) )
311 ABSX = CABS1( X( JX ) )
312.NE.
IF( ABSXZERO ) THEN
314 IY = KY + ( J - 1 ) * INCY
317 Y( IY ) = Y( IY ) + TEMP * CABS1( A( J, J ) )
319 Y( IY ) = Y( IY ) + TEMP
324 Y( IY ) = Y( IY ) + TEMP * CABS1( A( I, J ) )
338 IF( LSAME( UPLO, 'u
' ) )THEN
346 TEMP = TEMP + CABS1( A( I, J ) ) * CABS1( X( I ) )
350 TEMP = TEMP + CABS1( A( J, J ) ) * CABS1( X( J ) )
352 TEMP = TEMP + CABS1( X( J ) )
355 Y( JY ) = Y( JY ) + TALPHA * TEMP
366 TEMP = TEMP + CABS1( A( I, J ) ) * CABS1( X( IX ) )
371 TEMP = TEMP + CABS1( A( J, J ) ) * CABS1( X( IX ) )
373 TEMP = TEMP + CABS1( X( IX ) )
376 Y( JY ) = Y( JY ) + TALPHA * TEMP
391 TEMP = CABS1( A( J, J ) ) * CABS1( X( J ) )
393 TEMP = CABS1( X( J ) )
397 TEMP = TEMP + CABS1( A( I, J ) ) * CABS1( X( I ) )
400 Y( JY ) = Y( JY ) + TALPHA * TEMP
409 IX = KX + ( J - 1 ) * INCX
412 TEMP = CABS1( A( J, J ) ) * CABS1( X( IX ) )
414 TEMP = CABS1( X( IX ) )
419 TEMP = TEMP + CABS1( A( I, J ) ) * CABS1( X( IX ) )
421 Y( JY ) = Y( JY ) + TALPHA * TEMP
subroutine catrmv(uplo, trans, diag, n, alpha, a, lda, x, incx, beta, y, incy)