8636
8637
8638
8639
8640
8641
8642 CHARACTER*1 UPLO, DIAG
8643 INTEGER M, N, LDA, IPRE, IPOST
8644 DOUBLE PRECISION CHECKVAL
8645
8646
8647 DOUBLE PRECISION MEM( * )
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695 INTEGER I, J, K
8696
8697
8698
8699
8700
8701 IF( ipre .GT. 0 ) THEN
8702 DO 10 i = 1, ipre
8703 mem( i ) = checkval
8704 10 CONTINUE
8705 END IF
8706
8707
8708
8709 IF( ipost .GT. 0 ) THEN
8710 j = ipre + lda*n + 1
8711 DO 20 i = j, j+ipost-1
8712 mem( i ) = checkval
8713 20 CONTINUE
8714 END IF
8715
8716
8717
8718 IF( lda .GT. m ) THEN
8719 k = ipre + m + 1
8720 DO 40 j = 1, n
8721 DO 30 i = k, k+lda-m-1
8722 mem( i ) = checkval
8723 30 CONTINUE
8724 k = k + lda
8725 40 CONTINUE
8726 END IF
8727
8728
8729
8730
8731
8732 IF( uplo .EQ. 'U' ) THEN
8733 IF( m .LE. n ) THEN
8734 IF( diag .EQ. 'U' ) THEN
8735 DO 41 i = 1, m
8736 DO 42 j = 1, i
8737 k = ipre + i + (j-1)*lda
8738 mem( k ) = checkval
8739 42 CONTINUE
8740 41 CONTINUE
8741 ELSE
8742 DO 43 i = 2, m
8743 DO 44 j = 1, i-1
8744 k = ipre + i + (j-1)*lda
8745 mem( k ) = checkval
8746 44 CONTINUE
8747 43 CONTINUE
8748 END IF
8749 ELSE
8750 IF( diag .EQ. 'U' ) THEN
8751 DO 45 i = m-n+1, m
8752 DO 46 j = 1, i-(m-n)
8753 k = ipre + i + (j-1)*lda
8754 mem( k ) = checkval
8755 46 CONTINUE
8756 45 CONTINUE
8757 ELSE
8758 DO 47 i = m-n+2, m
8759 DO 48 j = 1, i-(m-n)-1
8760 k = ipre + i + (j-1)*lda
8761 mem( k ) = checkval
8762 48 CONTINUE
8763 47 CONTINUE
8764 END IF
8765 END IF
8766 ELSE IF( uplo .EQ. 'L' ) THEN
8767 IF( m .LE. n ) THEN
8768 IF( diag .EQ. 'U' ) THEN
8769 DO 49 i = 1, m
8770 DO 50 j = n-m+i, n
8771 k = ipre + i + (j-1)*lda
8772 mem( k ) = checkval
8773 50 CONTINUE
8774 49 CONTINUE
8775 ELSE
8776 DO 51 i = 1, m-1
8777 DO 52 j = n-m+i+1, n
8778 k = ipre + i + (j-1)*lda
8779 mem( k ) = checkval
8780 52 CONTINUE
8781 51 CONTINUE
8782 END IF
8783 ELSE
8784 IF( uplo .EQ. 'U' ) THEN
8785 DO 53 i = 1, n
8786 DO 54 j = i, n
8787 k = ipre + i + (j-1)*lda
8788 mem( k ) = checkval
8789 54 CONTINUE
8790 53 CONTINUE
8791 ELSE
8792 DO 55 i = 1, n-1
8793 DO 56 j = i+1, n
8794 k = ipre + i + (j-1)*lda
8795 mem( k ) = checkval
8796 56 CONTINUE
8797 55 CONTINUE
8798 END IF
8799 END IF
8800 END IF
8801
8802
8803
8804 RETURN