diff options
-rw-r--r-- | math/lapack/Makefile | 6 | ||||
-rw-r--r-- | math/lapack/distinfo | 8 | ||||
-rw-r--r-- | math/lapack/files/patch-r1091 | 39 | ||||
-rw-r--r-- | math/lapack/files/patch-r1097 | 52 | ||||
-rw-r--r-- | math/lapack/files/patch-r1099 | 76 | ||||
-rw-r--r-- | math/lapack/files/patch-r1128 | 252 | ||||
-rw-r--r-- | math/lapack/files/patch-r1136 | 239 | ||||
-rw-r--r-- | math/lapack/files/patch-r1138 | 81 | ||||
-rw-r--r-- | math/lapack/files/patch-r1139 | 394 | ||||
-rw-r--r-- | math/lapack/files/patch-r1207 | 11 |
10 files changed, 6 insertions, 1152 deletions
diff --git a/math/lapack/Makefile b/math/lapack/Makefile index c3b9bcb190e9..4317ec27881c 100644 --- a/math/lapack/Makefile +++ b/math/lapack/Makefile @@ -6,11 +6,9 @@ # PORTNAME?= lapack -PORTVERSION= 3.4.0 -PORTREVISION?= 2 +PORTVERSION= 3.4.1 CATEGORIES= math -MASTER_SITES= NL/lapack/ \ - http://service-spi.web.cern.ch/service-spi/external/tarFiles/ +MASTER_SITES= NL/lapack/ DISTFILES= lapack-${PORTVERSION}.tgz .if make(makesum) || !(defined(BLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT)) DISTFILES+= manpages-${PORTVERSION}.tgz diff --git a/math/lapack/distinfo b/math/lapack/distinfo index 99eafe246fe9..f9b9b45d6591 100644 --- a/math/lapack/distinfo +++ b/math/lapack/distinfo @@ -1,4 +1,4 @@ -SHA256 (lapack/lapack-3.4.0.tgz) = a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9 -SIZE (lapack/lapack-3.4.0.tgz) = 6127787 -SHA256 (lapack/manpages-3.4.0.tgz) = 92fc029d5a43c5120cb122bef2a1209eddce20c6e20c9d71f056a40a5ef94c2c -SIZE (lapack/manpages-3.4.0.tgz) = 1349045 +SHA256 (lapack/lapack-3.4.1.tgz) = 93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f +SIZE (lapack/lapack-3.4.1.tgz) = 6147915 +SHA256 (lapack/manpages-3.4.1.tgz) = 95c82f2d551238af53656522938d6ed4abfd1b7681d177037875f9f60e7c0e93 +SIZE (lapack/manpages-3.4.1.tgz) = 1349866 diff --git a/math/lapack/files/patch-r1091 b/math/lapack/files/patch-r1091 deleted file mode 100644 index ef33f51c0301..000000000000 --- a/math/lapack/files/patch-r1091 +++ /dev/null @@ -1,39 +0,0 @@ -Index: SRC/ctprfb.f -=================================================================== ---- SRC/ctprfb.f (revision 1090) -+++ SRC/ctprfb.f (revision 1091) -@@ -280,7 +280,7 @@ - EXTERNAL LSAME - * .. - * .. External Subroutines .. -- EXTERNAL CCOPY, CGEMM, CLACGV, CTRMM -+ EXTERNAL CGEMM, CTRMM - * .. - * .. Intrinsic Functions .. - INTRINSIC CONJG -Index: SRC/ztprfb.f -=================================================================== ---- SRC/ztprfb.f (revision 1090) -+++ SRC/ztprfb.f (revision 1091) -@@ -280,7 +280,7 @@ - EXTERNAL LSAME - * .. - * .. External Subroutines .. -- EXTERNAL ZCOPY, ZGEMM, ZLACGV, ZTRMM -+ EXTERNAL ZGEMM, ZTRMM - * .. - * .. Intrinsic Functions .. - INTRINSIC CONJG -Index: SRC/stprfb.f -=================================================================== ---- SRC/stprfb.f (revision 1090) -+++ SRC/stprfb.f (revision 1091) -@@ -280,7 +280,7 @@ - EXTERNAL LSAME - * .. - * .. External Subroutines .. -- EXTERNAL SCOPY, SGEMM, SLACGV, STRMM -+ EXTERNAL SGEMM, STRMM - * .. - * .. Executable Statements .. - * diff --git a/math/lapack/files/patch-r1097 b/math/lapack/files/patch-r1097 deleted file mode 100644 index 2e51690163c2..000000000000 --- a/math/lapack/files/patch-r1097 +++ /dev/null @@ -1,52 +0,0 @@ -Index: TESTING/LIN/cdrvsyx.f -=================================================================== ---- TESTING/LIN/cdrvsyx.f (revision 1096) -+++ TESTING/LIN/cdrvsyx.f (revision 1097) -@@ -620,7 +620,7 @@ - $ LDA, IWORK, EQUED, WORK( N+1 ), B, LDA, X, - $ LDA, RCOND, RPVGRW_SVXX, BERR, N_ERR_BNDS, - $ ERRBNDS_N, ERRBNDS_C, 0, ZERO, WORK, -- $ IWORK( N+1 ), INFO ) -+ $ RWORK, INFO ) - * - * Adjust the expected value of INFO to account for - * pivoting. -Index: TESTING/LIN/zdrvhex.f -=================================================================== ---- TESTING/LIN/zdrvhex.f (revision 1096) -+++ TESTING/LIN/zdrvhex.f (revision 1097) -@@ -614,7 +614,7 @@ - $ LDA, IWORK, EQUED, WORK( N+1 ), B, LDA, X, - $ LDA, RCOND, RPVGRW_SVXX, BERR, N_ERR_BNDS, - $ ERRBNDS_N, ERRBNDS_C, 0, ZERO, WORK, -- $ IWORK( N+1 ), INFO ) -+ $ RWORK, INFO ) - * - * Adjust the expected value of INFO to account for - * pivoting. -Index: TESTING/LIN/cdrvhex.f -=================================================================== ---- TESTING/LIN/cdrvhex.f (revision 1096) -+++ TESTING/LIN/cdrvhex.f (revision 1097) -@@ -614,7 +614,7 @@ - $ LDA, IWORK, EQUED, WORK( N+1 ), B, LDA, X, - $ LDA, RCOND, RPVGRW_SVXX, BERR, N_ERR_BNDS, - $ ERRBNDS_N, ERRBNDS_C, 0, ZERO, WORK, -- $ IWORK( N+1 ), INFO ) -+ $ RWORK, INFO ) - * - * Adjust the expected value of INFO to account for - * pivoting. -Index: TESTING/LIN/zdrvsyx.f -=================================================================== ---- TESTING/LIN/zdrvsyx.f (revision 1096) -+++ TESTING/LIN/zdrvsyx.f (revision 1097) -@@ -620,7 +620,7 @@ - $ LDA, IWORK, EQUED, WORK( N+1 ), B, LDA, X, - $ LDA, RCOND, RPVGRW_SVXX, BERR, N_ERR_BNDS, - $ ERRBNDS_N, ERRBNDS_C, 0, ZERO, WORK, -- $ IWORK( N+1 ), INFO ) -+ $ RWORK, INFO ) - * - * Adjust the expected value of INFO to account for - * pivoting. diff --git a/math/lapack/files/patch-r1099 b/math/lapack/files/patch-r1099 deleted file mode 100644 index 6f6a88530144..000000000000 --- a/math/lapack/files/patch-r1099 +++ /dev/null @@ -1,76 +0,0 @@ -Index: SRC/ilazlr.f -=================================================================== ---- SRC/ilazlr.f (revision 1098) -+++ SRC/ilazlr.f (revision 1099) -@@ -111,12 +111,9 @@ - ILAZLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- IF (I.EQ.0) THEN -- EXIT -- END IF -- ENDDO -+ DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) -+ I=I-1 -+ ENDDO - ILAZLR = MAX( ILAZLR, I ) - END DO - END IF -Index: SRC/ilaclr.f -=================================================================== ---- SRC/ilaclr.f (revision 1098) -+++ SRC/ilaclr.f (revision 1099) -@@ -111,12 +111,9 @@ - ILACLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- IF (I.EQ.0) THEN -- EXIT -- END IF -- ENDDO -+ DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) -+ I=I-1 -+ ENDDO - ILACLR = MAX( ILACLR, I ) - END DO - END IF -Index: SRC/ilaslr.f -=================================================================== ---- SRC/ilaslr.f (revision 1098) -+++ SRC/ilaslr.f (revision 1099) -@@ -111,11 +111,8 @@ - ILASLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- IF (I.EQ.0) THEN -- EXIT -- END IF -+ DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) -+ I=I-1 - ENDDO - ILASLR = MAX( ILASLR, I ) - END DO -Index: SRC/iladlr.f -=================================================================== ---- SRC/iladlr.f (revision 1098) -+++ SRC/iladlr.f (revision 1099) -@@ -111,11 +111,8 @@ - ILADLR = 0 - DO J = 1, N - I=M -- DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) -- I=I-1 -- IF (I.EQ.0) THEN -- EXIT -- END IF -+ DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) -+ I=I-1 - ENDDO - ILADLR = MAX( ILADLR, I ) - END DO diff --git a/math/lapack/files/patch-r1128 b/math/lapack/files/patch-r1128 deleted file mode 100644 index e4c63001e20b..000000000000 --- a/math/lapack/files/patch-r1128 +++ /dev/null @@ -1,252 +0,0 @@ -Index: SRC/cgesvxx.f -=================================================================== ---- SRC/cgesvxx.f (revision 1127) -+++ SRC/cgesvxx.f (revision 1128) -@@ -584,9 +584,9 @@ - $ ROWCND, SMLNUM - * .. - * .. External Functions .. -- EXTERNAL LSAME, SLAMCH, CLA_RPVGRW -+ EXTERNAL LSAME, SLAMCH, CLA_GERPVGRW - LOGICAL LSAME -- REAL SLAMCH, CLA_RPVGRW -+ REAL SLAMCH, CLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL CGEEQUB, CGETRF, CGETRS, CLACPY, CLAQGE, -@@ -735,14 +735,14 @@ - * Compute the reciprocal pivot growth factor of the - * leading rank-deficient INFO columns of A. - * -- RPVGRW = CLA_RPVGRW( N, INFO, A, LDA, AF, LDAF ) -+ RPVGRW = CLA_GERPVGRW( N, INFO, A, LDA, AF, LDAF ) - RETURN - END IF - END IF - * - * Compute the reciprocal pivot growth factor RPVGRW. - * -- RPVGRW = CLA_RPVGRW( N, N, A, LDA, AF, LDAF ) -+ RPVGRW = CLA_GERPVGRW( N, N, A, LDA, AF, LDAF ) - * - * Compute the solution matrix X. - * -Index: SRC/sgesvxx.f -=================================================================== ---- SRC/sgesvxx.f (revision 1127) -+++ SRC/sgesvxx.f (revision 1128) -@@ -584,9 +584,9 @@ - $ SMLNUM - * .. - * .. External Functions .. -- EXTERNAL LSAME, SLAMCH, SLA_RPVGRW -+ EXTERNAL LSAME, SLAMCH, SLA_GERPVGRW - LOGICAL LSAME -- REAL SLAMCH, SLA_RPVGRW -+ REAL SLAMCH, SLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL SGEEQUB, SGETRF, SGETRS, SLACPY, SLAQGE, -@@ -735,14 +735,14 @@ - * Compute the reciprocal pivot growth factor of the - * leading rank-deficient INFO columns of A. - * -- RPVGRW = SLA_RPVGRW( N, INFO, A, LDA, AF, LDAF ) -+ RPVGRW = SLA_GERPVGRW( N, INFO, A, LDA, AF, LDAF ) - RETURN - END IF - END IF - * - * Compute the reciprocal pivot growth factor RPVGRW. - * -- RPVGRW = SLA_RPVGRW( N, N, A, LDA, AF, LDAF ) -+ RPVGRW = SLA_GERPVGRW( N, N, A, LDA, AF, LDAF ) - * - * Compute the solution matrix X. - * -Index: SRC/dgesvxx.f -=================================================================== ---- SRC/dgesvxx.f (revision 1127) -+++ SRC/dgesvxx.f (revision 1128) -@@ -581,9 +581,9 @@ - $ SMLNUM - * .. - * .. External Functions .. -- EXTERNAL LSAME, DLAMCH, DLA_RPVGRW -+ EXTERNAL LSAME, DLAMCH, DLA_GERPVGRW - LOGICAL LSAME -- DOUBLE PRECISION DLAMCH, DLA_RPVGRW -+ DOUBLE PRECISION DLAMCH, DLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL DGEEQUB, DGETRF, DGETRS, DLACPY, DLAQGE, -@@ -732,14 +732,14 @@ - * Compute the reciprocal pivot growth factor of the - * leading rank-deficient INFO columns of A. - * -- RPVGRW = DLA_RPVGRW( N, INFO, A, LDA, AF, LDAF ) -+ RPVGRW = DLA_GERPVGRW( N, INFO, A, LDA, AF, LDAF ) - RETURN - END IF - END IF - * - * Compute the reciprocal pivot growth factor RPVGRW. - * -- RPVGRW = DLA_RPVGRW( N, N, A, LDA, AF, LDAF ) -+ RPVGRW = DLA_GERPVGRW( N, N, A, LDA, AF, LDAF ) - * - * Compute the solution matrix X. - * -Index: SRC/zgesvxx.f -=================================================================== ---- SRC/zgesvxx.f (revision 1127) -+++ SRC/zgesvxx.f (revision 1128) -@@ -581,9 +581,9 @@ - $ ROWCND, SMLNUM - * .. - * .. External Functions .. -- EXTERNAL LSAME, DLAMCH, ZLA_RPVGRW -+ EXTERNAL LSAME, DLAMCH, ZLA_GERPVGRW - LOGICAL LSAME -- DOUBLE PRECISION DLAMCH, ZLA_RPVGRW -+ DOUBLE PRECISION DLAMCH, ZLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL ZGEEQUB, ZGETRF, ZGETRS, ZLACPY, ZLAQGE, -@@ -732,14 +732,14 @@ - * Compute the reciprocal pivot growth factor of the - * leading rank-deficient INFO columns of A. - * -- RPVGRW = ZLA_RPVGRW( N, INFO, A, LDA, AF, LDAF ) -+ RPVGRW = ZLA_GERPVGRW( N, INFO, A, LDA, AF, LDAF ) - RETURN - END IF - END IF - * - * Compute the reciprocal pivot growth factor RPVGRW. - * -- RPVGRW = ZLA_RPVGRW( N, N, A, LDA, AF, LDAF ) -+ RPVGRW = ZLA_GERPVGRW( N, N, A, LDA, AF, LDAF ) - * - * Compute the solution matrix X. - * -Index: TESTING/LIN/zdrvgex.f -=================================================================== ---- TESTING/LIN/zdrvgex.f (revision 1127) -+++ TESTING/LIN/zdrvgex.f (revision 1128) -@@ -217,9 +217,9 @@ - * .. - * .. External Functions .. - LOGICAL LSAME -- DOUBLE PRECISION DGET06, DLAMCH, ZLANGE, ZLANTR, ZLA_RPVGRW -+ DOUBLE PRECISION DGET06, DLAMCH, ZLANGE, ZLANTR, ZLA_GERPVGRW - EXTERNAL LSAME, DGET06, DLAMCH, ZLANGE, ZLANTR, -- $ ZLA_RPVGRW -+ $ ZLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL ALADHD, ALAERH, ALASVM, XLAENV, ZERRVX, ZGEEQU, -@@ -745,9 +745,11 @@ - * - - IF ( INFO .GT. 0 .AND. INFO .LT. N+1 ) THEN -- RPVGRW = ZLA_RPVGRW(N, INFO, A, LDA, AFAC, LDA) -+ RPVGRW = ZLA_GERPVGRW -+ $ (N, INFO, A, LDA, AFAC, LDA) - ELSE -- RPVGRW = ZLA_RPVGRW(N, N, A, LDA, AFAC, LDA) -+ RPVGRW = ZLA_GERPVGRW -+ $ (N, N, A, LDA, AFAC, LDA) - ENDIF - - RESULT( 7 ) = ABS( RPVGRW-rpvgrw_svxx ) / -Index: TESTING/LIN/cdrvgex.f -=================================================================== ---- TESTING/LIN/cdrvgex.f (revision 1127) -+++ TESTING/LIN/cdrvgex.f (revision 1128) -@@ -217,9 +217,9 @@ - * .. - * .. External Functions .. - LOGICAL LSAME -- REAL CLANGE, CLANTR, SGET06, SLAMCH, CLA_RPVGRW -+ REAL CLANGE, CLANTR, SGET06, SLAMCH, CLA_GERPVGRW - EXTERNAL LSAME, CLANGE, CLANTR, SGET06, SLAMCH, -- $ CLA_RPVGRW -+ $ CLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL ALADHD, ALAERH, ALASVM, CERRVX, CGEEQU, CGESV, -@@ -745,9 +745,11 @@ - * - - IF ( INFO .GT. 0 .AND. INFO .LT. N+1 ) THEN -- RPVGRW = CLA_RPVGRW(N, INFO, A, LDA, AFAC, LDA) -+ RPVGRW = CLA_GERPVGRW -+ $ (N, INFO, A, LDA, AFAC, LDA) - ELSE -- RPVGRW = CLA_RPVGRW(N, N, A, LDA, AFAC, LDA) -+ RPVGRW = CLA_GERPVGRW -+ $ (N, N, A, LDA, AFAC, LDA) - ENDIF - - RESULT( 7 ) = ABS( RPVGRW-rpvgrw_svxx ) / -Index: TESTING/LIN/sdrvgex.f -=================================================================== ---- TESTING/LIN/sdrvgex.f (revision 1127) -+++ TESTING/LIN/sdrvgex.f (revision 1128) -@@ -217,9 +217,9 @@ - * .. - * .. External Functions .. - LOGICAL LSAME -- REAL SGET06, SLAMCH, SLANGE, SLANTR, SLA_RPVGRW -+ REAL SGET06, SLAMCH, SLANGE, SLANTR, SLA_GERPVGRW - EXTERNAL LSAME, SGET06, SLAMCH, SLANGE, SLANTR, -- $ SLA_RPVGRW -+ $ SLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL ALADHD, ALAERH, ALASVM, SERRVX, SGEEQU, SGESV, -@@ -743,9 +743,11 @@ - * - - IF ( INFO .GT. 0 .AND. INFO .LT. N+1 ) THEN -- RPVGRW = SLA_RPVGRW(N, INFO, A, LDA, AFAC, LDA) -+ RPVGRW = SLA_GERPVGRW -+ $ (N, INFO, A, LDA, AFAC, LDA) - ELSE -- RPVGRW = SLA_RPVGRW(N, N, A, LDA, AFAC, LDA) -+ RPVGRW = SLA_GERPVGRW -+ $ (N, N, A, LDA, AFAC, LDA) - ENDIF - - RESULT( 7 ) = ABS( RPVGRW-RPVGRW_SVXX ) / -Index: TESTING/LIN/ddrvgex.f -=================================================================== ---- TESTING/LIN/ddrvgex.f (revision 1127) -+++ TESTING/LIN/ddrvgex.f (revision 1128) -@@ -217,9 +217,9 @@ - * .. - * .. External Functions .. - LOGICAL LSAME -- DOUBLE PRECISION DGET06, DLAMCH, DLANGE, DLANTR, DLA_RPVGRW -+ DOUBLE PRECISION DGET06, DLAMCH, DLANGE, DLANTR, DLA_GERPVGRW - EXTERNAL LSAME, DGET06, DLAMCH, DLANGE, DLANTR, -- $ DLA_RPVGRW -+ $ DLA_GERPVGRW - * .. - * .. External Subroutines .. - EXTERNAL ALADHD, ALAERH, ALASVM, DERRVX, DGEEQU, DGESV, -@@ -743,9 +743,11 @@ - * - - IF ( INFO .GT. 0 .AND. INFO .LT. N+1 ) THEN -- RPVGRW = DLA_RPVGRW(N, INFO, A, LDA, AFAC, LDA) -+ RPVGRW = DLA_GERPVGRW -+ $ (N, INFO, A, LDA, AFAC, LDA) - ELSE -- RPVGRW = DLA_RPVGRW(N, N, A, LDA, AFAC, LDA) -+ RPVGRW = DLA_GERPVGRW -+ $ (N, N, A, LDA, AFAC, LDA) - ENDIF - - RESULT( 7 ) = ABS( RPVGRW-RPVGRW_SVXX ) / diff --git a/math/lapack/files/patch-r1136 b/math/lapack/files/patch-r1136 deleted file mode 100644 index d7cf8ba19fde..000000000000 --- a/math/lapack/files/patch-r1136 +++ /dev/null @@ -1,239 +0,0 @@ -Index: SRC/dlasq3.f -=================================================================== ---- SRC/dlasq3.f (revision 1135) -+++ SRC/dlasq3.f (revision 1136) -@@ -331,15 +331,15 @@ - * - 70 CONTINUE - * -- CALL DLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, -- $ DN1, DN2, IEEE ) -+ CALL DLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, -+ $ DN1, DN2, IEEE, EPS ) - * - NDIV = NDIV + ( N0-I0+2 ) - ITER = ITER + 1 - * - * Check status. - * -- IF( DMIN.GE.ZERO .AND. DMIN1.GT.ZERO ) THEN -+ IF( DMIN.GE.ZERO .AND. DMIN1.GE.ZERO ) THEN - * - * Success. - * -Index: SRC/dlasq5.f -=================================================================== ---- SRC/dlasq5.f (revision 1135) -+++ SRC/dlasq5.f (revision 1136) -@@ -18,13 +18,13 @@ - * Definition: - * =========== - * --* SUBROUTINE DLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, --* DNM1, DNM2, IEEE ) -+* SUBROUTINE DLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, -+* DNM1, DNM2, IEEE, EPS ) - * - * .. Scalar Arguments .. - * LOGICAL IEEE - * INTEGER I0, N0, PP --* DOUBLE PRECISION DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU -+* DOUBLE PRECISION DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU, SIGMA, EPS - * .. - * .. Array Arguments .. - * DOUBLE PRECISION Z( * ) -@@ -74,6 +74,12 @@ - *> This is the shift. - *> \endverbatim - *> -+*> \param[in] SIGMA -+*> \verbatim -+*> SIGMA is DOUBLE PRECISION -+*> This is the accumulated shift up to this step. -+*> \endverbatim -+*> - *> \param[out] DMIN - *> \verbatim - *> DMIN is DOUBLE PRECISION -@@ -116,6 +122,12 @@ - *> Flag for IEEE or non IEEE arithmetic. - *> \endverbatim - * -+*> \param[in] EPS -+*> \verbatim -+*> EPS is DOUBLE PRECISION -+*> This is the value of epsilon used. -+*> \endverbatim -+*> - * Authors: - * ======== - * -@@ -129,8 +141,8 @@ - *> \ingroup auxOTHERcomputational - * - * ===================================================================== -- SUBROUTINE DLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, -- $ DNM1, DNM2, IEEE ) -+ SUBROUTINE DLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, -+ $ DN, DNM1, DNM2, IEEE, EPS ) - * - * -- LAPACK computational routine (version 3.4.0) -- - * -- LAPACK is a software package provided by Univ. of Tennessee, -- -@@ -140,7 +152,8 @@ - * .. Scalar Arguments .. - LOGICAL IEEE - INTEGER I0, N0, PP -- DOUBLE PRECISION DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU -+ DOUBLE PRECISION DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU, -+ $ SIGMA, EPS - * .. - * .. Array Arguments .. - DOUBLE PRECISION Z( * ) -@@ -149,12 +162,12 @@ - * ===================================================================== - * - * .. Parameter .. -- DOUBLE PRECISION ZERO -- PARAMETER ( ZERO = 0.0D0 ) -+ DOUBLE PRECISION ZERO, HALF -+ PARAMETER ( ZERO = 0.0D0, HALF = 0.5 ) - * .. - * .. Local Scalars .. - INTEGER J4, J4P2 -- DOUBLE PRECISION D, EMIN, TEMP -+ DOUBLE PRECISION D, EMIN, TEMP, DTHRESH - * .. - * .. Intrinsic Functions .. - INTRINSIC MIN -@@ -164,6 +177,9 @@ - IF( ( N0-I0-1 ).LE.0 ) - $ RETURN - * -+ DTHRESH = EPS*(SIGMA+TAU) -+ IF( TAU.LT.DTHRESH*HALF ) TAU = ZERO -+ IF( TAU.NE.ZERO ) THEN - J4 = 4*I0 + PP - 3 - EMIN = Z( J4+4 ) - D = Z( J4 ) - TAU -@@ -271,7 +287,120 @@ - DMIN = MIN( DMIN, DN ) - * - END IF --* -+ ELSE -+* This is the version that sets d's to zero if they are small enough -+ J4 = 4*I0 + PP - 3 -+ EMIN = Z( J4+4 ) -+ D = Z( J4 ) - TAU -+ DMIN = D -+ DMIN1 = -Z( J4 ) -+ IF( IEEE ) THEN -+* -+* Code for IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 50 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ TEMP = Z( J4+1 ) / Z( J4-2 ) -+ D = D*TEMP - TAU -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ Z( J4 ) = Z( J4-1 )*TEMP -+ EMIN = MIN( Z( J4 ), EMIN ) -+ 50 CONTINUE -+ ELSE -+ DO 60 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ TEMP = Z( J4+2 ) / Z( J4-3 ) -+ D = D*TEMP - TAU -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ Z( J4-1 ) = Z( J4 )*TEMP -+ EMIN = MIN( Z( J4-1 ), EMIN ) -+ 60 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ DMIN = MIN( DMIN, DN ) -+* -+ ELSE -+* -+* Code for non IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 70 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) ) -+ D = Z( J4+1 )*( D / Z( J4-2 ) ) - TAU -+ END IF -+ IF( D.LT.DTHRESH) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4 ) ) -+ 70 CONTINUE -+ ELSE -+ DO 80 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) ) -+ D = Z( J4+2 )*( D / Z( J4-3 ) ) - TAU -+ END IF -+ IF( D.LT.DTHRESH) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4-1 ) ) -+ 80 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) -+ IF( DNM2.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) -+ IF( DNM1.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DN ) -+* -+ END IF -+ END IF -+* - Z( J4+2 ) = DN - Z( 4*N0-PP ) = EMIN - RETURN diff --git a/math/lapack/files/patch-r1138 b/math/lapack/files/patch-r1138 deleted file mode 100644 index 9d42c9b6bb7f..000000000000 --- a/math/lapack/files/patch-r1138 +++ /dev/null @@ -1,81 +0,0 @@ -Index: INSTALL/dlamchf77.f -=================================================================== ---- INSTALL/dlamchf77.f (revision 1137) -+++ INSTALL/dlamchf77.f (revision 1138) -@@ -71,35 +71,6 @@ - * .. Scalar Arguments .. - CHARACTER CMACH - * .. --* --* .. Scalar Arguments .. -- LOGICAL IEEE1, RND -- INTEGER BETA, T --* .. --* --* .. Scalar Arguments .. -- LOGICAL RND -- INTEGER BETA, EMAX, EMIN, T -- DOUBLE PRECISION EPS, RMAX, RMIN --* .. --* --* .. Scalar Arguments .. -- DOUBLE PRECISION A, B --* .. --* --* .. Scalar Arguments .. -- INTEGER BASE, EMIN -- DOUBLE PRECISION START --* .. --* --* .. Scalar Arguments .. -- LOGICAL IEEE -- INTEGER BETA, EMAX, EMIN, P -- DOUBLE PRECISION RMAX --* .. --* --* ===================================================================== --* - * .. Parameters .. - DOUBLE PRECISION ONE, ZERO - PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 ) -Index: INSTALL/slamchf77.f -=================================================================== ---- INSTALL/slamchf77.f (revision 1137) -+++ INSTALL/slamchf77.f (revision 1138) -@@ -75,36 +75,6 @@ - * .. Scalar Arguments .. - CHARACTER CMACH - * .. --* --* .. Scalar Arguments .. -- LOGICAL IEEE1, RND -- INTEGER BETA, T --* .. --* --* .. Scalar Arguments .. -- LOGICAL RND -- INTEGER BETA, EMAX, EMIN, T -- REAL EPS, RMAX, RMIN --* .. --* --* .. Scalar Arguments .. -- REAL A, B --* .. --* --* .. Scalar Arguments .. -- INTEGER BASE -- INTEGER EMIN -- REAL START --* .. --* --* .. Scalar Arguments .. -- LOGICAL IEEE -- INTEGER BETA, EMAX, EMIN, P -- REAL RMAX --* .. --* --* ===================================================================== --* - * .. Parameters .. - REAL ONE, ZERO - PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 ) diff --git a/math/lapack/files/patch-r1139 b/math/lapack/files/patch-r1139 deleted file mode 100644 index cc6ae9025fbe..000000000000 --- a/math/lapack/files/patch-r1139 +++ /dev/null @@ -1,394 +0,0 @@ -Index: SRC/slasq5.f -=================================================================== ---- SRC/slasq5.f (revision 1138) -+++ SRC/slasq5.f (revision 1139) -@@ -129,8 +129,8 @@ - *> \ingroup auxOTHERcomputational - * - * ===================================================================== -- SUBROUTINE SLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, -- $ DNM1, DNM2, IEEE ) -+ SUBROUTINE SLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, -+ $ DN, DNM1, DNM2, IEEE, EPS ) - * - * -- LAPACK computational routine (version 3.4.0) -- - * -- LAPACK is a software package provided by Univ. of Tennessee, -- -@@ -140,7 +140,8 @@ - * .. Scalar Arguments .. - LOGICAL IEEE - INTEGER I0, N0, PP -- REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU -+ REAL DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU, -+ $ SIGMA, EPS - * .. - * .. Array Arguments .. - REAL Z( * ) -@@ -149,12 +150,12 @@ - * ===================================================================== - * - * .. Parameter .. -- REAL ZERO -- PARAMETER ( ZERO = 0.0E0 ) -+ REAL ZERO, HALF -+ PARAMETER ( ZERO = 0.0E0, HALF = 0.5 ) - * .. - * .. Local Scalars .. - INTEGER J4, J4P2 -- REAL D, EMIN, TEMP -+ REAL D, EMIN, TEMP, DTHRESH - * .. - * .. Intrinsic Functions .. - INTRINSIC MIN -@@ -164,114 +165,231 @@ - IF( ( N0-I0-1 ).LE.0 ) - $ RETURN - * -- J4 = 4*I0 + PP - 3 -- EMIN = Z( J4+4 ) -- D = Z( J4 ) - TAU -- DMIN = D -- DMIN1 = -Z( J4 ) --* -- IF( IEEE ) THEN --* --* Code for IEEE arithmetic. --* -- IF( PP.EQ.0 ) THEN -- DO 10 J4 = 4*I0, 4*( N0-3 ), 4 -- Z( J4-2 ) = D + Z( J4-1 ) -- TEMP = Z( J4+1 ) / Z( J4-2 ) -- D = D*TEMP - TAU -- DMIN = MIN( DMIN, D ) -- Z( J4 ) = Z( J4-1 )*TEMP -- EMIN = MIN( Z( J4 ), EMIN ) -- 10 CONTINUE -+ DTHRESH = EPS*(SIGMA+TAU) -+ IF( TAU.LT.DTHRESH*HALF ) TAU = ZERO -+ IF( TAU.NE.ZERO ) THEN -+ J4 = 4*I0 + PP - 3 -+ EMIN = Z( J4+4 ) -+ D = Z( J4 ) - TAU -+ DMIN = D -+ DMIN1 = -Z( J4 ) -+* -+ IF( IEEE ) THEN -+* -+* Code for IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 10 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ TEMP = Z( J4+1 ) / Z( J4-2 ) -+ D = D*TEMP - TAU -+ DMIN = MIN( DMIN, D ) -+ Z( J4 ) = Z( J4-1 )*TEMP -+ EMIN = MIN( Z( J4 ), EMIN ) -+ 10 CONTINUE -+ ELSE -+ DO 20 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ TEMP = Z( J4+2 ) / Z( J4-3 ) -+ D = D*TEMP - TAU -+ DMIN = MIN( DMIN, D ) -+ Z( J4-1 ) = Z( J4 )*TEMP -+ EMIN = MIN( Z( J4-1 ), EMIN ) -+ 20 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ DMIN = MIN( DMIN, DN ) -+* - ELSE -- DO 20 J4 = 4*I0, 4*( N0-3 ), 4 -- Z( J4-3 ) = D + Z( J4 ) -- TEMP = Z( J4+2 ) / Z( J4-3 ) -- D = D*TEMP - TAU -- DMIN = MIN( DMIN, D ) -- Z( J4-1 ) = Z( J4 )*TEMP -- EMIN = MIN( Z( J4-1 ), EMIN ) -- 20 CONTINUE -+* -+* Code for non IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 30 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) ) -+ D = Z( J4+1 )*( D / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4 ) ) -+ 30 CONTINUE -+ ELSE -+ DO 40 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) ) -+ D = Z( J4+2 )*( D / Z( J4-3 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4-1 ) ) -+ 40 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) -+ IF( DNM2.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) -+ IF( DNM1.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DN ) -+* - END IF - * --* Unroll last two steps. --* -- DNM2 = D -- DMIN2 = DMIN -- J4 = 4*( N0-2 ) - PP -- J4P2 = J4 + 2*PP - 1 -- Z( J4-2 ) = DNM2 + Z( J4P2 ) -- Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -- DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -- DMIN = MIN( DMIN, DNM1 ) --* -- DMIN1 = DMIN -- J4 = J4 + 4 -- J4P2 = J4 + 2*PP - 1 -- Z( J4-2 ) = DNM1 + Z( J4P2 ) -- Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -- DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -- DMIN = MIN( DMIN, DN ) --* - ELSE --* --* Code for non IEEE arithmetic. --* -- IF( PP.EQ.0 ) THEN -- DO 30 J4 = 4*I0, 4*( N0-3 ), 4 -- Z( J4-2 ) = D + Z( J4-1 ) -- IF( D.LT.ZERO ) THEN -- RETURN -- ELSE -- Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) ) -- D = Z( J4+1 )*( D / Z( J4-2 ) ) - TAU -- END IF -- DMIN = MIN( DMIN, D ) -- EMIN = MIN( EMIN, Z( J4 ) ) -- 30 CONTINUE -- ELSE -- DO 40 J4 = 4*I0, 4*( N0-3 ), 4 -- Z( J4-3 ) = D + Z( J4 ) -- IF( D.LT.ZERO ) THEN -- RETURN -- ELSE -- Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) ) -- D = Z( J4+2 )*( D / Z( J4-3 ) ) - TAU -- END IF -- DMIN = MIN( DMIN, D ) -- EMIN = MIN( EMIN, Z( J4-1 ) ) -- 40 CONTINUE -- END IF --* --* Unroll last two steps. --* -- DNM2 = D -- DMIN2 = DMIN -- J4 = 4*( N0-2 ) - PP -- J4P2 = J4 + 2*PP - 1 -- Z( J4-2 ) = DNM2 + Z( J4P2 ) -- IF( DNM2.LT.ZERO ) THEN -- RETURN -- ELSE -+* This is the version that sets d's to zero if they are small enough -+ J4 = 4*I0 + PP - 3 -+ EMIN = Z( J4+4 ) -+ D = Z( J4 ) - TAU -+ DMIN = D -+ DMIN1 = -Z( J4 ) -+ IF( IEEE ) THEN -+* -+* Code for IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 50 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ TEMP = Z( J4+1 ) / Z( J4-2 ) -+ D = D*TEMP - TAU -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ Z( J4 ) = Z( J4-1 )*TEMP -+ EMIN = MIN( Z( J4 ), EMIN ) -+ 50 CONTINUE -+ ELSE -+ DO 60 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ TEMP = Z( J4+2 ) / Z( J4-3 ) -+ D = D*TEMP - TAU -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ Z( J4-1 ) = Z( J4 )*TEMP -+ EMIN = MIN( Z( J4-1 ), EMIN ) -+ 60 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) - Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) - DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -- END IF -- DMIN = MIN( DMIN, DNM1 ) --* -- DMIN1 = DMIN -- J4 = J4 + 4 -- J4P2 = J4 + 2*PP - 1 -- Z( J4-2 ) = DNM1 + Z( J4P2 ) -- IF( DNM1.LT.ZERO ) THEN -- RETURN -- ELSE -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) - Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) - DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ DMIN = MIN( DMIN, DN ) -+* -+ ELSE -+* -+* Code for non IEEE arithmetic. -+* -+ IF( PP.EQ.0 ) THEN -+ DO 70 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-2 ) = D + Z( J4-1 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) ) -+ D = Z( J4+1 )*( D / Z( J4-2 ) ) - TAU -+ END IF -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4 ) ) -+ 70 CONTINUE -+ ELSE -+ DO 80 J4 = 4*I0, 4*( N0-3 ), 4 -+ Z( J4-3 ) = D + Z( J4 ) -+ IF( D.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) ) -+ D = Z( J4+2 )*( D / Z( J4-3 ) ) - TAU -+ END IF -+ IF( D.LT.DTHRESH ) D = ZERO -+ DMIN = MIN( DMIN, D ) -+ EMIN = MIN( EMIN, Z( J4-1 ) ) -+ 80 CONTINUE -+ END IF -+* -+* Unroll last two steps. -+* -+ DNM2 = D -+ DMIN2 = DMIN -+ J4 = 4*( N0-2 ) - PP -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM2 + Z( J4P2 ) -+ IF( DNM2.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DNM1 = Z( J4P2+2 )*( DNM2 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DNM1 ) -+* -+ DMIN1 = DMIN -+ J4 = J4 + 4 -+ J4P2 = J4 + 2*PP - 1 -+ Z( J4-2 ) = DNM1 + Z( J4P2 ) -+ IF( DNM1.LT.ZERO ) THEN -+ RETURN -+ ELSE -+ Z( J4 ) = Z( J4P2+2 )*( Z( J4P2 ) / Z( J4-2 ) ) -+ DN = Z( J4P2+2 )*( DNM1 / Z( J4-2 ) ) - TAU -+ END IF -+ DMIN = MIN( DMIN, DN ) -+* - END IF -- DMIN = MIN( DMIN, DN ) --* -+* - END IF --* - Z( J4+2 ) = DN - Z( 4*N0-PP ) = EMIN - RETURN -Index: SRC/slasq3.f -=================================================================== ---- SRC/slasq3.f (revision 1138) -+++ SRC/slasq3.f (revision 1139) -@@ -331,15 +331,15 @@ - * - 70 CONTINUE - * -- CALL SLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, -- $ DN1, DN2, IEEE ) -+ CALL SLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, -+ $ DN1, DN2, IEEE, EPS ) - * - NDIV = NDIV + ( N0-I0+2 ) - ITER = ITER + 1 - * - * Check status. - * -- IF( DMIN.GE.ZERO .AND. DMIN1.GT.ZERO ) THEN -+ IF( DMIN.GE.ZERO .AND. DMIN1.GE.ZERO ) THEN - * - * Success. - * diff --git a/math/lapack/files/patch-r1207 b/math/lapack/files/patch-r1207 deleted file mode 100644 index 549b6caf9eb1..000000000000 --- a/math/lapack/files/patch-r1207 +++ /dev/null @@ -1,11 +0,0 @@ ---- SRC/dgesvd.f 2011-11-12 04:34:11.000000000 +0900 -+++ SRC/dgesvd.f 2012-03-12 16:38:41.000000000 +0900 -@@ -477,7 +477,7 @@ - CALL DGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR ) - LWORK_DGELQF=DUM(1) - * Compute space needed for DORGLQ -- CALL DORGLQ( N, N, M, VT, LDVT, DUM(1), DUM(1), -1, IERR ) -+ CALL DORGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR ) - LWORK_DORGLQ_N=DUM(1) - CALL DORGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR ) - LWORK_DORGLQ_M=DUM(1) |