|
8 | 8 | * Definition: |
9 | 9 | * =========== |
10 | 10 | * |
11 | | -* SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, |
| 11 | +* SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, |
12 | 12 | * NNS, NSVAL, THRESH, TSTERR, NMAX, A, |
13 | 13 | * AFAC, AINV, B, X, XACT, WORK, RWORK, |
14 | 14 | * IWORK, NOUT ) |
@@ -185,7 +185,8 @@ SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, |
185 | 185 | LOGICAL DOTYPE( * ) |
186 | 186 | INTEGER IWORK( * ), NBVAL( * ), NSVAL( * ), NVAL( * ) |
187 | 187 | COMPLEX*16 A( * ), AFAC( * ), AINV( * ), B( * ), |
188 | | - $ RWORK( * ), WORK( * ), X( * ), XACT( * ) |
| 188 | + $ WORK( * ), X( * ), XACT( * ) |
| 189 | + DOUBLE PRECISION RWORK( * ) |
189 | 190 | * .. |
190 | 191 | * |
191 | 192 | * ===================================================================== |
@@ -430,9 +431,9 @@ SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, |
430 | 431 | * block factorization, LWORK is the length of AINV. |
431 | 432 | * |
432 | 433 | SRNAMT = 'ZHETRF_AA_2STAGE' |
433 | | - LWORK = MIN(N*NB, 3*NMAX*NMAX) |
434 | | - CALL ZHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, |
435 | | - $ AINV, (3*NB+1)*N, |
| 434 | + LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) |
| 435 | + CALL ZHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, |
| 436 | + $ AINV, MAX( 1, (3*NB+1)*N ), |
436 | 437 | $ IWORK, IWORK( 1+N ), |
437 | 438 | $ WORK, LWORK, |
438 | 439 | $ INFO ) |
|
0 commit comments