9359
9360
9361
9362
9363
9364
9365
9366 CHARACTER*1 UPLO
9367 INTEGER IOFFD, LDA, M, N
9368 DOUBLE PRECISION ALPHA, BETA
9369
9370
9371 DOUBLE PRECISION A( LDA, * )
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468 INTEGER I, J, JTMP, MN
9469
9470
9471 LOGICAL LSAME
9473
9474
9476
9477
9478
9479
9480
9481 IF( m.LE.0 .OR. n.LE.0 )
9482 $ RETURN
9483
9484
9485
9486 IF(
lsame( uplo,
'L' ) )
THEN
9487
9488
9489
9490
9491 mn =
max( 0, -ioffd )
9492 DO 20 j = 1,
min( mn, n )
9493 DO 10 i = 1, m
9494 a( i, j ) = alpha
9495 10 CONTINUE
9496 20 CONTINUE
9497 DO 40 j = mn + 1,
min( m - ioffd, n )
9498 jtmp = j + ioffd
9499 a( jtmp, j ) = beta
9500 DO 30 i = jtmp + 1, m
9501 a( i, j ) = alpha
9502 30 CONTINUE
9503 40 CONTINUE
9504
9505 ELSE IF(
lsame( uplo,
'U' ) )
THEN
9506
9507
9508
9509
9510 mn =
min( m - ioffd, n )
9511 DO 60 j =
max( 0, -ioffd ) + 1, mn
9512 jtmp = j + ioffd
9513 DO 50 i = 1, jtmp - 1
9514 a( i, j ) = alpha
9515 50 CONTINUE
9516 a( jtmp, j ) = beta
9517 60 CONTINUE
9518 DO 80 j =
max( 0, mn ) + 1, n
9519 DO 70 i = 1, m
9520 a( i, j ) = alpha
9521 70 CONTINUE
9522 80 CONTINUE
9523
9524 ELSE IF(
lsame( uplo,
'D' ) )
THEN
9525
9526
9527
9528 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
9529 a( j + ioffd, j ) = beta
9530 90 CONTINUE
9531
9532 ELSE
9533
9534
9535
9536
9537 DO 110 j = 1, n
9538 DO 100 i = 1, m
9539 a( i, j ) = alpha
9540 100 CONTINUE
9541 110 CONTINUE
9542 IF( alpha.NE.beta .AND. ioffd.LT.m .AND. ioffd.GT.-n ) THEN
9543 DO 120 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
9544 a( j + ioffd, j ) = beta
9545 120 CONTINUE
9546 END IF
9547
9548 END IF
9549
9550 RETURN
9551
9552
9553