Skip to content

Commit 88810e4

Browse files
kleine_likleine_li
authored andcommitted
Apply ROUNDUP_LWORK func in SRC/VARIANTS/qr/LL
1 parent f01a4d7 commit 88810e4

File tree

4 files changed

+20
-16
lines changed

4 files changed

+20
-16
lines changed

SRC/VARIANTS/qr/LL/cgeqrf.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
EXTERNAL ILAENV
179+
REAL SROUNDUP_LWORK
180+
EXTERNAL ILAENV, SROUNDUP_LWORK
180181
* ..
181182
* .. Executable Statements ..
182183

@@ -225,13 +226,13 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
225226
* Optimal workspace for dlarfb = MAX(1,N)*NT
226227
*
227228
LWKOPT = (LBWORK+LLWORK)*NB
228-
WORK( 1 ) = (LWKOPT+NT*NT)
229+
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT+NT*NT)
229230

230231
ELSE
231232

232233
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
233234
LWKOPT = (LBWORK+LLWORK-NB)*NB
234-
WORK( 1 ) = LWKOPT
235+
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
235236

236237
END IF
237238

@@ -413,7 +414,7 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
413414

414415
END IF
415416

416-
WORK( 1 ) = IWS
417+
WORK( 1 ) = SROUNDUP_LWORK(IWS)
417418
RETURN
418419
*
419420
* End of CGEQRF

SRC/VARIANTS/qr/LL/dgeqrf.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
EXTERNAL ILAENV
179+
DOUBLE PRECISION DROUNDUP_LWORK
180+
EXTERNAL ILAENV, DROUNDUP_LWORK
180181
* ..
181182
* .. Executable Statements ..
182183

@@ -225,13 +226,13 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
225226
* Optimal workspace for dlarfb = MAX(1,N)*NT
226227
*
227228
LWKOPT = (LBWORK+LLWORK)*NB
228-
WORK( 1 ) = (LWKOPT+NT*NT)
229+
WORK( 1 ) = DROUNDUP_LWORK(LWKOPT+NT*NT)
229230

230231
ELSE
231232

232233
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
233234
LWKOPT = (LBWORK+LLWORK-NB)*NB
234-
WORK( 1 ) = LWKOPT
235+
WORK( 1 ) = DROUNDUP_LWORK(LWKOPT)
235236

236237
END IF
237238

@@ -413,7 +414,7 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
413414

414415
END IF
415416

416-
WORK( 1 ) = IWS
417+
WORK( 1 ) = DROUNDUP_LWORK(IWS)
417418
RETURN
418419
*
419420
* End of DGEQRF

SRC/VARIANTS/qr/LL/sgeqrf.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
EXTERNAL ILAENV
179+
DOUBLE PRECISION DROUNDUP_LWORK
180+
EXTERNAL ILAENV, DROUNDUP_LWORK
180181
* ..
181182
* .. Executable Statements ..
182183

@@ -225,13 +226,13 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
225226
* Optimal workspace for dlarfb = MAX(1,N)*NT
226227
*
227228
LWKOPT = (LBWORK+LLWORK)*NB
228-
WORK( 1 ) = (LWKOPT+NT*NT)
229+
WORK( 1 ) = DROUNDUP_LWORK(LWKOPT+NT*NT)
229230

230231
ELSE
231232

232233
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
233234
LWKOPT = (LBWORK+LLWORK-NB)*NB
234-
WORK( 1 ) = LWKOPT
235+
WORK( 1 ) = DROUNDUP_LWORK(LWKOPT)
235236

236237
END IF
237238

@@ -413,7 +414,7 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
413414

414415
END IF
415416

416-
WORK( 1 ) = IWS
417+
WORK( 1 ) = DROUNDUP_LWORK(IWS)
417418
RETURN
418419
*
419420
* End of SGEQRF

SRC/VARIANTS/qr/LL/zgeqrf.f

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
EXTERNAL ILAENV
179+
REAL SROUNDUP_LWORK
180+
EXTERNAL ILAENV, SROUNDUP_LWORK
180181
* ..
181182
* .. Executable Statements ..
182183

@@ -225,13 +226,13 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
225226
* Optimal workspace for dlarfb = MAX(1,N)*NT
226227
*
227228
LWKOPT = (LBWORK+LLWORK)*NB
228-
WORK( 1 ) = (LWKOPT+NT*NT)
229+
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT+NT*NT)
229230

230231
ELSE
231232

232233
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
233234
LWKOPT = (LBWORK+LLWORK-NB)*NB
234-
WORK( 1 ) = LWKOPT
235+
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
235236

236237
END IF
237238

@@ -413,7 +414,7 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
413414

414415
END IF
415416

416-
WORK( 1 ) = IWS
417+
WORK( 1 ) = SROUNDUP_LWORK(IWS)
417418
RETURN
418419
*
419420
* End of ZGEQRF

0 commit comments

Comments
 (0)