Apply ROUNDUP_LWORK (Reference-LAPACK PR 904)

This commit is contained in:
Martin Kroeker 2023-11-12 13:43:22 +01:00 committed by GitHub
parent eef4d15369
commit 225036fd92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 16 deletions

View File

@ -176,7 +176,8 @@ C>
* .. * ..
* .. External Functions .. * .. External Functions ..
INTEGER ILAENV INTEGER ILAENV
EXTERNAL ILAENV REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* .. * ..
* .. Executable Statements .. * .. Executable Statements ..
@ -225,13 +226,13 @@ C>
* Optimal workspace for dlarfb = MAX(1,N)*NT * Optimal workspace for dlarfb = MAX(1,N)*NT
* *
LWKOPT = (LBWORK+LLWORK)*NB LWKOPT = (LBWORK+LLWORK)*NB
WORK( 1 ) = (LWKOPT+NT*NT) WORK( 1 ) = SROUNDUP_LWORK(LWKOPT+NT*NT)
ELSE ELSE
LBWORK = CEILING(REAL(K)/REAL(NB))*NB LBWORK = CEILING(REAL(K)/REAL(NB))*NB
LWKOPT = (LBWORK+LLWORK-NB)*NB LWKOPT = (LBWORK+LLWORK-NB)*NB
WORK( 1 ) = LWKOPT WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF END IF
@ -413,7 +414,7 @@ C>
END IF END IF
WORK( 1 ) = IWS WORK( 1 ) = SROUNDUP_LWORK(IWS)
RETURN RETURN
* *
* End of CGEQRF * End of CGEQRF

View File

@ -176,7 +176,8 @@ C>
* .. * ..
* .. External Functions .. * .. External Functions ..
INTEGER ILAENV INTEGER ILAENV
EXTERNAL ILAENV DOUBLE PRECISION DROUNDUP_LWORK
EXTERNAL ILAENV, DROUNDUP_LWORK
* .. * ..
* .. Executable Statements .. * .. Executable Statements ..
@ -225,13 +226,13 @@ C>
* Optimal workspace for dlarfb = MAX(1,N)*NT * Optimal workspace for dlarfb = MAX(1,N)*NT
* *
LWKOPT = (LBWORK+LLWORK)*NB LWKOPT = (LBWORK+LLWORK)*NB
WORK( 1 ) = (LWKOPT+NT*NT) WORK( 1 ) = DROUNDUP_LWORK(LWKOPT+NT*NT)
ELSE ELSE
LBWORK = CEILING(REAL(K)/REAL(NB))*NB LBWORK = CEILING(REAL(K)/REAL(NB))*NB
LWKOPT = (LBWORK+LLWORK-NB)*NB LWKOPT = (LBWORK+LLWORK-NB)*NB
WORK( 1 ) = LWKOPT WORK( 1 ) = DROUNDUP_LWORK(LWKOPT)
END IF END IF
@ -413,7 +414,7 @@ C>
END IF END IF
WORK( 1 ) = IWS WORK( 1 ) = DROUNDUP_LWORK(IWS)
RETURN RETURN
* *
* End of DGEQRF * End of DGEQRF

View File

@ -176,7 +176,8 @@ C>
* .. * ..
* .. External Functions .. * .. External Functions ..
INTEGER ILAENV INTEGER ILAENV
EXTERNAL ILAENV DOUBLE PRECISION DROUNDUP_LWORK
EXTERNAL ILAENV, DROUNDUP_LWORK
* .. * ..
* .. Executable Statements .. * .. Executable Statements ..
@ -225,13 +226,13 @@ C>
* Optimal workspace for dlarfb = MAX(1,N)*NT * Optimal workspace for dlarfb = MAX(1,N)*NT
* *
LWKOPT = (LBWORK+LLWORK)*NB LWKOPT = (LBWORK+LLWORK)*NB
WORK( 1 ) = (LWKOPT+NT*NT) WORK( 1 ) = DROUNDUP_LWORK(LWKOPT+NT*NT)
ELSE ELSE
LBWORK = CEILING(REAL(K)/REAL(NB))*NB LBWORK = CEILING(REAL(K)/REAL(NB))*NB
LWKOPT = (LBWORK+LLWORK-NB)*NB LWKOPT = (LBWORK+LLWORK-NB)*NB
WORK( 1 ) = LWKOPT WORK( 1 ) = DROUNDUP_LWORK(LWKOPT)
END IF END IF
@ -413,7 +414,7 @@ C>
END IF END IF
WORK( 1 ) = IWS WORK( 1 ) = DROUNDUP_LWORK(IWS)
RETURN RETURN
* *
* End of SGEQRF * End of SGEQRF

View File

@ -176,7 +176,8 @@ C>
* .. * ..
* .. External Functions .. * .. External Functions ..
INTEGER ILAENV INTEGER ILAENV
EXTERNAL ILAENV REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* .. * ..
* .. Executable Statements .. * .. Executable Statements ..
@ -225,13 +226,13 @@ C>
* Optimal workspace for dlarfb = MAX(1,N)*NT * Optimal workspace for dlarfb = MAX(1,N)*NT
* *
LWKOPT = (LBWORK+LLWORK)*NB LWKOPT = (LBWORK+LLWORK)*NB
WORK( 1 ) = (LWKOPT+NT*NT) WORK( 1 ) = SROUNDUP_LWORK(LWKOPT+NT*NT)
ELSE ELSE
LBWORK = CEILING(REAL(K)/REAL(NB))*NB LBWORK = CEILING(REAL(K)/REAL(NB))*NB
LWKOPT = (LBWORK+LLWORK-NB)*NB LWKOPT = (LBWORK+LLWORK-NB)*NB
WORK( 1 ) = LWKOPT WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF END IF
@ -413,7 +414,7 @@ C>
END IF END IF
WORK( 1 ) = IWS WORK( 1 ) = SROUNDUP_LWORK(IWS)
RETURN RETURN
* *
* End of ZGEQRF * End of ZGEQRF