2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381 INTEGER LDA, M, N
2382 CHARACTER*1 UPLO
2383 CHARACTER*2 TYPE
2384
2385 DOUBLE PRECISION AA( LDA, * ), AS( LDA, * )
2386
2387 INTEGER I, IBEG, IEND, J
2388 LOGICAL UPPER
2389
2390 upper = uplo.EQ.'U'
2391 IF( type.EQ.'GE' )THEN
2392 DO 20 j = 1, n
2393 DO 10 i = m + 1, lda
2394 IF( aa( i, j ).NE.as( i, j ) )
2395 $ GO TO 70
2396 10 CONTINUE
2397 20 CONTINUE
2398 ELSE IF( type.EQ.'SY' )THEN
2399 DO 50 j = 1, n
2400 IF( upper )THEN
2401 ibeg = 1
2402 iend = j
2403 ELSE
2404 ibeg = j
2405 iend = n
2406 END IF
2407 DO 30 i = 1, ibeg - 1
2408 IF( aa( i, j ).NE.as( i, j ) )
2409 $ GO TO 70
2410 30 CONTINUE
2411 DO 40 i = iend + 1, lda
2412 IF( aa( i, j ).NE.as( i, j ) )
2413 $ GO TO 70
2414 40 CONTINUE
2415 50 CONTINUE
2416 END IF
2417
2418 60 CONTINUE
2420 GO TO 80
2421 70 CONTINUE
2423 80 RETURN
2424
2425
2426
logical function lderes(type, uplo, m, n, aa, as, lda)