2106 parameter ( zero = 0.0, one = 1.0 )
2108 parameter ( rogue = -1.0e10 )
2111 INTEGER lda, m, n, nmax
2113 CHARACTER*1 diag, uplo
2116 REAL a( nmax, * ), aa( * )
2118 INTEGER i, ibeg, iend, j
2119 LOGICAL gen, lower, sym, tri, unit, upper
2127 upper = ( sym.OR.tri ).AND.uplo.EQ.
'U'
2128 lower = ( sym.OR.tri ).AND.uplo.EQ.
'L'
2129 unit = tri.AND.diag.EQ.
'U'
2135 IF( gen.OR.( upper.AND.i.LE.j ).OR.( lower.AND.i.GE.j ) )
2137 a( i, j ) =
sbeg( reset ) + transl
2140 IF( n.GT.3.AND.j.EQ.n/2 )
2143 a( j, i ) = a( i, j )
2151 $ a( j, j ) = a( j, j ) + one
2158 IF( type.EQ.
'GE' )
THEN
2161 aa( i + ( j - 1 )*lda ) = a( i, j )
2163 DO 40 i = m + 1, lda
2164 aa( i + ( j - 1 )*lda ) = rogue
2167 ELSE IF( type.EQ.
'SY'.OR.type.EQ.
'TR' )
THEN
2184 DO 60 i = 1, ibeg - 1
2185 aa( i + ( j - 1 )*lda ) = rogue
2187 DO 70 i = ibeg, iend
2188 aa( i + ( j - 1 )*lda ) = a( i, j )
2190 DO 80 i = iend + 1, lda
2191 aa( i + ( j - 1 )*lda ) = rogue
real function sbeg(RESET)