136 $ info, work, rwork )
145 INTEGER n, lda, ldaf, info
149 COMPLEX a( lda, * ), af( ldaf, * ), work( * ), x( * )
158 REAL ainvnm, anorm, tmp
173 INTRINSIC abs, max,
REAL, aimag
179 cabs1( zdum ) = abs(
REAL( ZDUM ) ) + abs( aimag( zdum ) )
186 notrans =
lsame( trans,
'N' )
187 IF ( .NOT. notrans .AND. .NOT.
lsame( trans,
'T' ) .AND. .NOT.
188 $
lsame( trans,
'C' ) )
THEN
190 ELSE IF( n.LT.0 )
THEN
192 ELSE IF( lda.LT.max( 1, n ) )
THEN
194 ELSE IF( ldaf.LT.max( 1, n ) )
THEN
198 CALL
xerbla(
'CLA_GERCOND_X', -info )
209 tmp = tmp + cabs1( a( i, j ) * x( j ) )
212 anorm = max( anorm, tmp )
218 tmp = tmp + cabs1( a( j, i ) * x( j ) )
221 anorm = max( anorm, tmp )
230 ELSE IF( anorm .EQ. 0.0e+0 )
THEN
240 CALL
clacn2( n, work( n+1 ), work, ainvnm, kase, isave )
245 work( i ) = work( i ) * rwork( i )
249 CALL
cgetrs(
'No transpose', n, 1, af, ldaf, ipiv,
252 CALL
cgetrs(
'Conjugate transpose', n, 1, af, ldaf, ipiv,
259 work( i ) = work( i ) / x( i )
266 work( i ) = work( i ) / x( i )
270 CALL
cgetrs(
'Conjugate transpose', n, 1, af, ldaf, ipiv,
273 CALL
cgetrs(
'No transpose', n, 1, af, ldaf, ipiv,
280 work( i ) = work( i ) * rwork( i )
288 IF( ainvnm .NE. 0.0e+0 )