2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799 INTEGER LDA, M, N
2800 CHARACTER*1 UPLO
2801 CHARACTER*2 TYPE
2802
2803 DOUBLE PRECISION AA( LDA, * ), AS( LDA, * )
2804
2805 INTEGER I, IBEG, IEND, J
2806 LOGICAL UPPER
2807
2808 upper = uplo.EQ.'U'
2809 IF( type.EQ.'ge' )THEN
2810 DO 20 j = 1, n
2811 DO 10 i = m + 1, lda
2812 IF( aa( i, j ).NE.as( i, j ) )
2813 $ GO TO 70
2814 10 CONTINUE
2815 20 CONTINUE
2816 ELSE IF( type.EQ.'sy' )THEN
2817 DO 50 j = 1, n
2818 IF( upper )THEN
2819 ibeg = 1
2820 iend = j
2821 ELSE
2822 ibeg = j
2823 iend = n
2824 END IF
2825 DO 30 i = 1, ibeg - 1
2826 IF( aa( i, j ).NE.as( i, j ) )
2827 $ GO TO 70
2828 30 CONTINUE
2829 DO 40 i = iend + 1, lda
2830 IF( aa( i, j ).NE.as( i, j ) )
2831 $ GO TO 70
2832 40 CONTINUE
2833 50 CONTINUE
2834 END IF
2835
2836 60 CONTINUE
2838 GO TO 80
2839 70 CONTINUE
2841 80 RETURN
2842
2843
2844
logical function lderes(type, uplo, m, n, aa, as, lda)