mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-11 07:22:22 +00:00
Update with many small following changes.
1. adding upstream patches and bump port revision. 2. adding precompiled man by default rather than building. 3. adding regression-test target, several tests fails, though. 4. prepare for xlapack and now blas is secondary port of this port. Submitted by: bf@
This commit is contained in:
parent
9837fc8fbd
commit
795bd78d81
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=289605
@ -5,136 +5,201 @@
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= lapack
|
||||
PORTNAME?= lapack
|
||||
PORTVERSION= 3.4.0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES= math
|
||||
MASTER_SITES= NL
|
||||
MASTER_SITE_SUBDIR= lapack
|
||||
EXTRACT_SUFX= .tgz
|
||||
MASTER_SITES= NL/lapack/ \
|
||||
http://service-spi.web.cern.ch/service-spi/external/tarFiles/
|
||||
DISTFILES= lapack-${PORTVERSION}.tgz
|
||||
.if make(makesum) || !(defined(BLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT))
|
||||
DISTFILES+= manpages-${PORTVERSION}.tgz
|
||||
.endif
|
||||
DIST_SUBDIR= lapack
|
||||
|
||||
MAINTAINER= maho@FreeBSD.org
|
||||
COMMENT= A library of Fortran 77 subroutines for linear algebra
|
||||
MAINTAINER?= maho@FreeBSD.org
|
||||
COMMENT?= A library of Fortran 77 subroutines for linear algebra
|
||||
|
||||
LICENSE= BSD
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
LIB_DEPENDS= blas.2:${PORTSDIR}/math/blas
|
||||
|
||||
USE_FORTRAN= yes
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
OPTIONS= PROFILE "Build and install profiling libraries" Off \
|
||||
DOXYGEN "Install Doxygen to build manpages" Off
|
||||
OPTIONS= PROFILE "Build profiling libraries" Off \
|
||||
SHARED "Build shared libraries and PIC archives" On \
|
||||
STATIC "Build (non-PIC) archives" On
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
MAKE_ENV= BLASLIB="${BLASLIB}"
|
||||
MAKE_JOBS_SAFE= yes
|
||||
PLIST_SUB= SVERSION="${SVERSION}"
|
||||
|
||||
.if defined(WITH_DOXYGEN)
|
||||
BUILD_DEPENDS+= doxygen:${PORTSDIR}/devel/doxygen
|
||||
WRKSRC = ${WRKDIR}/lapack-${PORTVERSION}
|
||||
WRKSRC_PROFILE = ${WRKSRC}_PROFILE
|
||||
WRKSRC_SHARED= ${WRKSRC}_SHARED
|
||||
WRKSRC_STATIC= ${WRKSRC}
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if defined(BLAS_SLAVEPORT)
|
||||
ALL_TARGET= blaslib
|
||||
BLASLIB= ../../libblas.a
|
||||
LIBS= blas
|
||||
PLIST_SUB+= BLAS="" LAPACK="@comment " XLAPACK="@comment "
|
||||
SVERSION= 2
|
||||
TEST_TARGET= blas_testing
|
||||
.else
|
||||
ALL_TARGET= lib
|
||||
BLASLIB?= -L${LOCALBASE}/lib -lblas
|
||||
LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
|
||||
LIBS= lapack tmglib
|
||||
SVERSION= 4
|
||||
TEST_TARGET= lapack_testing
|
||||
.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING)
|
||||
S= ${PYTHON_CMD}
|
||||
USE_PYTHON_BUILD= yes
|
||||
.else
|
||||
S= \#
|
||||
.endif
|
||||
.if defined(XLAPACK_SLAVEPORT)
|
||||
LIB_DEPENDS+= xblas.0:${PORTSDIR}/math/xblas
|
||||
MAKE_ENV+= USEXBLAS=yes XBLASLIB="${XBLASLIB}"
|
||||
P= x
|
||||
PLIST_SUB+= BLAS="@comment " LAPACK="@comment " XLAPACK=""
|
||||
XBLASLIB?= -L${LOCALBASE}/lib -lxblas
|
||||
.else
|
||||
PLIST_SUB+= BLAS="@comment " LAPACK="" XLAPACK="@comment "
|
||||
.if defined(MAINTAINER_MODE)
|
||||
BUILD_DEPENDS += doxygen:${PORTSDIR}/devel/doxygen
|
||||
MAN_TARGET= build-manpages
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if ${ARCH} == "sparc64"
|
||||
FPIC= -fPIC
|
||||
PICFLAG?= -fPIC
|
||||
.else
|
||||
FPIC= -fpic
|
||||
PICFLAG?= -fpic
|
||||
.endif
|
||||
|
||||
MAKE_JOBS_SAFE= yes
|
||||
WRKSRC_SHARED=${WRKSRC}_shared
|
||||
FFLAGS_SHARED=${FPIC}
|
||||
.if defined(WITH_PROFILE)
|
||||
.if defined(WITHOUT_PROFILE)
|
||||
IGNORE = you have defined both WITH_PROFILE and WITHOUT_PROFILE
|
||||
.elif !exists(/usr/lib/libc_p.a)
|
||||
FFLAGS_PROFILE?= -pg
|
||||
FFLAGS_SHARED ?= ${PICFLAG}
|
||||
|
||||
.if defined(WITH_PROFILE) && !exists(/usr/lib/libc_p.a)
|
||||
IGNORE= you have chosen WITH_PROFILE, but have not installed the\
|
||||
base system profiling libraries
|
||||
.endif
|
||||
WRKSRC_PROFILE=${WRKSRC}_profile
|
||||
FFLAGS_PROFILE=-pg
|
||||
PLIST_SUB+= PROFILE=""
|
||||
.else
|
||||
PLIST_SUB+= PROFILE="@comment "
|
||||
|
||||
.if defined(WITH_SHARED)
|
||||
USE_LDCONFIG= yes
|
||||
.endif
|
||||
|
||||
SVERSION=4
|
||||
BLAS?= -L${LOCALBASE}/lib -lblas
|
||||
|
||||
.if !defined(WITH_DOXYGEN)
|
||||
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} manpages-3.2.0.tgz
|
||||
MANSRC= ${WRKDIR}/lapack-3.2.0/manpages/man/manl
|
||||
.include "${FILESDIR}/manpages"
|
||||
MANL= ${LAPACK_MAN}
|
||||
MANDIR= ${PREFIX}/man/manl
|
||||
.for o in PROFILE SHARED STATIC
|
||||
.if defined(WITH_${o})
|
||||
PLIST_SUB+= ${o}=""
|
||||
.else
|
||||
.include "${FILESDIR}/manpages_doxygen"
|
||||
MANSRC= ${WRKSRC}/DOCS/man/man3
|
||||
MAN3= ${LAPACK_MAN}
|
||||
MANDIR= ${PREFIX}/man/man3
|
||||
PLIST_SUB+= ${o}="@comment "
|
||||
.endif
|
||||
|
||||
pre-fetch:
|
||||
@${ECHO} "You can override F77 and FFLAGS on the command line."
|
||||
.endfor
|
||||
|
||||
post-patch:
|
||||
@${MV} ${WRKSRC}/INSTALL/make.inc.gfortran ${WRKSRC}/make.inc
|
||||
${REINPLACE_CMD} -Ee \
|
||||
's,\( *cd ([^ ;]+) *; *\$$\(MAKE\) *([[:alnum:]]*) *\),${MAKE} -C \1 ${_MAKE_JOBS} \2,' \
|
||||
@${SED} -Ee '\
|
||||
s@^(FORTRAN|LOADER)([[:blank:]]*=)(.*)@\1\2 $${FC}@; \
|
||||
s@^(OPTS[[:blank:]]*=)(.*)@\1 $${FFLAGS} $${EXTRAFLAGS}@; \
|
||||
s@^NOOPT[[:blank:]]*=.*@& $${EXTRAFLAGS}@; \
|
||||
s@^(LOADOPTS[[:blank:]]*=)(.*)@\1 $${LDFLAGS} $${EXTRAFLAGS}@; \
|
||||
\@(BLAS|RAN)LIB[[:blank:]]*=@d;' \
|
||||
${WRKSRC}/make.inc.example > ${WRKSRC}/make.inc
|
||||
@${REINPLACE_CMD} -e 's@\./lapack_testing\.py@${S} &@' \
|
||||
${WRKSRC}/Makefile
|
||||
${REINPLACE_CMD} -Ee \
|
||||
's,cd ([^ ;]+) *; *\$$\(MAKE\) *([[:alnum:]]*) *,${MAKE} -C \1 ${_MAKE_JOBS} \2,' \
|
||||
${WRKSRC}/TESTING/Makefile
|
||||
@${REINPLACE_CMD} -e 's;%%F77%%;${F77};g' \
|
||||
-e 's;%%FFLAGS%%;${FFLAGS};g' \
|
||||
-e 's;%%LDFLAGS%%;${LDFLAGS};g' \
|
||||
-e 's;%%RANLIB%%;${RANLIB};g' \
|
||||
-e 's;%%BLAS%%;${BLAS};g' \
|
||||
${WRKSRC}/make.inc
|
||||
@${CP} -r ${WRKSRC} ${WRKSRC_SHARED}
|
||||
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
|
||||
@${CP} -r ${WRKSRC} ${WRKSRC_PROFILE}
|
||||
.endif
|
||||
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,,g' \
|
||||
${WRKSRC}/make.inc
|
||||
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_SHARED},g' \
|
||||
${WRKSRC_SHARED}/make.inc
|
||||
.if defined(WITH_PROFILE)
|
||||
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_PROFILE},g' \
|
||||
${WRKSRC_PROFILE}/make.inc
|
||||
.for o in PROFILE SHARED
|
||||
.if defined(WITH_${o})
|
||||
@${CP} -a ${WRKSRC} ${WRKSRC_${o}}
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
do-build: ${MAN_TARGET} build-profile build-shared build-static
|
||||
|
||||
.for o in PROFILE SHARED STATIC
|
||||
build-${o:L}: patch
|
||||
.if defined(WITH_${o})
|
||||
${PRINTF} "\n\nBuilding ${o:L} libraries:\n\n\n"
|
||||
cd ${WRKSRC_${o}}; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FFLAGS_${o}}" \
|
||||
${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" ${ALL_TARGET}
|
||||
|
||||
do-build:
|
||||
@${ECHO_CMD} "Building static lapack library"
|
||||
${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
|
||||
@${ECHO_CMD} "Building shared lapack library"
|
||||
${MAKE} -C ${WRKSRC_SHARED} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
|
||||
.if defined(WITH_PROFILE)
|
||||
@${ECHO_CMD} "Building profile lapack library"
|
||||
${MAKE} -C ${WRKSRC_PROFILE} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
|
||||
.endif
|
||||
.if defined(WITH_DOXYGEN)
|
||||
${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}" man
|
||||
.endfor
|
||||
|
||||
.if defined (MAINTAINER_MODE)
|
||||
build-manpages: patch
|
||||
@cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
|
||||
${MAKE_ARGS} man
|
||||
|
||||
.endif
|
||||
|
||||
post-build:
|
||||
.for lib in lapack tmglib
|
||||
.if defined(WITH_SHARED)
|
||||
.for L in ${LIBS}
|
||||
cd ${WRKSRC_SHARED} ; ${FC} ${FFLAGS} ${FFLAGS_SHARED} ${LDFLAGS} -shared \
|
||||
-o lib${lib}.so.${SVERSION} -Wl,-x -Wl,-soname,lib${lib}.so.${SVERSION} \
|
||||
-Wl,--whole-archive lib${lib}.a -Wl,--no-whole-archive
|
||||
-o lib${P}${L}.so.${SVERSION} -Wl,-x -Wl,-soname,lib${P}${L}.so.${SVERSION} \
|
||||
-Wl,--whole-archive lib${L}.a -Wl,--no-whole-archive
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SHARED)
|
||||
TESTS ?= test-shared
|
||||
.elif defined(WITH_STATIC)
|
||||
TESTS ?= test-static
|
||||
.elif defined(WITH_PROFILE)
|
||||
TESTS ?= test-profile
|
||||
.endif
|
||||
|
||||
check regression-test test: ${TESTS}
|
||||
|
||||
.for o in PROFILE SHARED STATIC
|
||||
test-${o:L}: build-${o:L}
|
||||
.if defined(WITH_${o})
|
||||
@${PRINTF} "\n\nTesting ${o:L} libraries:\n\n\n"
|
||||
@cd ${WRKSRC_${o}}; ${SETENV} ${MAKE_ENV} EXTRAFLAGS="${FFLAGS_${o}}" \
|
||||
${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" ${TEST_TARGET}
|
||||
.if defined(BLAS_SLAVEPORT)
|
||||
@${CAT} ${WRKSRC_${o}}/BLAS/*.out
|
||||
.endif
|
||||
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
do-install:
|
||||
.for lib in lapack tmglib
|
||||
${INSTALL_DATA} ${WRKSRC}/lib${lib}.a ${PREFIX}/lib
|
||||
${INSTALL_DATA} ${WRKSRC_SHARED}/lib${lib}.so.${SVERSION} ${PREFIX}/lib
|
||||
${LN} -sf lib${lib}.so.${SVERSION} ${PREFIX}/lib/lib${lib}.so
|
||||
.for L in ${LIBS}
|
||||
.if defined(WITH_STATIC)
|
||||
@${INSTALL_DATA} ${WRKSRC}/lib${L}.a ${PREFIX}/lib/lib${P}${L}.a
|
||||
.endif
|
||||
.if defined(WITH_SHARED)
|
||||
@${INSTALL_DATA} ${WRKSRC_SHARED}/lib${L}.a ${PREFIX}/lib/lib${P}${L}_pic.a
|
||||
@${INSTALL_DATA} ${WRKSRC_SHARED}/lib${P}${L}.so.${SVERSION} ${PREFIX}/lib
|
||||
@${LN} -sf lib${P}${L}.so.${SVERSION} ${PREFIX}/lib/lib${P}${L}.so
|
||||
.endif
|
||||
.if defined(WITH_PROFILE)
|
||||
${INSTALL_DATA} ${WRKSRC_PROFILE}/lib${lib}.a ${PREFIX}/lib/lib${lib}_p.a
|
||||
@${INSTALL_DATA} ${WRKSRC_PROFILE}/lib${L}.a ${PREFIX}/lib/lib${P}${L}_p.a
|
||||
.endif
|
||||
.endfor
|
||||
@(cd ${MANSRC} && ${INSTALL_MAN} ${LAPACK_MAN} ${MANDIR})
|
||||
|
||||
regression-test check test: build
|
||||
@${ECHO_CMD} "Testing static lapack library"
|
||||
${MAKE} -C ${WRKSRC}/TESTING ${.MAKEFLAGS} ARCH="${AR}"
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if !(defined(BLAS_SLAVEPORT) || defined(XLAPACK_SLAVEPORT))
|
||||
|
||||
.include "${FILESDIR}/manpages"
|
||||
|
||||
post-install:
|
||||
@cd ${WRKDIR}/man ; ${ECHO_CMD} ${MAN3:S|^|man3/|} \
|
||||
| ${XARGS} -J @ ${INSTALL_MAN} @ ${MAN3PREFIX}/man/man3
|
||||
|
||||
.if defined(MAINTAINER_MODE)
|
||||
package-manpages: build-manpages
|
||||
@${RM} -f ${WRKDIR}/lapack-manpages-${PORTVERSION}.tar.gz ; \
|
||||
cd ${WRKSRC}/DOCS/man; \
|
||||
${TAR} -czvf ${WRKDIR}/lapack-manpages-${PORTVERSION}.tar.gz \
|
||||
${MAN3:S|^|man3/|}
|
||||
|
||||
.endif
|
||||
.endif
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -1,4 +1,4 @@
|
||||
SHA256 (lapack/lapack-3.4.0.tgz) = a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9
|
||||
SIZE (lapack/lapack-3.4.0.tgz) = 6127787
|
||||
SHA256 (lapack/manpages-3.2.0.tgz) = cac234e597f2b9388bf3d3c0549b8a56bf3867c6c554d844bb839039973861f6
|
||||
SIZE (lapack/manpages-3.2.0.tgz) = 1016997
|
||||
SHA256 (lapack/manpages-3.4.0.tgz) = 92fc029d5a43c5120cb122bef2a1209eddce20c6e20c9d71f056a40a5ef94c2c
|
||||
SIZE (lapack/manpages-3.4.0.tgz) = 1349045
|
||||
|
File diff suppressed because it is too large
Load Diff
252
math/lapack/files/patch-r1128
Normal file
252
math/lapack/files/patch-r1128
Normal file
@ -0,0 +1,252 @@
|
||||
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 ) /
|
239
math/lapack/files/patch-r1136
Normal file
239
math/lapack/files/patch-r1136
Normal file
@ -0,0 +1,239 @@
|
||||
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
|
81
math/lapack/files/patch-r1138
Normal file
81
math/lapack/files/patch-r1138
Normal file
@ -0,0 +1,81 @@
|
||||
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 )
|
394
math/lapack/files/patch-r1139
Normal file
394
math/lapack/files/patch-r1139
Normal file
@ -0,0 +1,394 @@
|
||||
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.
|
||||
*
|
@ -3,7 +3,8 @@ the most commonly occurring problems in numerical linear algebra.
|
||||
It is freely-available software, and is copyrighted.
|
||||
We recommend that you run the testing and timing programs.
|
||||
|
||||
To view an HTML version of the Users' Guide please refer to the URL
|
||||
http://www.netlib.org/lapack/lug/lapack_lug.html.
|
||||
To view an HTML version of the Users' Guide please refer to the URL:
|
||||
|
||||
http://www.netlib.org/lapack/lug/
|
||||
|
||||
WWW: http://www.netlib.org/lapack/
|
||||
|
@ -1,8 +1,25 @@
|
||||
lib/liblapack.a
|
||||
lib/liblapack.so
|
||||
lib/liblapack.so.4
|
||||
%%PROFILE%%lib/liblapack_p.a
|
||||
lib/libtmglib.a
|
||||
lib/libtmglib.so
|
||||
lib/libtmglib.so.4
|
||||
%%PROFILE%%lib/libtmglib_p.a
|
||||
%%BLAS%%%%STATIC%%lib/libblas.a
|
||||
%%BLAS%%%%SHARED%%lib/libblas_pic.a
|
||||
%%BLAS%%%%SHARED%%lib/libblas.so
|
||||
%%BLAS%%%%SHARED%%lib/libblas.so.%%SVERSION%%
|
||||
%%BLAS%%%%PROFILE%%lib/libblas_p.a
|
||||
%%LAPACK%%%%STATIC%%lib/liblapack.a
|
||||
%%LAPACK%%%%SHARED%%lib/liblapack_pic.a
|
||||
%%LAPACK%%%%SHARED%%lib/liblapack.so
|
||||
%%LAPACK%%%%SHARED%%lib/liblapack.so.%%SVERSION%%
|
||||
%%LAPACK%%%%PROFILE%%lib/liblapack_p.a
|
||||
%%LAPACK%%%%STATIC%%lib/libtmglib.a
|
||||
%%LAPACK%%%%SHARED%%lib/libtmglib_pic.a
|
||||
%%LAPACK%%%%SHARED%%lib/libtmglib.so
|
||||
%%LAPACK%%%%SHARED%%lib/libtmglib.so.%%SVERSION%%
|
||||
%%LAPACK%%%%PROFILE%%lib/libtmglib_p.a
|
||||
%%XLAPACK%%%%STATIC%%lib/libxlapack.a
|
||||
%%XLAPACK%%%%SHARED%%lib/libxlapack_pic.a
|
||||
%%XLAPACK%%%%SHARED%%lib/libxlapack.so
|
||||
%%XLAPACK%%%%SHARED%%lib/libxlapack.so.%%SVERSION%%
|
||||
%%XLAPACK%%%%PROFILE%%lib/libxlapack_p.a
|
||||
%%XLAPACK%%%%STATIC%%lib/libxtmglib.a
|
||||
%%XLAPACK%%%%SHARED%%lib/libxtmglib_pic.a
|
||||
%%XLAPACK%%%%SHARED%%lib/libxtmglib.so
|
||||
%%XLAPACK%%%%SHARED%%lib/libxtmglib.so.%%SVERSION%%
|
||||
%%XLAPACK%%%%PROFILE%%lib/libxtmglib_p.a
|
||||
|
Loading…
Reference in New Issue
Block a user