Cast work array sizes to integer (Reference-LAPACK PR 684)
This commit is contained in:
parent
3a38dad18f
commit
63014e99ae
|
@ -266,11 +266,11 @@
|
||||||
*
|
*
|
||||||
* Compute space needed for CGEQRF
|
* Compute space needed for CGEQRF
|
||||||
CALL CGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
CALL CGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_CGEQRF = REAL( DUM(1) )
|
LWORK_CGEQRF = INT( DUM(1) )
|
||||||
* Compute space needed for CUNMQR
|
* Compute space needed for CUNMQR
|
||||||
CALL CUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
|
CALL CUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
|
||||||
$ LDB, DUM(1), -1, INFO )
|
$ LDB, DUM(1), -1, INFO )
|
||||||
LWORK_CUNMQR = REAL( DUM(1) )
|
LWORK_CUNMQR = INT( DUM(1) )
|
||||||
MM = N
|
MM = N
|
||||||
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'CGEQRF', ' ', M,
|
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'CGEQRF', ' ', M,
|
||||||
$ N, -1, -1 ) )
|
$ N, -1, -1 ) )
|
||||||
|
@ -284,15 +284,15 @@
|
||||||
* Compute space needed for CGEBRD
|
* Compute space needed for CGEBRD
|
||||||
CALL CGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
|
CALL CGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
|
||||||
$ -1, INFO )
|
$ -1, INFO )
|
||||||
LWORK_CGEBRD = REAL( DUM(1) )
|
LWORK_CGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for CUNMBR
|
* Compute space needed for CUNMBR
|
||||||
CALL CUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
|
CALL CUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_CUNMBR = REAL( DUM(1) )
|
LWORK_CUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for CUNGBR
|
* Compute space needed for CUNGBR
|
||||||
CALL CUNGBR( 'P', N, N, N, A, LDA, DUM(1),
|
CALL CUNGBR( 'P', N, N, N, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_CUNGBR = REAL( DUM(1) )
|
LWORK_CUNGBR = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CGEBRD )
|
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CGEBRD )
|
||||||
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CUNMBR )
|
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CUNMBR )
|
||||||
|
@ -310,23 +310,23 @@
|
||||||
* Compute space needed for CGELQF
|
* Compute space needed for CGELQF
|
||||||
CALL CGELQF( M, N, A, LDA, DUM(1), DUM(1),
|
CALL CGELQF( M, N, A, LDA, DUM(1), DUM(1),
|
||||||
$ -1, INFO )
|
$ -1, INFO )
|
||||||
LWORK_CGELQF = REAL( DUM(1) )
|
LWORK_CGELQF = INT( DUM(1) )
|
||||||
* Compute space needed for CGEBRD
|
* Compute space needed for CGEBRD
|
||||||
CALL CGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
|
CALL CGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_CGEBRD = REAL( DUM(1) )
|
LWORK_CGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for CUNMBR
|
* Compute space needed for CUNMBR
|
||||||
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
|
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_CUNMBR = REAL( DUM(1) )
|
LWORK_CUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for CUNGBR
|
* Compute space needed for CUNGBR
|
||||||
CALL CUNGBR( 'P', M, M, M, A, LDA, DUM(1),
|
CALL CUNGBR( 'P', M, M, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_CUNGBR = REAL( DUM(1) )
|
LWORK_CUNGBR = INT( DUM(1) )
|
||||||
* Compute space needed for CUNMLQ
|
* Compute space needed for CUNMLQ
|
||||||
CALL CUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
|
CALL CUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_CUNMLQ = REAL( DUM(1) )
|
LWORK_CUNMLQ = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = M + LWORK_CGELQF
|
MAXWRK = M + LWORK_CGELQF
|
||||||
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_CGEBRD )
|
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_CGEBRD )
|
||||||
|
@ -345,15 +345,15 @@
|
||||||
* Compute space needed for CGEBRD
|
* Compute space needed for CGEBRD
|
||||||
CALL CGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
|
CALL CGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_CGEBRD = REAL( DUM(1) )
|
LWORK_CGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for CUNMBR
|
* Compute space needed for CUNMBR
|
||||||
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
|
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_CUNMBR = REAL( DUM(1) )
|
LWORK_CUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for CUNGBR
|
* Compute space needed for CUNGBR
|
||||||
CALL CUNGBR( 'P', M, N, M, A, LDA, DUM(1),
|
CALL CUNGBR( 'P', M, N, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_CUNGBR = REAL( DUM(1) )
|
LWORK_CUNGBR = INT( DUM(1) )
|
||||||
MAXWRK = 2*M + LWORK_CGEBRD
|
MAXWRK = 2*M + LWORK_CGEBRD
|
||||||
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNMBR )
|
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNMBR )
|
||||||
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNGBR )
|
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNGBR )
|
||||||
|
|
|
@ -253,11 +253,11 @@
|
||||||
*
|
*
|
||||||
* Compute space needed for SGEQRF
|
* Compute space needed for SGEQRF
|
||||||
CALL SGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
CALL SGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_SGEQRF=DUM(1)
|
LWORK_SGEQRF = INT( DUM(1) )
|
||||||
* Compute space needed for SORMQR
|
* Compute space needed for SORMQR
|
||||||
CALL SORMQR( 'L', 'T', M, NRHS, N, A, LDA, DUM(1), B,
|
CALL SORMQR( 'L', 'T', M, NRHS, N, A, LDA, DUM(1), B,
|
||||||
$ LDB, DUM(1), -1, INFO )
|
$ LDB, DUM(1), -1, INFO )
|
||||||
LWORK_SORMQR=DUM(1)
|
LWORK_SORMQR = INT( DUM(1) )
|
||||||
MM = N
|
MM = N
|
||||||
MAXWRK = MAX( MAXWRK, N + LWORK_SGEQRF )
|
MAXWRK = MAX( MAXWRK, N + LWORK_SGEQRF )
|
||||||
MAXWRK = MAX( MAXWRK, N + LWORK_SORMQR )
|
MAXWRK = MAX( MAXWRK, N + LWORK_SORMQR )
|
||||||
|
@ -272,15 +272,15 @@
|
||||||
* Compute space needed for SGEBRD
|
* Compute space needed for SGEBRD
|
||||||
CALL SGEBRD( MM, N, A, LDA, S, DUM(1), DUM(1),
|
CALL SGEBRD( MM, N, A, LDA, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), DUM(1), -1, INFO )
|
$ DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_SGEBRD=DUM(1)
|
LWORK_SGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for SORMBR
|
* Compute space needed for SORMBR
|
||||||
CALL SORMBR( 'Q', 'L', 'T', MM, NRHS, N, A, LDA, DUM(1),
|
CALL SORMBR( 'Q', 'L', 'T', MM, NRHS, N, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_SORMBR=DUM(1)
|
LWORK_SORMBR = INT( DUM(1) )
|
||||||
* Compute space needed for SORGBR
|
* Compute space needed for SORGBR
|
||||||
CALL SORGBR( 'P', N, N, N, A, LDA, DUM(1),
|
CALL SORGBR( 'P', N, N, N, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_SORGBR=DUM(1)
|
LWORK_SORGBR = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SGEBRD )
|
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SGEBRD )
|
||||||
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SORMBR )
|
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SORMBR )
|
||||||
|
@ -304,19 +304,19 @@
|
||||||
* Compute space needed for SGEBRD
|
* Compute space needed for SGEBRD
|
||||||
CALL SGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
|
CALL SGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), DUM(1), -1, INFO )
|
$ DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_SGEBRD=DUM(1)
|
LWORK_SGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for SORMBR
|
* Compute space needed for SORMBR
|
||||||
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, N, A, LDA,
|
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, N, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_SORMBR=DUM(1)
|
LWORK_SORMBR = INT( DUM(1) )
|
||||||
* Compute space needed for SORGBR
|
* Compute space needed for SORGBR
|
||||||
CALL SORGBR( 'P', M, M, M, A, LDA, DUM(1),
|
CALL SORGBR( 'P', M, M, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_SORGBR=DUM(1)
|
LWORK_SORGBR = INT( DUM(1) )
|
||||||
* Compute space needed for SORMLQ
|
* Compute space needed for SORMLQ
|
||||||
CALL SORMLQ( 'L', 'T', N, NRHS, M, A, LDA, DUM(1),
|
CALL SORMLQ( 'L', 'T', N, NRHS, M, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_SORMLQ=DUM(1)
|
LWORK_SORMLQ = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = M + M*ILAENV( 1, 'SGELQF', ' ', M, N, -1,
|
MAXWRK = M + M*ILAENV( 1, 'SGELQF', ' ', M, N, -1,
|
||||||
$ -1 )
|
$ -1 )
|
||||||
|
@ -337,15 +337,15 @@
|
||||||
* Compute space needed for SGEBRD
|
* Compute space needed for SGEBRD
|
||||||
CALL SGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
|
CALL SGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), DUM(1), -1, INFO )
|
$ DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_SGEBRD=DUM(1)
|
LWORK_SGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for SORMBR
|
* Compute space needed for SORMBR
|
||||||
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, M, A, LDA,
|
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, M, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_SORMBR=DUM(1)
|
LWORK_SORMBR = INT( DUM(1) )
|
||||||
* Compute space needed for SORGBR
|
* Compute space needed for SORGBR
|
||||||
CALL SORGBR( 'P', M, N, M, A, LDA, DUM(1),
|
CALL SORGBR( 'P', M, N, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_SORGBR=DUM(1)
|
LWORK_SORGBR = INT( DUM(1) )
|
||||||
MAXWRK = 3*M + LWORK_SGEBRD
|
MAXWRK = 3*M + LWORK_SGEBRD
|
||||||
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORMBR )
|
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORMBR )
|
||||||
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORGBR )
|
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORGBR )
|
||||||
|
|
|
@ -266,11 +266,11 @@
|
||||||
*
|
*
|
||||||
* Compute space needed for ZGEQRF
|
* Compute space needed for ZGEQRF
|
||||||
CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, INFO )
|
||||||
LWORK_ZGEQRF = DBLE( DUM(1) )
|
LWORK_ZGEQRF = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNMQR
|
* Compute space needed for ZUNMQR
|
||||||
CALL ZUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
|
CALL ZUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
|
||||||
$ LDB, DUM(1), -1, INFO )
|
$ LDB, DUM(1), -1, INFO )
|
||||||
LWORK_ZUNMQR = DBLE( DUM(1) )
|
LWORK_ZUNMQR = INT( DUM(1) )
|
||||||
MM = N
|
MM = N
|
||||||
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'ZGEQRF', ' ', M,
|
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'ZGEQRF', ' ', M,
|
||||||
$ N, -1, -1 ) )
|
$ N, -1, -1 ) )
|
||||||
|
@ -284,15 +284,15 @@
|
||||||
* Compute space needed for ZGEBRD
|
* Compute space needed for ZGEBRD
|
||||||
CALL ZGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
|
CALL ZGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
|
||||||
$ -1, INFO )
|
$ -1, INFO )
|
||||||
LWORK_ZGEBRD = DBLE( DUM(1) )
|
LWORK_ZGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNMBR
|
* Compute space needed for ZUNMBR
|
||||||
CALL ZUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
|
CALL ZUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_ZUNMBR = DBLE( DUM(1) )
|
LWORK_ZUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNGBR
|
* Compute space needed for ZUNGBR
|
||||||
CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
|
CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_ZUNGBR = DBLE( DUM(1) )
|
LWORK_ZUNGBR = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZGEBRD )
|
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZGEBRD )
|
||||||
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZUNMBR )
|
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZUNMBR )
|
||||||
|
@ -310,23 +310,23 @@
|
||||||
* Compute space needed for ZGELQF
|
* Compute space needed for ZGELQF
|
||||||
CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1),
|
CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1),
|
||||||
$ -1, INFO )
|
$ -1, INFO )
|
||||||
LWORK_ZGELQF = DBLE( DUM(1) )
|
LWORK_ZGELQF = INT( DUM(1) )
|
||||||
* Compute space needed for ZGEBRD
|
* Compute space needed for ZGEBRD
|
||||||
CALL ZGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
|
CALL ZGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_ZGEBRD = DBLE( DUM(1) )
|
LWORK_ZGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNMBR
|
* Compute space needed for ZUNMBR
|
||||||
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
|
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_ZUNMBR = DBLE( DUM(1) )
|
LWORK_ZUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNGBR
|
* Compute space needed for ZUNGBR
|
||||||
CALL ZUNGBR( 'P', M, M, M, A, LDA, DUM(1),
|
CALL ZUNGBR( 'P', M, M, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_ZUNGBR = DBLE( DUM(1) )
|
LWORK_ZUNGBR = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNMLQ
|
* Compute space needed for ZUNMLQ
|
||||||
CALL ZUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
|
CALL ZUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
|
||||||
$ B, LDB, DUM(1), -1, INFO )
|
$ B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_ZUNMLQ = DBLE( DUM(1) )
|
LWORK_ZUNMLQ = INT( DUM(1) )
|
||||||
* Compute total workspace needed
|
* Compute total workspace needed
|
||||||
MAXWRK = M + LWORK_ZGELQF
|
MAXWRK = M + LWORK_ZGELQF
|
||||||
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_ZGEBRD )
|
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_ZGEBRD )
|
||||||
|
@ -345,15 +345,15 @@
|
||||||
* Compute space needed for ZGEBRD
|
* Compute space needed for ZGEBRD
|
||||||
CALL ZGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
|
CALL ZGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_ZGEBRD = DBLE( DUM(1) )
|
LWORK_ZGEBRD = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNMBR
|
* Compute space needed for ZUNMBR
|
||||||
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
|
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
|
||||||
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
$ DUM(1), B, LDB, DUM(1), -1, INFO )
|
||||||
LWORK_ZUNMBR = DBLE( DUM(1) )
|
LWORK_ZUNMBR = INT( DUM(1) )
|
||||||
* Compute space needed for ZUNGBR
|
* Compute space needed for ZUNGBR
|
||||||
CALL ZUNGBR( 'P', M, N, M, A, LDA, DUM(1),
|
CALL ZUNGBR( 'P', M, N, M, A, LDA, DUM(1),
|
||||||
$ DUM(1), -1, INFO )
|
$ DUM(1), -1, INFO )
|
||||||
LWORK_ZUNGBR = DBLE( DUM(1) )
|
LWORK_ZUNGBR = INT( DUM(1) )
|
||||||
MAXWRK = 2*M + LWORK_ZGEBRD
|
MAXWRK = 2*M + LWORK_ZGEBRD
|
||||||
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNMBR )
|
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNMBR )
|
||||||
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNGBR )
|
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNGBR )
|
||||||
|
|
Loading…
Reference in New Issue