1 SUBROUTINE ctzcnjg( UPLO, M, N, IOFFD, ALPHA, A, LDA )
10 INTEGER IOFFD, LDA, M, N
108 parameter( one = ( 1.0e+0, 0.0e+0 ),
109 $ zero = ( 0.0e+0, 0.0e+0 ) )
112 INTEGER I, J, JTMP, MN
128 IF( ( m.LE.0 ).OR.( n.LE.0 ) )
133 IF( alpha.EQ.zero )
THEN
135 CALL ctzpad( uplo,
'N', m, n, ioffd, zero, zero, a, lda )
137 ELSE IF( alpha.EQ.one )
THEN
139 IF( lsame( uplo,
'L' ) )
THEN
141 mn =
max( 0, -ioffd )
142 DO 20 j = 1,
min( mn, n )
144 a( i, j ) = conjg( a( i, j ) )
148 DO 40 j = mn + 1,
min( m - ioffd, n )
149 DO 30 i = j + ioffd, m
150 a( i, j ) = conjg( a( i, j ) )
154 ELSE IF( lsame( uplo,
'U' ) )
THEN
158 mn =
min( m - ioffd, n )
159 DO 60 j =
max( 0, -ioffd ) + 1, mn
160 DO 50 i = 1, j + ioffd
161 a( i, j ) = conjg( a( i, j ) )
165 DO 80 j =
max( 0, mn ) + 1, n
167 a( i, j ) = conjg( a( i, j ) )
171 ELSE IF( lsame( uplo,
'D' ) )
THEN
175 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
177 a( jtmp, j ) = conjg( a( jtmp, j ) )
186 a( i, j ) = conjg( a( i, j ) )
194 IF( lsame( uplo,
'L' ) )
THEN
198 mn =
max( 0, -ioffd )
199 DO 130 j = 1,
min( mn, n )
201 a( i, j ) = alpha * conjg( a( i, j ) )
205 DO 150 j = mn + 1,
min( m - ioffd, n )
206 DO 140 i = j + ioffd, m
207 a( i, j ) = alpha * conjg( a( i, j ) )
211 ELSE IF( lsame( uplo,
'U' ) )
THEN
215 mn =
min( m - ioffd, n )
216 DO 170 j =
max( 0, -ioffd ) + 1, mn
217 DO 160 i = 1, j + ioffd
218 a( i, j ) = alpha * conjg( a( i, j ) )
222 DO 190 j =
max( 0, mn ) + 1, n
224 a( i, j ) = alpha * conjg( a( i, j ) )
228 ELSE IF( lsame( uplo,
'D' ) )
THEN
232 DO 200 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
234 a( jtmp, j ) = alpha * conjg( a( jtmp, j ) )
243 a( i, j ) = alpha * conjg( a( i, j ) )