Skip to content

Commit ef80dbf

Browse files
authored
Merge pull request #4068 from martin-frbg/lapack832
Remove unused variable SMIN from ?BDSQR (Reference-LAPACK PR 832)
2 parents d4c6934 + 92720c2 commit ef80dbf

File tree

4 files changed

+28
-36
lines changed

4 files changed

+28
-36
lines changed

lapack-netlib/SRC/cbdsqr.f

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
259259
$ NM12, NM13, OLDLL, OLDM
260260
REAL ABSE, ABSS, COSL, COSR, CS, EPS, F, G, H, MU,
261261
$ OLDCS, OLDSN, R, SHIFT, SIGMN, SIGMX, SINL,
262-
$ SINR, SLL, SMAX, SMIN, SMINL, SMINOA,
262+
$ SINR, SLL, SMAX, SMIN, SMINOA,
263263
$ SN, THRESH, TOL, TOLMUL, UNFL
264264
* ..
265265
* .. External Functions ..
@@ -372,7 +372,7 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
372372
DO 30 I = 1, N - 1
373373
SMAX = MAX( SMAX, ABS( E( I ) ) )
374374
30 CONTINUE
375-
SMINL = ZERO
375+
SMIN = ZERO
376376
IF( TOL.GE.ZERO ) THEN
377377
*
378378
* Relative accuracy desired
@@ -426,7 +426,6 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
426426
IF( TOL.LT.ZERO .AND. ABS( D( M ) ).LE.THRESH )
427427
$ D( M ) = ZERO
428428
SMAX = ABS( D( M ) )
429-
SMIN = SMAX
430429
DO 70 LLL = 1, M - 1
431430
LL = M - LLL
432431
ABSS = ABS( D( LL ) )
@@ -435,7 +434,6 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
435434
$ D( LL ) = ZERO
436435
IF( ABSE.LE.THRESH )
437436
$ GO TO 80
438-
SMIN = MIN( SMIN, ABSS )
439437
SMAX = MAX( SMAX, ABSS, ABSE )
440438
70 CONTINUE
441439
LL = 0
@@ -517,14 +515,14 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
517515
* apply convergence criterion forward
518516
*
519517
MU = ABS( D( LL ) )
520-
SMINL = MU
518+
SMIN = MU
521519
DO 100 LLL = LL, M - 1
522520
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
523521
E( LLL ) = ZERO
524522
GO TO 60
525523
END IF
526524
MU = ABS( D( LLL+1 ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
527-
SMINL = MIN( SMINL, MU )
525+
SMIN = MIN( SMIN, MU )
528526
100 CONTINUE
529527
END IF
530528
*
@@ -545,14 +543,14 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
545543
* apply convergence criterion backward
546544
*
547545
MU = ABS( D( M ) )
548-
SMINL = MU
546+
SMIN = MU
549547
DO 110 LLL = M - 1, LL, -1
550548
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
551549
E( LLL ) = ZERO
552550
GO TO 60
553551
END IF
554552
MU = ABS( D( LLL ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
555-
SMINL = MIN( SMINL, MU )
553+
SMIN = MIN( SMIN, MU )
556554
110 CONTINUE
557555
END IF
558556
END IF
@@ -562,7 +560,7 @@ SUBROUTINE CBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
562560
* Compute shift. First, test if shifting would ruin relative
563561
* accuracy, and if so set the shift to zero.
564562
*
565-
IF( TOL.GE.ZERO .AND. N*TOL*( SMINL / SMAX ).LE.
563+
IF( TOL.GE.ZERO .AND. N*TOL*( SMIN / SMAX ).LE.
566564
$ MAX( EPS, HNDRTH*TOL ) ) THEN
567565
*
568566
* Use a zero shift to avoid loss of relative accuracy

lapack-netlib/SRC/dbdsqr.f

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
278278
$ MAXITDIVN, NM1, NM12, NM13, OLDLL, OLDM
279279
DOUBLE PRECISION ABSE, ABSS, COSL, COSR, CS, EPS, F, G, H, MU,
280280
$ OLDCS, OLDSN, R, SHIFT, SIGMN, SIGMX, SINL,
281-
$ SINR, SLL, SMAX, SMIN, SMINL, SMINOA,
281+
$ SINR, SLL, SMAX, SMIN, SMINOA,
282282
$ SN, THRESH, TOL, TOLMUL, UNFL
283283
* ..
284284
* .. External Functions ..
@@ -391,7 +391,7 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
391391
DO 30 I = 1, N - 1
392392
SMAX = MAX( SMAX, ABS( E( I ) ) )
393393
30 CONTINUE
394-
SMINL = ZERO
394+
SMIN = ZERO
395395
IF( TOL.GE.ZERO ) THEN
396396
*
397397
* Relative accuracy desired
@@ -451,7 +451,6 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
451451
IF( TOL.LT.ZERO .AND. ABS( D( M ) ).LE.THRESH )
452452
$ D( M ) = ZERO
453453
SMAX = ABS( D( M ) )
454-
SMIN = SMAX
455454
DO 70 LLL = 1, M - 1
456455
LL = M - LLL
457456
ABSS = ABS( D( LL ) )
@@ -460,7 +459,6 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
460459
$ D( LL ) = ZERO
461460
IF( ABSE.LE.THRESH )
462461
$ GO TO 80
463-
SMIN = MIN( SMIN, ABSS )
464462
SMAX = MAX( SMAX, ABSS, ABSE )
465463
70 CONTINUE
466464
LL = 0
@@ -542,14 +540,14 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
542540
* apply convergence criterion forward
543541
*
544542
MU = ABS( D( LL ) )
545-
SMINL = MU
543+
SMIN = MU
546544
DO 100 LLL = LL, M - 1
547545
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
548546
E( LLL ) = ZERO
549547
GO TO 60
550548
END IF
551549
MU = ABS( D( LLL+1 ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
552-
SMINL = MIN( SMINL, MU )
550+
SMIN = MIN( SMIN, MU )
553551
100 CONTINUE
554552
END IF
555553
*
@@ -570,14 +568,14 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
570568
* apply convergence criterion backward
571569
*
572570
MU = ABS( D( M ) )
573-
SMINL = MU
571+
SMIN = MU
574572
DO 110 LLL = M - 1, LL, -1
575573
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
576574
E( LLL ) = ZERO
577575
GO TO 60
578576
END IF
579577
MU = ABS( D( LLL ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
580-
SMINL = MIN( SMINL, MU )
578+
SMIN = MIN( SMIN, MU )
581579
110 CONTINUE
582580
END IF
583581
END IF
@@ -587,7 +585,7 @@ SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
587585
* Compute shift. First, test if shifting would ruin relative
588586
* accuracy, and if so set the shift to zero.
589587
*
590-
IF( TOL.GE.ZERO .AND. N*TOL*( SMINL / SMAX ).LE.
588+
IF( TOL.GE.ZERO .AND. N*TOL*( SMIN / SMAX ).LE.
591589
$ MAX( EPS, HNDRTH*TOL ) ) THEN
592590
*
593591
* Use a zero shift to avoid loss of relative accuracy

lapack-netlib/SRC/sbdsqr.f

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
277277
$ MAXITDIVN, NM1, NM12, NM13, OLDLL, OLDM
278278
REAL ABSE, ABSS, COSL, COSR, CS, EPS, F, G, H, MU,
279279
$ OLDCS, OLDSN, R, SHIFT, SIGMN, SIGMX, SINL,
280-
$ SINR, SLL, SMAX, SMIN, SMINL, SMINOA,
280+
$ SINR, SLL, SMAX, SMIN, SMINOA,
281281
$ SN, THRESH, TOL, TOLMUL, UNFL
282282
* ..
283283
* .. External Functions ..
@@ -390,7 +390,7 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
390390
DO 30 I = 1, N - 1
391391
SMAX = MAX( SMAX, ABS( E( I ) ) )
392392
30 CONTINUE
393-
SMINL = ZERO
393+
SMIN = ZERO
394394
IF( TOL.GE.ZERO ) THEN
395395
*
396396
* Relative accuracy desired
@@ -450,7 +450,6 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
450450
IF( TOL.LT.ZERO .AND. ABS( D( M ) ).LE.THRESH )
451451
$ D( M ) = ZERO
452452
SMAX = ABS( D( M ) )
453-
SMIN = SMAX
454453
DO 70 LLL = 1, M - 1
455454
LL = M - LLL
456455
ABSS = ABS( D( LL ) )
@@ -459,7 +458,6 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
459458
$ D( LL ) = ZERO
460459
IF( ABSE.LE.THRESH )
461460
$ GO TO 80
462-
SMIN = MIN( SMIN, ABSS )
463461
SMAX = MAX( SMAX, ABSS, ABSE )
464462
70 CONTINUE
465463
LL = 0
@@ -541,14 +539,14 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
541539
* apply convergence criterion forward
542540
*
543541
MU = ABS( D( LL ) )
544-
SMINL = MU
542+
SMIN = MU
545543
DO 100 LLL = LL, M - 1
546544
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
547545
E( LLL ) = ZERO
548546
GO TO 60
549547
END IF
550548
MU = ABS( D( LLL+1 ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
551-
SMINL = MIN( SMINL, MU )
549+
SMIN = MIN( SMIN, MU )
552550
100 CONTINUE
553551
END IF
554552
*
@@ -569,14 +567,14 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
569567
* apply convergence criterion backward
570568
*
571569
MU = ABS( D( M ) )
572-
SMINL = MU
570+
SMIN = MU
573571
DO 110 LLL = M - 1, LL, -1
574572
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
575573
E( LLL ) = ZERO
576574
GO TO 60
577575
END IF
578576
MU = ABS( D( LLL ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
579-
SMINL = MIN( SMINL, MU )
577+
SMIN = MIN( SMIN, MU )
580578
110 CONTINUE
581579
END IF
582580
END IF
@@ -586,7 +584,7 @@ SUBROUTINE SBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
586584
* Compute shift. First, test if shifting would ruin relative
587585
* accuracy, and if so set the shift to zero.
588586
*
589-
IF( TOL.GE.ZERO .AND. N*TOL*( SMINL / SMAX ).LE.
587+
IF( TOL.GE.ZERO .AND. N*TOL*( SMIN / SMAX ).LE.
590588
$ MAX( EPS, HNDRTH*TOL ) ) THEN
591589
*
592590
* Use a zero shift to avoid loss of relative accuracy

lapack-netlib/SRC/zbdsqr.f

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
259259
$ NM12, NM13, OLDLL, OLDM
260260
DOUBLE PRECISION ABSE, ABSS, COSL, COSR, CS, EPS, F, G, H, MU,
261261
$ OLDCS, OLDSN, R, SHIFT, SIGMN, SIGMX, SINL,
262-
$ SINR, SLL, SMAX, SMIN, SMINL, SMINOA,
262+
$ SINR, SLL, SMAX, SMIN, SMINOA,
263263
$ SN, THRESH, TOL, TOLMUL, UNFL
264264
* ..
265265
* .. External Functions ..
@@ -372,7 +372,7 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
372372
DO 30 I = 1, N - 1
373373
SMAX = MAX( SMAX, ABS( E( I ) ) )
374374
30 CONTINUE
375-
SMINL = ZERO
375+
SMIN = ZERO
376376
IF( TOL.GE.ZERO ) THEN
377377
*
378378
* Relative accuracy desired
@@ -426,7 +426,6 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
426426
IF( TOL.LT.ZERO .AND. ABS( D( M ) ).LE.THRESH )
427427
$ D( M ) = ZERO
428428
SMAX = ABS( D( M ) )
429-
SMIN = SMAX
430429
DO 70 LLL = 1, M - 1
431430
LL = M - LLL
432431
ABSS = ABS( D( LL ) )
@@ -435,7 +434,6 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
435434
$ D( LL ) = ZERO
436435
IF( ABSE.LE.THRESH )
437436
$ GO TO 80
438-
SMIN = MIN( SMIN, ABSS )
439437
SMAX = MAX( SMAX, ABSS, ABSE )
440438
70 CONTINUE
441439
LL = 0
@@ -517,14 +515,14 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
517515
* apply convergence criterion forward
518516
*
519517
MU = ABS( D( LL ) )
520-
SMINL = MU
518+
SMIN = MU
521519
DO 100 LLL = LL, M - 1
522520
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
523521
E( LLL ) = ZERO
524522
GO TO 60
525523
END IF
526524
MU = ABS( D( LLL+1 ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
527-
SMINL = MIN( SMINL, MU )
525+
SMIN = MIN( SMIN, MU )
528526
100 CONTINUE
529527
END IF
530528
*
@@ -545,14 +543,14 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
545543
* apply convergence criterion backward
546544
*
547545
MU = ABS( D( M ) )
548-
SMINL = MU
546+
SMIN = MU
549547
DO 110 LLL = M - 1, LL, -1
550548
IF( ABS( E( LLL ) ).LE.TOL*MU ) THEN
551549
E( LLL ) = ZERO
552550
GO TO 60
553551
END IF
554552
MU = ABS( D( LLL ) )*( MU / ( MU+ABS( E( LLL ) ) ) )
555-
SMINL = MIN( SMINL, MU )
553+
SMIN = MIN( SMIN, MU )
556554
110 CONTINUE
557555
END IF
558556
END IF
@@ -562,7 +560,7 @@ SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
562560
* Compute shift. First, test if shifting would ruin relative
563561
* accuracy, and if so set the shift to zero.
564562
*
565-
IF( TOL.GE.ZERO .AND. N*TOL*( SMINL / SMAX ).LE.
563+
IF( TOL.GE.ZERO .AND. N*TOL*( SMIN / SMAX ).LE.
566564
$ MAX( EPS, HNDRTH*TOL ) ) THEN
567565
*
568566
* Use a zero shift to avoid loss of relative accuracy

0 commit comments

Comments
 (0)