10244
10245
10246
10247
10248
10249
10250
10251 CHARACTER*1 UPLO
10252 INTEGER IOFFD, LDA, M, N
10253 COMPLEX ALPHA
10254
10255
10256 COMPLEX A( LDA, * )
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346 INTEGER I, J, JTMP, MN
10347
10348
10349 LOGICAL LSAME
10351
10352
10354
10355
10356
10357
10358
10359 IF( m.LE.0 .OR. n.LE.0 )
10360 $ RETURN
10361
10362
10363
10364 IF(
lsame( uplo,
'L' ) )
THEN
10365
10366
10367
10368 mn =
max( 0, -ioffd )
10369 DO 20 j = 1,
min( mn, n )
10370 DO 10 i = 1, m
10371 a( i, j ) = alpha * a( i, j )
10372 10 CONTINUE
10373 20 CONTINUE
10374 DO 40 j = mn + 1,
min( m - ioffd, n )
10375 DO 30 i = j + ioffd, m
10376 a( i, j ) = alpha * a( i, j )
10377 30 CONTINUE
10378 40 CONTINUE
10379
10380 ELSE IF(
lsame( uplo,
'U' ) )
THEN
10381
10382
10383
10384 mn =
min( m - ioffd, n )
10385 DO 60 j =
max( 0, -ioffd ) + 1, mn
10386 DO 50 i = 1, j + ioffd
10387 a( i, j ) = alpha * a( i, j )
10388 50 CONTINUE
10389 60 CONTINUE
10390 DO 80 j =
max( 0, mn ) + 1, n
10391 DO 70 i = 1, m
10392 a( i, j ) = alpha * a( i, j )
10393 70 CONTINUE
10394 80 CONTINUE
10395
10396 ELSE IF(
lsame( uplo,
'D' ) )
THEN
10397
10398
10399
10400 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10401 jtmp = j + ioffd
10402 a( jtmp, j ) = alpha * a( jtmp, j )
10403 90 CONTINUE
10404
10405 ELSE
10406
10407
10408
10409 DO 110 j = 1, n
10410 DO 100 i = 1, m
10411 a( i, j ) = alpha * a( i, j )
10412 100 CONTINUE
10413 110 CONTINUE
10414
10415 END IF
10416
10417 RETURN
10418
10419
10420