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