Browse Source

Cast work array sizes to integer (Reference-LAPACK PR 684)

tags/v0.3.22^2
Martin Kroeker GitHub 3 years ago
parent
commit
63014e99ae
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 38 deletions
  1. +13
    -13
      lapack-netlib/SRC/cgelss.f
  2. +12
    -12
      lapack-netlib/SRC/sgelss.f
  3. +13
    -13
      lapack-netlib/SRC/zgelss.f

+ 13
- 13
lapack-netlib/SRC/cgelss.f View File

@@ -266,11 +266,11 @@
*
* Compute space needed for CGEQRF
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
CALL CUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
$ LDB, DUM(1), -1, INFO )
LWORK_CUNMQR = REAL( DUM(1) )
LWORK_CUNMQR = INT( DUM(1) )
MM = N
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'CGEQRF', ' ', M,
$ N, -1, -1 ) )
@@ -284,15 +284,15 @@
* Compute space needed for CGEBRD
CALL CGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
$ -1, INFO )
LWORK_CGEBRD = REAL( DUM(1) )
LWORK_CGEBRD = INT( DUM(1) )
* Compute space needed for CUNMBR
CALL CUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_CUNMBR = REAL( DUM(1) )
LWORK_CUNMBR = INT( DUM(1) )
* Compute space needed for CUNGBR
CALL CUNGBR( 'P', N, N, N, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_CUNGBR = REAL( DUM(1) )
LWORK_CUNGBR = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CGEBRD )
MAXWRK = MAX( MAXWRK, 2*N + LWORK_CUNMBR )
@@ -310,23 +310,23 @@
* Compute space needed for CGELQF
CALL CGELQF( M, N, A, LDA, DUM(1), DUM(1),
$ -1, INFO )
LWORK_CGELQF = REAL( DUM(1) )
LWORK_CGELQF = INT( DUM(1) )
* Compute space needed for CGEBRD
CALL CGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
$ DUM(1), -1, INFO )
LWORK_CGEBRD = REAL( DUM(1) )
LWORK_CGEBRD = INT( DUM(1) )
* Compute space needed for CUNMBR
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_CUNMBR = REAL( DUM(1) )
LWORK_CUNMBR = INT( DUM(1) )
* Compute space needed for CUNGBR
CALL CUNGBR( 'P', M, M, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_CUNGBR = REAL( DUM(1) )
LWORK_CUNGBR = INT( DUM(1) )
* Compute space needed for CUNMLQ
CALL CUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_CUNMLQ = REAL( DUM(1) )
LWORK_CUNMLQ = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = M + LWORK_CGELQF
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_CGEBRD )
@@ -345,15 +345,15 @@
* Compute space needed for CGEBRD
CALL CGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
$ DUM(1), -1, INFO )
LWORK_CGEBRD = REAL( DUM(1) )
LWORK_CGEBRD = INT( DUM(1) )
* Compute space needed for CUNMBR
CALL CUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_CUNMBR = REAL( DUM(1) )
LWORK_CUNMBR = INT( DUM(1) )
* Compute space needed for CUNGBR
CALL CUNGBR( 'P', M, N, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_CUNGBR = REAL( DUM(1) )
LWORK_CUNGBR = INT( DUM(1) )
MAXWRK = 2*M + LWORK_CGEBRD
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNMBR )
MAXWRK = MAX( MAXWRK, 2*M + LWORK_CUNGBR )


+ 12
- 12
lapack-netlib/SRC/sgelss.f View File

