210 SUBROUTINE zsyconvf( UPLO, WAY, N, A, LDA, E, IPIV, INFO )
223 COMPLEX*16 A( LDA, * ), E( * )
230 parameter( zero = ( 0.0d+0, 0.0d+0 ) )
239 LOGICAL UPPER, CONVERT
245 upper = lsame( uplo,
'U' )
246 convert = lsame( way,
'C' )
247 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
249 ELSE IF( .NOT.convert .AND. .NOT.lsame( way,
'R' ) )
THEN
251 ELSE IF( n.LT.0 )
THEN
253 ELSE IF( lda.LT.max( 1, n ) )
THEN
258 CALL xerbla(
'ZSYCONVF', -info )
284 IF( ipiv( i ).LT.0 )
THEN
302 IF( ipiv( i ).GT.0 )
THEN
311 CALL zswap( n-i, a( i, i+1 ), lda,
312 $ a( ip, i+1 ), lda )
324 IF( ip.NE.(i-1) )
THEN
325 CALL zswap( n-i, a( i-1, i+1 ), lda,
326 $ a( ip, i+1 ), lda )
355 IF( ipiv( i ).GT.0 )
THEN
364 CALL zswap( n-i, a( ip, i+1 ), lda,
378 IF( ip.NE.(i-1) )
THEN
379 CALL zswap( n-i, a( ip, i+1 ), lda,
380 $ a( i-1, i+1 ), lda )
389 ipiv( i ) = ipiv( i-1 )
401 IF( ipiv( i ).LT.0 )
THEN
428 IF( i.LT.n .AND. ipiv(i).LT.0 )
THEN
446 IF( ipiv( i ).GT.0 )
THEN
455 CALL zswap( i-1, a( i, 1 ), lda,
468 IF( ip.NE.(i+1) )
THEN
469 CALL zswap( i-1, a( i+1, 1 ), lda,
499 IF( ipiv( i ).GT.0 )
THEN
508 CALL zswap( i-1, a( ip, 1 ), lda,
522 IF( ip.NE.(i+1) )
THEN
523 CALL zswap( i-1, a( ip, 1 ), lda,
533 ipiv( i ) = ipiv( i+1 )
544 DO WHILE ( i.LE.n-1 )
545 IF( ipiv( i ).LT.0 )
THEN
546 a( i + 1, i ) = e( i )