| @@ -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 ) | |||
| @@ -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 ) | |||
| @@ -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 ) | |||