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