Skip to content

Commit 80d7c69

Browse files
xORBDB5/xUNBDB5: introduce real zero parameter
* introduce a parameter representing a real zero for consistency * stop comparing real values with complex zero
1 parent ad3d9b8 commit 80d7c69

File tree

4 files changed

+32
-24
lines changed

4 files changed

+32
-24
lines changed

SRC/cunbdb5.f

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ SUBROUTINE CUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
169169
* =====================================================================
170170
*
171171
* .. Parameters ..
172+
REAL REALZERO
173+
PARAMETER ( REALZERO = 0.0E0 )
172174
COMPLEX ONE, ZERO
173175
PARAMETER ( ONE = (1.0E0,0.0E0), ZERO = (0.0E0,0.0E0) )
174176
* ..
@@ -220,8 +222,8 @@ SUBROUTINE CUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
220222
*
221223
* If the projection is nonzero, then return
222224
*
223-
IF( SCNRM2(M1,X1,INCX1) .NE. ZERO
224-
$ .OR. SCNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
225+
IF( SCNRM2(M1,X1,INCX1) .NE. REALZERO
226+
$ .OR. SCNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
225227
RETURN
226228
END IF
227229
*
@@ -238,8 +240,8 @@ SUBROUTINE CUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
238240
END DO
239241
CALL CUNBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
240242
$ LDQ2, WORK, LWORK, CHILDINFO )
241-
IF( SCNRM2(M1,X1,INCX1) .NE. ZERO
242-
$ .OR. SCNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
243+
IF( SCNRM2(M1,X1,INCX1) .NE. REALZERO
244+
$ .OR. SCNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
243245
RETURN
244246
END IF
245247
END DO
@@ -257,8 +259,8 @@ SUBROUTINE CUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
257259
X2(I) = ONE
258260
CALL CUNBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
259261
$ LDQ2, WORK, LWORK, CHILDINFO )
260-
IF( SCNRM2(M1,X1,INCX1) .NE. ZERO
261-
$ .OR. SCNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
262+
IF( SCNRM2(M1,X1,INCX1) .NE. REALZERO
263+
$ .OR. SCNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
262264
RETURN
263265
END IF
264266
END DO

SRC/dorbdb5.f

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ SUBROUTINE DORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
169169
* =====================================================================
170170
*
171171
* .. Parameters ..
172+
DOUBLE PRECISION REALZERO
173+
PARAMETER ( REALZERO = 0.0D0 )
172174
DOUBLE PRECISION ONE, ZERO
173175
PARAMETER ( ONE = 1.0D0, ZERO = 0.0D0 )
174176
* ..
@@ -220,8 +222,8 @@ SUBROUTINE DORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
220222
*
221223
* If the projection is nonzero, then return
222224
*
223-
IF( DNRM2(M1,X1,INCX1) .NE. ZERO
224-
$ .OR. DNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
225+
IF( DNRM2(M1,X1,INCX1) .NE. REALZERO
226+
$ .OR. DNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
225227
RETURN
226228
END IF
227229
*
@@ -238,8 +240,8 @@ SUBROUTINE DORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
238240
END DO
239241
CALL DORBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
240242
$ LDQ2, WORK, LWORK, CHILDINFO )
241-
IF( DNRM2(M1,X1,INCX1) .NE. ZERO
242-
$ .OR. DNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
243+
IF( DNRM2(M1,X1,INCX1) .NE. REALZERO
244+
$ .OR. DNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
243245
RETURN
244246
END IF
245247
END DO
@@ -257,8 +259,8 @@ SUBROUTINE DORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
257259
X2(I) = ONE
258260
CALL DORBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
259261
$ LDQ2, WORK, LWORK, CHILDINFO )
260-
IF( DNRM2(M1,X1,INCX1) .NE. ZERO
261-
$ .OR. DNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
262+
IF( DNRM2(M1,X1,INCX1) .NE. REALZERO
263+
$ .OR. DNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
262264
RETURN
263265
END IF
264266
END DO

SRC/sorbdb5.f

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ SUBROUTINE SORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
169169
* =====================================================================
170170
*
171171
* .. Parameters ..
172+
REAL REALZERO
173+
PARAMETER ( REALZERO = 0.0E0 )
172174
REAL ONE, ZERO
173175
PARAMETER ( ONE = 1.0E0, ZERO = 0.0E0 )
174176
* ..
@@ -220,8 +222,8 @@ SUBROUTINE SORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
220222
*
221223
* If the projection is nonzero, then return
222224
*
223-
IF( SNRM2(M1,X1,INCX1) .NE. ZERO
224-
$ .OR. SNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
225+
IF( SNRM2(M1,X1,INCX1) .NE. REALZERO
226+
$ .OR. SNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
225227
RETURN
226228
END IF
227229
*
@@ -238,8 +240,8 @@ SUBROUTINE SORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
238240
END DO
239241
CALL SORBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
240242
$ LDQ2, WORK, LWORK, CHILDINFO )
241-
IF( SNRM2(M1,X1,INCX1) .NE. ZERO
242-
$ .OR. SNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
243+
IF( SNRM2(M1,X1,INCX1) .NE. REALZERO
244+
$ .OR. SNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
243245
RETURN
244246
END IF
245247
END DO
@@ -257,8 +259,8 @@ SUBROUTINE SORBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
257259
X2(I) = ONE
258260
CALL SORBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
259261
$ LDQ2, WORK, LWORK, CHILDINFO )
260-
IF( SNRM2(M1,X1,INCX1) .NE. ZERO
261-
$ .OR. SNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
262+
IF( SNRM2(M1,X1,INCX1) .NE. REALZERO
263+
$ .OR. SNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
262264
RETURN
263265
END IF
264266
END DO

SRC/zunbdb5.f

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ SUBROUTINE ZUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
169169
* =====================================================================
170170
*
171171
* .. Parameters ..
172+
DOUBLE PRECISION REALZERO
173+
PARAMETER ( REALZERO = 0.0D0 )
172174
COMPLEX*16 ONE, ZERO
173175
PARAMETER ( ONE = (1.0D0,0.0D0), ZERO = (0.0D0,0.0D0) )
174176
* ..
@@ -220,8 +222,8 @@ SUBROUTINE ZUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
220222
*
221223
* If the projection is nonzero, then return
222224
*
223-
IF( DZNRM2(M1,X1,INCX1) .NE. ZERO
224-
$ .OR. DZNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
225+
IF( DZNRM2(M1,X1,INCX1) .NE. REALZERO
226+
$ .OR. DZNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
225227
RETURN
226228
END IF
227229
*
@@ -238,8 +240,8 @@ SUBROUTINE ZUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
238240
END DO
239241
CALL ZUNBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
240242
$ LDQ2, WORK, LWORK, CHILDINFO )
241-
IF( DZNRM2(M1,X1,INCX1) .NE. ZERO
242-
$ .OR. DZNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
243+
IF( DZNRM2(M1,X1,INCX1) .NE. REALZERO
244+
$ .OR. DZNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
243245
RETURN
244246
END IF
245247
END DO
@@ -257,8 +259,8 @@ SUBROUTINE ZUNBDB5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
257259
X2(I) = ONE
258260
CALL ZUNBDB6( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1, Q2,
259261
$ LDQ2, WORK, LWORK, CHILDINFO )
260-
IF( DZNRM2(M1,X1,INCX1) .NE. ZERO
261-
$ .OR. DZNRM2(M2,X2,INCX2) .NE. ZERO ) THEN
262+
IF( DZNRM2(M1,X1,INCX1) .NE. REALZERO
263+
$ .OR. DZNRM2(M2,X2,INCX2) .NE. REALZERO ) THEN
262264
RETURN
263265
END IF
264266
END DO

0 commit comments

Comments
 (0)