From faa10e60e4dac3d6951aee758c41bcafd7885e54 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 24 Jun 2026 21:34:29 +0200 Subject: [PATCH] Fix scaling of relative error to avoid spurious failures (Reference-LAPACK PR 1309) --- lapack-netlib/SRC/dlarrf.f | 7 +++---- lapack-netlib/SRC/slarrf.f | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lapack-netlib/SRC/dlarrf.f b/lapack-netlib/SRC/dlarrf.f index a496e1b2d8..9b6fe329bc 100644 --- a/lapack-netlib/SRC/dlarrf.f +++ b/lapack-netlib/SRC/dlarrf.f @@ -5,7 +5,6 @@ * Online html documentation available at * http://www.netlib.org/lapack/explore-html/ * -*> \htmlonly *> Download DLARRF + dependencies *> *> [TGZ] @@ -13,7 +12,6 @@ *> [ZIP] *> *> [TXT] -*> \endhtmlonly * * Definition: * =========== @@ -174,7 +172,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup OTHERauxiliary +*> \ingroup larrf * *> \par Contributors: * ================== @@ -190,6 +188,7 @@ SUBROUTINE DLARRF( N, D, L, LD, CLSTRT, CLEND, $ W, WGAP, WERR, $ SPDIAM, CLGAPL, CLGAPR, PIVMIN, SIGMA, $ DPLUS, LPLUS, WORK, INFO ) + IMPLICIT NONE * * -- LAPACK auxiliary routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -466,7 +465,7 @@ SUBROUTINE DLARRF( N, D, L, LD, CLSTRT, CLEND, ELSE * None of the representations investigated satisfied our * criteria. Take the best one we found. - IF((SMLGROWTH.LT.FAIL).OR.NOFAIL) THEN + IF((SMLGROWTH.LT.FAIL*SPDIAM).OR.NOFAIL) THEN LSIGMA = BESTSHIFT RSIGMA = BESTSHIFT FORCER = .TRUE. diff --git a/lapack-netlib/SRC/slarrf.f b/lapack-netlib/SRC/slarrf.f index 3a6bea32d5..7eeae0a381 100644 --- a/lapack-netlib/SRC/slarrf.f +++ b/lapack-netlib/SRC/slarrf.f @@ -5,7 +5,6 @@ * Online html documentation available at * http://www.netlib.org/lapack/explore-html/ * -*> \htmlonly *> Download SLARRF + dependencies *> *> [TGZ] @@ -13,7 +12,6 @@ *> [ZIP] *> *> [TXT] -*> \endhtmlonly * * Definition: * =========== @@ -174,7 +172,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \ingroup OTHERauxiliary +*> \ingroup larrf * *> \par Contributors: * ================== @@ -190,6 +188,7 @@ SUBROUTINE SLARRF( N, D, L, LD, CLSTRT, CLEND, $ W, WGAP, WERR, $ SPDIAM, CLGAPL, CLGAPR, PIVMIN, SIGMA, $ DPLUS, LPLUS, WORK, INFO ) + IMPLICIT NONE * * -- LAPACK auxiliary routine -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -466,7 +465,7 @@ SUBROUTINE SLARRF( N, D, L, LD, CLSTRT, CLEND, ELSE * None of the representations investigated satisfied our * criteria. Take the best one we found. - IF((SMLGROWTH.LT.FAIL).OR.NOFAIL) THEN + IF((SMLGROWTH.LT.FAIL*SPDIAM).OR.NOFAIL) THEN LSIGMA = BESTSHIFT RSIGMA = BESTSHIFT FORCER = .TRUE.