10246
10247
10248
10249
10250
10251
10252
10253 CHARACTER*1 UPLO
10254 INTEGER IOFFD, LDA, M, N
10255 COMPLEX*16 ALPHA
10256
10257
10258 COMPLEX*16 A( LDA, * )
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
10347
10348 INTEGER I, J, JTMP, MN
10349
10350
10351 LOGICAL LSAME
10353
10354
10356
10357
10358
10359
10360
10361 IF( m.LE.0 .OR. n.LE.0 )
10362 $ RETURN
10363
10364
10365
10366 IF(
lsame( uplo,
'L' ) )
THEN
10367
10368
10369
10370 mn =
max( 0, -ioffd )
10371 DO 20 j = 1,
min( mn, n )
10372 DO 10 i = 1, m
10373 a( i, j ) = alpha * a( i, j )
10374 10 CONTINUE
10375 20 CONTINUE
10376 DO 40 j = mn + 1,
min( m - ioffd, n )
10377 DO 30 i = j + ioffd, m
10378 a( i, j ) = alpha * a( i, j )
10379 30 CONTINUE
10380 40 CONTINUE
10381
10382 ELSE IF(
lsame( uplo,
'U' ) )
THEN
10383
10384
10385
10386 mn =
min( m - ioffd, n )
10387 DO 60 j =
max( 0, -ioffd ) + 1, mn
10388 DO 50 i = 1, j + ioffd
10389 a( i, j ) = alpha * a( i, j )
10390 50 CONTINUE
10391 60 CONTINUE
10392 DO 80 j =
max( 0, mn ) + 1, n
10393 DO 70 i = 1, m
10394 a( i, j ) = alpha * a( i, j )
10395 70 CONTINUE
10396 80 CONTINUE
10397
10398 ELSE IF(
lsame( uplo,
'D' ) )
THEN
10399
10400
10401
10402 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
10403 jtmp = j + ioffd
10404 a( jtmp, j ) = alpha * a( jtmp, j )
10405 90 CONTINUE
10406
10407 ELSE
10408
10409
10410
10411 DO 110 j = 1, n
10412 DO 100 i = 1, m
10413 a( i, j ) = alpha * a( i, j )
10414 100 CONTINUE
10415 110 CONTINUE
10416
10417 END IF
10418
10419 RETURN
10420
10421
10422