10047
10048
10049
10050
10051
10052
10053
10054 CHARACTER*1 UPLO
10055 INTEGER IOFFD, LDA, M, N
10056 COMPLEX ALPHA, BETA
10057
10058
10059 COMPLEX A( LDA, * )
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156 INTEGER I, J, JTMP, MN
10157
10158
10159 LOGICAL LSAME
10161
10162
10164
10165
10166
10167
10168
10169 IF( m.LE.0 .OR. n.LE.0 )
10170 $ RETURN
10171
10172
10173
10174 IF(
lsame( uplo,
'L' ) )
THEN
10175
10176
10177
10178
10179 mn =
max( 0, -ioffd )
10180 DO 20 j = 1,
min( mn, n )
10181 DO 10 i = 1, m
10182 a( i, j ) = alpha
10183 10 CONTINUE
10184 20 CONTINUE
10185 DO 40 j = mn + 1,
min( m - ioffd, n )
10186 jtmp = j + ioffd
10187 a( jtmp, j ) = beta
10188 DO 30 i = jtmp + 1, m
10189 a( i, j ) = alpha
10190 30 CONTINUE
10191 40 CONTINUE
10192
10193 ELSE IF(
lsame( uplo,
'U' ) )
THEN
10194
10195
10196
10197
10198 mn =
min( m - ioffd, n )
10199 DO 60 j =
max( 0, -ioffd ) + 1, mn
10200 jtmp = j + ioffd
10201 DO 50 i = 1, jtmp - 1
10202 a( i, j ) = alpha
10203 50 CONTINUE
10204 a( jtmp, j ) = beta
10205 60 CONTINUE
10206 DO 80 j =
max( 0, mn ) + 1, n
10207 DO 70 i = 1, m
10208 a( i, j ) = alpha
10209 70 CONTINUE
10210 80 CONTINUE
10211
10212 ELSE IF(
lsame( uplo,
'D' ) )
THEN
10213
10214
10215
10216 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10217 a( j + ioffd, j ) = beta
10218 90 CONTINUE
10219
10220 ELSE
10221
10222
10223
10224
10225 DO 110 j = 1, n
10226 DO 100 i = 1, m
10227 a( i, j ) = alpha
10228 100 CONTINUE
10229 110 CONTINUE
10230 IF( alpha.NE.beta .AND. ioffd.LT.m .AND. ioffd.GT.-n ) THEN
10231 DO 120 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10232 a( j + ioffd, j ) = beta
10233 120 CONTINUE
10234 END IF
10235
10236 END IF
10237
10238 RETURN
10239
10240
10241