2324 parameter ( zero = ( 0.0, 0.0 ), one = ( 1.0, 0.0 ) )
2326 parameter ( rogue = ( -1.0e10, 1.0e10 ) )
2328 parameter ( rzero = 0.0 )
2330 parameter ( rrogue = -1.0e10 )
2333 INTEGER lda, m, n, nmax
2335 CHARACTER*1 diag, uplo
2338 COMPLEX a( nmax, * ), aa( * )
2340 INTEGER i, ibeg, iend, j, jj
2341 LOGICAL gen, her, lower, sym, tri, unit, upper
2346 INTRINSIC cmplx, conjg, real
2352 upper = ( her.OR.sym.OR.tri ).AND.uplo.EQ.
'U'
2353 lower = ( her.OR.sym.OR.tri ).AND.uplo.EQ.
'L'
2354 unit = tri.AND.diag.EQ.
'U'
2360 IF( gen.OR.( upper.AND.i.LE.j ).OR.( lower.AND.i.GE.j ) )
2362 a( i, j ) =
cbeg( reset ) + transl
2365 IF( n.GT.3.AND.j.EQ.n/2 )
2368 a( j, i ) = conjg( a( i, j ) )
2370 a( j, i ) = a( i, j )
2378 $ a( j, j ) = cmplx(
REAL( A( J, J ) ), rzero )
2380 $ a( j, j ) = a( j, j ) + one
2387 IF( type.EQ.
'ge' )
THEN
2390 aa( i + ( j - 1 )*lda ) = a( i, j )
2392 DO 40 i = m + 1, lda
2393 aa( i + ( j - 1 )*lda ) = rogue
2396 ELSE IF( type.EQ.
'he'.OR.type.EQ.
'sy'.OR.type.EQ.
'tr' )
THEN
2413 DO 60 i = 1, ibeg - 1
2414 aa( i + ( j - 1 )*lda ) = rogue
2416 DO 70 i = ibeg, iend
2417 aa( i + ( j - 1 )*lda ) = a( i, j )
2419 DO 80 i = iend + 1, lda
2420 aa( i + ( j - 1 )*lda ) = rogue
2423 jj = j + ( j - 1 )*lda
2424 aa( jj ) = cmplx(
REAL( AA( JJ ) ), rrogue )
complex function cbeg(RESET)