10049
10050
10051
10052
10053
10054
10055
10056 CHARACTER*1 UPLO
10057 INTEGER IOFFD, LDA, M, N
10058 COMPLEX*16 ALPHA, BETA
10059
10060
10061 COMPLEX*16 A( LDA, * )
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
10157
10158 INTEGER I, J, JTMP, MN
10159
10160
10161 LOGICAL LSAME
10163
10164
10166
10167
10168
10169
10170
10171 IF( m.LE.0 .OR. n.LE.0 )
10172 $ RETURN
10173
10174
10175
10176 IF(
lsame( uplo,
'L' ) )
THEN
10177
10178
10179
10180
10181 mn =
max( 0, -ioffd )
10182 DO 20 j = 1,
min( mn, n )
10183 DO 10 i = 1, m
10184 a( i, j ) = alpha
10185 10 CONTINUE
10186 20 CONTINUE
10187 DO 40 j = mn + 1,
min( m - ioffd, n )
10188 jtmp = j + ioffd
10189 a( jtmp, j ) = beta
10190 DO 30 i = jtmp + 1, m
10191 a( i, j ) = alpha
10192 30 CONTINUE
10193 40 CONTINUE
10194
10195 ELSE IF(
lsame( uplo,
'U' ) )
THEN
10196
10197
10198
10199
10200 mn =
min( m - ioffd, n )
10201 DO 60 j =
max( 0, -ioffd ) + 1, mn
10202 jtmp = j + ioffd
10203 DO 50 i = 1, jtmp - 1
10204 a( i, j ) = alpha
10205 50 CONTINUE
10206 a( jtmp, j ) = beta
10207 60 CONTINUE
10208 DO 80 j =
max( 0, mn ) + 1, n
10209 DO 70 i = 1, m
10210 a( i, j ) = alpha
10211 70 CONTINUE
10212 80 CONTINUE
10213
10214 ELSE IF(
lsame( uplo,
'D' ) )
THEN
10215
10216
10217
10218 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10219 a( j + ioffd, j ) = beta
10220 90 CONTINUE
10221
10222 ELSE
10223
10224
10225
10226
10227 DO 110 j = 1, n
10228 DO 100 i = 1, m
10229 a( i, j ) = alpha
10230 100 CONTINUE
10231 110 CONTINUE
10232 IF( alpha.NE.beta .AND. ioffd.LT.m .AND. ioffd.GT.-n ) THEN
10233 DO 120 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10234 a( j + ioffd, j ) = beta
10235 120 CONTINUE
10236 END IF
10237
10238 END IF
10239
10240 RETURN
10241
10242
10243