Skip to content

Commit 65df15e

Browse files
committed
Remove SCEIL, replace calls with intrinsic CEILING
sceil.f is only referenced in SRC/VARIANTS/qr/LL/. Replace all occurrences of calls to sceil with the Fortran intrinsics CEILING, which is already used by a bunch of other routines.
1 parent de83ba6 commit 65df15e

File tree

6 files changed

+21
-111
lines changed

6 files changed

+21
-111
lines changed

SRC/VARIANTS/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ LULL = lu/LL/cgetrf.o lu/LL/dgetrf.o lu/LL/sgetrf.o lu/LL/zgetrf.o
2828

2929
LUREC = lu/REC/cgetrf.o lu/REC/dgetrf.o lu/REC/sgetrf.o lu/REC/zgetrf.o
3030

31-
QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o qr/LL/sceil.o
31+
QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o
3232

3333

3434
.PHONY: all

SRC/VARIANTS/qr/LL/cgeqrf.f

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,11 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
172172
EXTERNAL CGEQR2, CLARFB, CLARFT, XERBLA
173173
* ..
174174
* .. Intrinsic Functions ..
175-
INTRINSIC MAX, MIN
175+
INTRINSIC CEILING, MAX, MIN, REAL
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
REAL SCEIL
180-
EXTERNAL ILAENV, SCEIL
179+
EXTERNAL ILAENV
181180
* ..
182181
* .. Executable Statements ..
183182

@@ -205,13 +204,13 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
205204
*
206205
* So here 4 x 4 is the last T stored in the workspace
207206
*
208-
NT = K-SCEIL(REAL(K-NX)/REAL(NB))*NB
207+
NT = K-CEILING(REAL(K-NX)/REAL(NB))*NB
209208

210209
*
211210
* optimal workspace = space for dlarfb + space for normal T's + space for the last T
212211
*
213212
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB))
214-
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB))
213+
LLWORK = CEILING(REAL(LLWORK)/REAL(NB))
215214

216215
IF( K.EQ.0 ) THEN
217216

@@ -230,7 +229,7 @@ SUBROUTINE CGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
230229

231230
ELSE
232231

233-
LBWORK = SCEIL(REAL(K)/REAL(NB))*NB
232+
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
234233
LWKOPT = (LBWORK+LLWORK-NB)*NB
235234
WORK( 1 ) = LWKOPT
236235

SRC/VARIANTS/qr/LL/dgeqrf.f

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,11 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
172172
EXTERNAL DGEQR2, DLARFB, DLARFT, XERBLA
173173
* ..
174174
* .. Intrinsic Functions ..
175-
INTRINSIC MAX, MIN
175+
INTRINSIC CEILING, MAX, MIN, REAL
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
REAL SCEIL
180-
EXTERNAL ILAENV, SCEIL
179+
EXTERNAL ILAENV
181180
* ..
182181
* .. Executable Statements ..
183182

@@ -205,13 +204,13 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
205204
*
206205
* So here 4 x 4 is the last T stored in the workspace
207206
*
208-
NT = K-SCEIL(REAL(K-NX)/REAL(NB))*NB
207+
NT = K-CEILING(REAL(K-NX)/REAL(NB))*NB
209208

210209
*
211210
* optimal workspace = space for dlarfb + space for normal T's + space for the last T
212211
*
213212
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB))
214-
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB))
213+
LLWORK = CEILING(REAL(LLWORK)/REAL(NB))
215214

216215
IF( K.EQ.0 ) THEN
217216

@@ -230,7 +229,7 @@ SUBROUTINE DGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
230229

231230
ELSE
232231

233-
LBWORK = SCEIL(REAL(K)/REAL(NB))*NB
232+
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
234233
LWKOPT = (LBWORK+LLWORK-NB)*NB
235234
WORK( 1 ) = LWKOPT
236235

SRC/VARIANTS/qr/LL/sceil.f

Lines changed: 0 additions & 86 deletions
This file was deleted.

SRC/VARIANTS/qr/LL/sgeqrf.f

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,11 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
172172
EXTERNAL SGEQR2, SLARFB, SLARFT, XERBLA
173173
* ..
174174
* .. Intrinsic Functions ..
175-
INTRINSIC MAX, MIN
175+
INTRINSIC CEILING, MAX, MIN, REAL
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
REAL SCEIL
180-
EXTERNAL ILAENV, SCEIL
179+
EXTERNAL ILAENV
181180
* ..
182181
* .. Executable Statements ..
183182

@@ -205,13 +204,13 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
205204
*
206205
* So here 4 x 4 is the last T stored in the workspace
207206
*
208-
NT = K-SCEIL(REAL(K-NX)/REAL(NB))*NB
207+
NT = K-CEILING(REAL(K-NX)/REAL(NB))*NB
209208

210209
*
211210
* optimal workspace = space for dlarfb + space for normal T's + space for the last T
212211
*
213212
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB))
214-
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB))
213+
LLWORK = CEILING(REAL(LLWORK)/REAL(NB))
215214

216215
IF( K.EQ.0 ) THEN
217216

@@ -230,7 +229,7 @@ SUBROUTINE SGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
230229

231230
ELSE
232231

233-
LBWORK = SCEIL(REAL(K)/REAL(NB))*NB
232+
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
234233
LWKOPT = (LBWORK+LLWORK-NB)*NB
235234
WORK( 1 ) = LWKOPT
236235

SRC/VARIANTS/qr/LL/zgeqrf.f

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,11 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
172172
EXTERNAL ZGEQR2, ZLARFB, ZLARFT, XERBLA
173173
* ..
174174
* .. Intrinsic Functions ..
175-
INTRINSIC MAX, MIN
175+
INTRINSIC CEILING, MAX, MIN, REAL
176176
* ..
177177
* .. External Functions ..
178178
INTEGER ILAENV
179-
REAL SCEIL
180-
EXTERNAL ILAENV, SCEIL
179+
EXTERNAL ILAENV
181180
* ..
182181
* .. Executable Statements ..
183182

@@ -205,13 +204,13 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
205204
*
206205
* So here 4 x 4 is the last T stored in the workspace
207206
*
208-
NT = K-SCEIL(REAL(K-NX)/REAL(NB))*NB
207+
NT = K-CEILING(REAL(K-NX)/REAL(NB))*NB
209208

210209
*
211210
* optimal workspace = space for dlarfb + space for normal T's + space for the last T
212211
*
213212
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB))
214-
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB))
213+
LLWORK = CEILING(REAL(LLWORK)/REAL(NB))
215214

216215
IF( K.EQ.0 ) THEN
217216

@@ -230,7 +229,7 @@ SUBROUTINE ZGEQRF ( M, N, A, LDA, TAU, WORK, LWORK, INFO )
230229

231230
ELSE
232231

233-
LBWORK = SCEIL(REAL(K)/REAL(NB))*NB
232+
LBWORK = CEILING(REAL(K)/REAL(NB))*NB
234233
LWKOPT = (LBWORK+LLWORK-NB)*NB
235234
WORK( 1 ) = LWKOPT
236235

0 commit comments

Comments
 (0)