Skip to content

Commit bb2bda9

Browse files
committed
SRC: use LSAME for UPLO checks in lalsd
Replace direct UPLO character comparisons in the LALSD routines with LSAME. This keeps option handling consistent with the surrounding LAPACK convention for case-insensitive checks.
1 parent c1afcae commit bb2bda9

4 files changed

Lines changed: 12 additions & 8 deletions

File tree

SRC/clalsd.f

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ SUBROUTINE CLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
212212
* .. External Functions ..
213213
INTEGER ISAMAX
214214
REAL SLAMCH, SLANST
215-
EXTERNAL ISAMAX, SLAMCH, SLANST
215+
LOGICAL LSAME
216+
EXTERNAL ISAMAX, SLAMCH, SLANST, LSAME
216217
* ..
217218
* .. External Subroutines ..
218219
EXTERNAL CCOPY, CLACPY, CLALSA, CLASCL, CLASET,
@@ -271,7 +272,7 @@ SUBROUTINE CLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
271272
*
272273
* Rotate the matrix if it is lower bidiagonal.
273274
*
274-
IF( UPLO.EQ.'L' ) THEN
275+
IF( LSAME( UPLO, 'L' ) ) THEN
275276
DO 10 I = 1, N - 1
276277
CALL SLARTG( D( I ), E( I ), CS, SN, R )
277278
D( I ) = R

SRC/dlalsd.f

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ SUBROUTINE DLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
200200
* .. External Functions ..
201201
INTEGER IDAMAX
202202
DOUBLE PRECISION DLAMCH, DLANST
203-
EXTERNAL IDAMAX, DLAMCH, DLANST
203+
LOGICAL LSAME
204+
EXTERNAL IDAMAX, DLAMCH, DLANST, LSAME
204205
* ..
205206
* .. External Subroutines ..
206207
EXTERNAL DCOPY, DGEMM, DLACPY, DLALSA, DLARTG,
@@ -258,7 +259,7 @@ SUBROUTINE DLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
258259
*
259260
* Rotate the matrix if it is lower bidiagonal.
260261
*
261-
IF( UPLO.EQ.'L' ) THEN
262+
IF( LSAME( UPLO, 'L' ) ) THEN
262263
DO 10 I = 1, N - 1
263264
CALL DLARTG( D( I ), E( I ), CS, SN, R )
264265
D( I ) = R

SRC/slalsd.f

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ SUBROUTINE SLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
200200
* .. External Functions ..
201201
INTEGER ISAMAX
202202
REAL SLAMCH, SLANST
203-
EXTERNAL ISAMAX, SLAMCH, SLANST
203+
LOGICAL LSAME
204+
EXTERNAL ISAMAX, SLAMCH, SLANST, LSAME
204205
* ..
205206
* .. External Subroutines ..
206207
EXTERNAL SCOPY, SGEMM, SLACPY, SLALSA, SLARTG,
@@ -258,7 +259,7 @@ SUBROUTINE SLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
258259
*
259260
* Rotate the matrix if it is lower bidiagonal.
260261
*
261-
IF( UPLO.EQ.'L' ) THEN
262+
IF( LSAME( UPLO, 'L' ) ) THEN
262263
DO 10 I = 1, N - 1
263264
CALL SLARTG( D( I ), E( I ), CS, SN, R )
264265
D( I ) = R

SRC/zlalsd.f

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,8 @@ SUBROUTINE ZLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
213213
* .. External Functions ..
214214
INTEGER IDAMAX
215215
DOUBLE PRECISION DLAMCH, DLANST
216-
EXTERNAL IDAMAX, DLAMCH, DLANST
216+
LOGICAL LSAME
217+
EXTERNAL IDAMAX, DLAMCH, DLANST, LSAME
217218
* ..
218219
* .. External Subroutines ..
219220
EXTERNAL DGEMM, DLARTG, DLASCL, DLASDA, DLASDQ,
@@ -272,7 +273,7 @@ SUBROUTINE ZLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B, LDB, RCOND,
272273
*
273274
* Rotate the matrix if it is lower bidiagonal.
274275
*
275-
IF( UPLO.EQ.'L' ) THEN
276+
IF( LSAME( UPLO, 'L' ) ) THEN
276277
DO 10 I = 1, N - 1
277278
CALL DLARTG( D( I ), E( I ), CS, SN, R )
278279
D( I ) = R

0 commit comments

Comments
 (0)