9361
9362
9363
9364
9365
9366
9367
9368 CHARACTER*1 UPLO
9369 INTEGER IOFFD, LDA, M, N
9370 REAL ALPHA, BETA
9371
9372
9373 REAL A( LDA, * )
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
9469
9470 INTEGER I, J, JTMP, MN
9471
9472
9473 LOGICAL LSAME
9475
9476
9478
9479
9480
9481
9482
9483 IF( m.LE.0 .OR. n.LE.0 )
9484 $ RETURN
9485
9486
9487
9488 IF(
lsame( uplo,
'L' ) )
THEN
9489
9490
9491
9492
9493 mn =
max( 0, -ioffd )
9494 DO 20 j = 1,
min( mn, n )
9495 DO 10 i = 1, m
9496 a( i, j ) = alpha
9497 10 CONTINUE
9498 20 CONTINUE
9499 DO 40 j = mn + 1,
min( m - ioffd, n )
9500 jtmp = j + ioffd
9501 a( jtmp, j ) = beta
9502 DO 30 i = jtmp + 1, m
9503 a( i, j ) = alpha
9504 30 CONTINUE
9505 40 CONTINUE
9506
9507 ELSE IF(
lsame( uplo,
'U' ) )
THEN
9508
9509
9510
9511
9512 mn =
min( m - ioffd, n )
9513 DO 60 j =
max( 0, -ioffd ) + 1, mn
9514 jtmp = j + ioffd
9515 DO 50 i = 1, jtmp - 1
9516 a( i, j ) = alpha
9517 50 CONTINUE
9518 a( jtmp, j ) = beta
9519 60 CONTINUE
9520 DO 80 j =
max( 0, mn ) + 1, n
9521 DO 70 i = 1, m
9522 a( i, j ) = alpha
9523 70 CONTINUE
9524 80 CONTINUE
9525
9526 ELSE IF(
lsame( uplo,
'D' ) )
THEN
9527
9528
9529
9530 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
9531 a( j + ioffd, j ) = beta
9532 90 CONTINUE
9533
9534 ELSE
9535
9536
9537
9538
9539 DO 110 j = 1, n
9540 DO 100 i = 1, m
9541 a( i, j ) = alpha
9542 100 CONTINUE
9543 110 CONTINUE
9544 IF( alpha.NE.beta .AND. ioffd.LT.m .AND. ioffd.GT.-n ) THEN
9545 DO 120 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
9546 a( j + ioffd, j ) = beta
9547 120 CONTINUE
9548 END IF
9549
9550 END IF
9551
9552 RETURN
9553
9554
9555