9558
9559
9560
9561
9562
9563
9564
9565 CHARACTER*1 UPLO
9566 INTEGER IOFFD, LDA, M, N
9567 REAL ALPHA
9568
9569
9570 REAL A( LDA, * )
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660 INTEGER I, J, JTMP, MN
9661
9662
9663 LOGICAL LSAME
9665
9666
9668
9669
9670
9671
9672
9673 IF( m.LE.0 .OR. n.LE.0 )
9674 $ RETURN
9675
9676
9677
9678 IF(
lsame( uplo,
'L' ) )
THEN
9679
9680
9681
9682 mn =
max( 0, -ioffd )
9683 DO 20 j = 1,
min( mn, n )
9684 DO 10 i = 1, m
9685 a( i, j ) = alpha * a( i, j )
9686 10 CONTINUE
9687 20 CONTINUE
9688 DO 40 j = mn + 1,
min( m - ioffd, n )
9689 DO 30 i = j + ioffd, m
9690 a( i, j ) = alpha * a( i, j )
9691 30 CONTINUE
9692 40 CONTINUE
9693
9694 ELSE IF(
lsame( uplo,
'U' ) )
THEN
9695
9696
9697
9698 mn =
min( m - ioffd, n )
9699 DO 60 j =
max( 0, -ioffd ) + 1, mn
9700 DO 50 i = 1, j + ioffd
9701 a( i, j ) = alpha * a( i, j )
9702 50 CONTINUE
9703 60 CONTINUE
9704 DO 80 j =
max( 0, mn ) + 1, n
9705 DO 70 i = 1, m
9706 a( i, j ) = alpha * a( i, j )
9707 70 CONTINUE
9708 80 CONTINUE
9709
9710 ELSE IF(
lsame( uplo,
'D' ) )
THEN
9711
9712
9713
9714 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
9715 jtmp = j + ioffd
9716 a( jtmp, j ) = alpha * a( jtmp, j )
9717 90 CONTINUE
9718
9719 ELSE
9720
9721
9722
9723 DO 110 j = 1, n
9724 DO 100 i = 1, m
9725 a( i, j ) = alpha * a( i, j )
9726 100 CONTINUE
9727 110 CONTINUE
9728
9729 END IF
9730
9731 RETURN
9732
9733
9734