@@ -253,11 +253,11 @@
*
* Compute space needed for SGEQRF
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
CALL SORMQR( 'L', 'T', M, NRHS, N, A, LDA, DUM(1), B,
$ LDB, DUM(1), -1, INFO )
LWORK_SORMQR=DUM(1)
LWORK_SORMQR = INT( DUM(1) )
MM = N
MAXWRK = MAX( MAXWRK, N + LWORK_SGEQRF )
MAXWRK = MAX( MAXWRK, N + LWORK_SORMQR )
@@ -272,15 +272,15 @@
* Compute space needed for SGEBRD
CALL SGEBRD( MM, N, A, LDA, S, DUM(1), DUM(1),
$ DUM(1), DUM(1), -1, INFO )
LWORK_SGEBRD=DUM(1)
LWORK_SGEBRD = INT( DUM(1) )
* Compute space needed for SORMBR
CALL SORMBR( 'Q', 'L', 'T', MM, NRHS, N, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_SORMBR=DUM(1)
LWORK_SORMBR = INT( DUM(1) )
* Compute space needed for SORGBR
CALL SORGBR( 'P', N, N, N, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_SORGBR=DUM(1)
LWORK_SORGBR = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SGEBRD )
MAXWRK = MAX( MAXWRK, 3*N + LWORK_SORMBR )
@@ -304,19 +304,19 @@
* Compute space needed for SGEBRD
CALL SGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
$ DUM(1), DUM(1), -1, INFO )
LWORK_SGEBRD=DUM(1)
LWORK_SGEBRD = INT( DUM(1) )
* Compute space needed for SORMBR
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, N, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_SORMBR=DUM(1)
LWORK_SORMBR = INT( DUM(1) )
* Compute space needed for SORGBR
CALL SORGBR( 'P', M, M, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_SORGBR=DUM(1)
LWORK_SORGBR = INT( DUM(1) )
* Compute space needed for SORMLQ
CALL SORMLQ( 'L', 'T', N, NRHS, M, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_SORMLQ=DUM(1)
LWORK_SORMLQ = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = M + M*ILAENV( 1, 'SGELQF', ' ', M, N, -1,
$ -1 )
@@ -337,15 +337,15 @@
* Compute space needed for SGEBRD
CALL SGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
$ DUM(1), DUM(1), -1, INFO )
LWORK_SGEBRD=DUM(1)
LWORK_SGEBRD = INT( DUM(1) )
* Compute space needed for SORMBR
CALL SORMBR( 'Q', 'L', 'T', M, NRHS, M, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_SORMBR=DUM(1)
LWORK_SORMBR = INT( DUM(1) )
* Compute space needed for SORGBR
CALL SORGBR( 'P', M, N, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_SORGBR=DUM(1)
LWORK_SORGBR = INT( DUM(1) )
MAXWRK = 3*M + LWORK_SGEBRD
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORMBR )
MAXWRK = MAX( MAXWRK, 3*M + LWORK_SORGBR )


+ 13
- 13
lapack-netlib/SRC/zgelss.f View File

@@ -266,11 +266,11 @@
*
* Compute space needed for ZGEQRF
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
CALL ZUNMQR( 'L', 'C', M, NRHS, N, A, LDA, DUM(1), B,
$ LDB, DUM(1), -1, INFO )
LWORK_ZUNMQR = DBLE( DUM(1) )
LWORK_ZUNMQR = INT( DUM(1) )
MM = N
MAXWRK = MAX( MAXWRK, N + N*ILAENV( 1, 'ZGEQRF', ' ', M,
$ N, -1, -1 ) )
@@ -284,15 +284,15 @@
* Compute space needed for ZGEBRD
CALL ZGEBRD( MM, N, A, LDA, S, S, DUM(1), DUM(1), DUM(1),
$ -1, INFO )
LWORK_ZGEBRD = DBLE( DUM(1) )
LWORK_ZGEBRD = INT( DUM(1) )
* Compute space needed for ZUNMBR
CALL ZUNMBR( 'Q', 'L', 'C', MM, NRHS, N, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_ZUNMBR = DBLE( DUM(1) )
LWORK_ZUNMBR = INT( DUM(1) )
* Compute space needed for ZUNGBR
CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_ZUNGBR = DBLE( DUM(1) )
LWORK_ZUNGBR = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZGEBRD )
MAXWRK = MAX( MAXWRK, 2*N + LWORK_ZUNMBR )
@@ -310,23 +310,23 @@
* Compute space needed for ZGELQF
CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1),
$ -1, INFO )
LWORK_ZGELQF = DBLE( DUM(1) )
LWORK_ZGELQF = INT( DUM(1) )
* Compute space needed for ZGEBRD
CALL ZGEBRD( M, M, A, LDA, S, S, DUM(1), DUM(1),
$ DUM(1), -1, INFO )
LWORK_ZGEBRD = DBLE( DUM(1) )
LWORK_ZGEBRD = INT( DUM(1) )
* Compute space needed for ZUNMBR
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, N, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_ZUNMBR = DBLE( DUM(1) )
LWORK_ZUNMBR = INT( DUM(1) )
* Compute space needed for ZUNGBR
CALL ZUNGBR( 'P', M, M, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_ZUNGBR = DBLE( DUM(1) )
LWORK_ZUNGBR = INT( DUM(1) )
* Compute space needed for ZUNMLQ
CALL ZUNMLQ( 'L', 'C', N, NRHS, M, A, LDA, DUM(1),
$ B, LDB, DUM(1), -1, INFO )
LWORK_ZUNMLQ = DBLE( DUM(1) )
LWORK_ZUNMLQ = INT( DUM(1) )
* Compute total workspace needed
MAXWRK = M + LWORK_ZGELQF
MAXWRK = MAX( MAXWRK, 3*M + M*M + LWORK_ZGEBRD )
@@ -345,15 +345,15 @@
* Compute space needed for ZGEBRD
CALL ZGEBRD( M, N, A, LDA, S, S, DUM(1), DUM(1),
$ DUM(1), -1, INFO )
LWORK_ZGEBRD = DBLE( DUM(1) )
LWORK_ZGEBRD = INT( DUM(1) )
* Compute space needed for ZUNMBR
CALL ZUNMBR( 'Q', 'L', 'C', M, NRHS, M, A, LDA,
$ DUM(1), B, LDB, DUM(1), -1, INFO )
LWORK_ZUNMBR = DBLE( DUM(1) )
LWORK_ZUNMBR = INT( DUM(1) )
* Compute space needed for ZUNGBR
CALL ZUNGBR( 'P', M, N, M, A, LDA, DUM(1),
$ DUM(1), -1, INFO )
LWORK_ZUNGBR = DBLE( DUM(1) )
LWORK_ZUNGBR = INT( DUM(1) )
MAXWRK = 2*M + LWORK_ZGEBRD
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNMBR )
MAXWRK = MAX( MAXWRK, 2*M + LWORK_ZUNGBR )


Loading…
Cancel
Save