2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365 INTEGER LDA, M, N
2366 CHARACTER*1 UPLO
2367 CHARACTER*2 TYPE
2368
2369 DOUBLE PRECISION AA( LDA, * ), AS( LDA, * )
2370
2371 INTEGER I, IBEG, IEND, J
2372 LOGICAL UPPER
2373
2374 upper = uplo.EQ.'U'
2375 IF( type.EQ.'GE' )THEN
2376 DO 20 j = 1, n
2377 DO 10 i = m + 1, lda
2378 IF( aa( i, j ).NE.as( i, j ) )
2379 $ GO TO 70
2380 10 CONTINUE
2381 20 CONTINUE
2382 ELSE IF( type.EQ.'SY' )THEN
2383 DO 50 j = 1, n
2384 IF( upper )THEN
2385 ibeg = 1
2386 iend = j
2387 ELSE
2388 ibeg = j
2389 iend = n
2390 END IF
2391 DO 30 i = 1, ibeg - 1
2392 IF( aa( i, j ).NE.as( i, j ) )
2393 $ GO TO 70
2394 30 CONTINUE
2395 DO 40 i = iend + 1, lda
2396 IF( aa( i, j ).NE.as( i, j ) )
2397 $ GO TO 70
2398 40 CONTINUE
2399 50 CONTINUE
2400 END IF
2401
2402 60 CONTINUE
2404 GO TO 80
2405 70 CONTINUE
2407 80 RETURN
2408
2409
2410
logical function lderes(type, uplo, m, n, aa, as, lda)