RHEL 9.0.0 Alpha bootstrap

The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/lapack#2410ec56df8810835d4c00d6692453a2854694f1
This commit is contained in:
Petr Šabata 2020-10-15 15:08:47 +02:00
parent 88ca53e183
commit 94f7c34f5a
30 changed files with 31619 additions and 0 deletions

14
.gitignore vendored
View File

@ -0,0 +1,14 @@
lapack-3.2.1.tgz
manpages.tgz
lapack-3.2.2.tgz
/lapack-3.3.1.tgz
/lapack-3.4.0.tgz
/lapack-3.4.1.tgz
/lapack-3.4.2.tgz
/lapack-3.4.2-clean.tgz
/lapack-3.5.0.tgz
/lapack-3.6.0.tgz
/lapack-3.6.1.tgz
/lapack-3.7.1.tgz
/lapack-3.8.0.tar.gz
/v3.9.0.tar.gz

View File

@ -0,0 +1,138 @@
From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@debian.org>
Date: Sat, 23 Nov 2019 12:22:20 +0100
Subject: [PATCH] Restore missing prototypes for deprecated LAPACK functions
Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a
consequence, LAPACKE has several unresolved symbols.
Closes #365
---
LAPACKE/include/lapack.h | 100 +++++++++++++++++++++++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h
index 3f425325f..5c131d844 100644
--- a/LAPACKE/include/lapack.h
+++ b/LAPACKE/include/lapack.h
@@ -1842,6 +1842,28 @@ void LAPACK_zgeqlf(
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* info );
+#define LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF)
+void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda,
+ lapack_int* jpvt, float* tau, float* work,
+ lapack_int *info );
+
+#define LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF)
+void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda,
+ lapack_int* jpvt, double* tau, double* work,
+ lapack_int *info );
+
+#define LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF)
+void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a,
+ lapack_int* lda, lapack_int* jpvt,
+ lapack_complex_float* tau, lapack_complex_float* work,
+ float* rwork, lapack_int *info );
+
+#define LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF)
+void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a,
+ lapack_int* lda, lapack_int* jpvt,
+ lapack_complex_double* tau, lapack_complex_double* work,
+ double* rwork, lapack_int *info );
+
#define LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3)
void LAPACK_cgeqp3(
lapack_int const* m, lapack_int const* n,
@@ -3617,6 +3639,47 @@ void LAPACK_zggrqf(
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* info );
+#define LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD)
+lapack_int LAPACKE_sggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l, float* a,
+ lapack_int lda, float* b, lapack_int ldb,
+ float* alpha, float* beta, float* u, lapack_int ldu,
+ float* v, lapack_int ldv, float* q, lapack_int ldq,
+ lapack_int* iwork );
+
+#define LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD)
+lapack_int LAPACKE_dggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l, double* a,
+ lapack_int lda, double* b, lapack_int ldb,
+ double* alpha, double* beta, double* u,
+ lapack_int ldu, double* v, lapack_int ldv, double* q,
+ lapack_int ldq, lapack_int* iwork );
+
+#define LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD)
+lapack_int LAPACKE_cggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l,
+ lapack_complex_float* a, lapack_int lda,
+ lapack_complex_float* b, lapack_int ldb,
+ float* alpha, float* beta, lapack_complex_float* u,
+ lapack_int ldu, lapack_complex_float* v,
+ lapack_int ldv, lapack_complex_float* q,
+ lapack_int ldq, lapack_int* iwork );
+
+#define LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD)
+lapack_int LAPACKE_zggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l,
+ lapack_complex_double* a, lapack_int lda,
+ lapack_complex_double* b, lapack_int ldb,
+ double* alpha, double* beta,
+ lapack_complex_double* u, lapack_int ldu,
+ lapack_complex_double* v, lapack_int ldv,
+ lapack_complex_double* q, lapack_int ldq,
+ lapack_int* iwork );
+
#define LAPACK_cggsvd3 LAPACK_GLOBAL(cggsvd3,CGGSVD3)
void LAPACK_cggsvd3(
char const* jobu, char const* jobv, char const* jobq,
@@ -3679,6 +3742,43 @@ void LAPACK_zggsvd3(
lapack_int* iwork,
lapack_int* info );
+#define LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP)
+lapack_int LAPACKE_sggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n, float* a,
+ lapack_int lda, float* b, lapack_int ldb, float tola,
+ float tolb, lapack_int* k, lapack_int* l, float* u,
+ lapack_int ldu, float* v, lapack_int ldv, float* q,
+ lapack_int ldq );
+
+#define LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP)
+lapack_int LAPACKE_dggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n, double* a,
+ lapack_int lda, double* b, lapack_int ldb,
+ double tola, double tolb, lapack_int* k,
+ lapack_int* l, double* u, lapack_int ldu, double* v,
+ lapack_int ldv, double* q, lapack_int ldq );
+
+#define LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP)
+lapack_int LAPACKE_cggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n,
+ lapack_complex_float* a, lapack_int lda,
+ lapack_complex_float* b, lapack_int ldb, float tola,
+ float tolb, lapack_int* k, lapack_int* l,
+ lapack_complex_float* u, lapack_int ldu,
+ lapack_complex_float* v, lapack_int ldv,
+ lapack_complex_float* q, lapack_int ldq );
+
+#define LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP)
+lapack_int LAPACKE_zggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n,
+ lapack_complex_double* a, lapack_int lda,
+ lapack_complex_double* b, lapack_int ldb,
+ double tola, double tolb, lapack_int* k,
+ lapack_int* l, lapack_complex_double* u,
+ lapack_int ldu, lapack_complex_double* v,
+ lapack_int ldv, lapack_complex_double* q,
+ lapack_int ldq );
+
#define LAPACK_cggsvp3 LAPACK_GLOBAL(cggsvp3,CGGSVP3)
void LAPACK_cggsvp3(
char const* jobu, char const* jobv, char const* jobq,

84
Makefile.blas Normal file
View File

@ -0,0 +1,84 @@
OBJCOPY = objcopy
ifndef SYMBOLSUFFIX
SYMBOLSUFFIX =
endif
clean:
rm -f *.o libblas.a libblas.so*
SBLAS1= isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
CBLAS1= scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
DBLAS1= idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
ZBLAS1= dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
CB1AUX= isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
ZB1AUX= idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
ALLBLAS=lsame.o xerbla.o xerbla_array.o
SBLAS2= sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
sger.o ssyr.o sspr.o ssyr2.o sspr2.o
CBLAS2= cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
DBLAS2= dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
dger.o dsyr.o dspr.o dsyr2.o dspr2.o
ZBLAS2= zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o \
SBLAS3= sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o
CBLAS3= cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
chemm.o cherk.o cher2k.o
DBLAS3= dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
ZBLAS3= zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
zhemm.o zherk.o zher2k.o
OBJS= $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) $(ZBLAS2) $(ZBLAS3) \
$(ALLBLAS)
static: $(OBJS)
ifeq "$(SYMBOLSUFFIX)" ""
ar ruv libblas.a $(OBJS)
ranlib libblas.a
else
ar ruv libblas$(SYMBOLSUFFIX).a $(OBJS)
ranlib libblas$(SYMBOLSUFFIX).a
for i in `nm libblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
sort -n blas-static-prefix.def.dirty | uniq > blas-static-prefix.def
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLSUFFIX).a libblas$(SYMBOLSUFFIX).a.fixed
rm -rf libblas$(SYMBOLSUFFIX).a
mv libblas$(SYMBOLSUFFIX).a.fixed libblas$(SYMBOLSUFFIX).a
endif
shared: $(OBJS)
ifeq "$(SYMBOLSUFFIX)" ""
# No renaming needed
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
else
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
for i in `readelf -Ws libblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
sort -n blas-prefix.def.dirty | uniq > blas-prefix.def
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLSUFFIX).so.@LONGVER@ libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
rm -rf libblas$(SYMBOLSUFFIX).so.@LONGVER@
mv libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libblas$(SYMBOLSUFFIX).so.@LONGVER@
endif

99
Makefile.cblas Normal file
View File

@ -0,0 +1,99 @@
OBJCOPY = objcopy
ifndef SYMBOLSUFFIX
SYMBOLSUFFIX =
endif
clean:
rm -f *.o libcblas.a libcblas.so*
ERRHAND= cblas_globals.o cblas_xerbla.o xerbla.o
SLEV1= cblas_srotg.o cblas_srotmg.o cblas_srot.o cblas_srotm.o \
cblas_sswap.o cblas_sscal.o cblas_scopy.o cblas_saxpy.o \
cblas_sdot.o cblas_sdsdot.o cblas_snrm2.o cblas_sasum.o \
cblas_isamax.o sdotsub.o sdsdotsub.o snrm2sub.o sasumsub.o \
isamaxsub.o
DLEV1= cblas_drotg.o cblas_drotmg.o cblas_drot.o cblas_drotm.o \
cblas_dswap.o cblas_dscal.o cblas_dcopy.o cblas_daxpy.o \
cblas_ddot.o cblas_dsdot.o cblas_dnrm2.o cblas_dasum.o \
cblas_idamax.o ddotsub.f dsdotsub.o dnrm2sub.o \
dasumsub.o idamaxsub.o
CLEV1= cblas_cswap.o cblas_cscal.o cblas_csscal.o cblas_ccopy.o \
cblas_caxpy.o cblas_cdotu_sub.o cblas_cdotc_sub.o \
cblas_icamax.o cdotcsub.o cdotusub.o icamaxsub.o
ZLEV1= cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \
cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \
cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \
dzasumsub.o dznrm2sub.o izamaxsub.o
SCLEV1= cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o
SLEV2= cblas_sgemv.o cblas_sgbmv.o cblas_sger.o cblas_ssbmv.o cblas_sspmv.o \
cblas_sspr.o cblas_sspr2.o cblas_ssymv.o cblas_ssyr.o cblas_ssyr2.o \
cblas_stbmv.o cblas_stbsv.o cblas_stpmv.o cblas_stpsv.o cblas_strmv.o \
cblas_strsv.o
DLEV2= cblas_dgemv.o cblas_dgbmv.o cblas_dger.o cblas_dsbmv.o cblas_dspmv.o \
cblas_dspr.o cblas_dspr2.o cblas_dsymv.o cblas_dsyr.o cblas_dsyr2.o \
cblas_dtbmv.o cblas_dtbsv.o cblas_dtpmv.o cblas_dtpsv.o cblas_dtrmv.o \
cblas_dtrsv.o
CLEV2= cblas_cgemv.o cblas_cgbmv.o cblas_chemv.o cblas_chbmv.o cblas_chpmv.o \
cblas_ctrmv.o cblas_ctbmv.o cblas_ctpmv.o cblas_ctrsv.o cblas_ctbsv.o \
cblas_ctpsv.o cblas_cgeru.o cblas_cgerc.o cblas_cher.o cblas_cher2.o \
cblas_chpr.o cblas_chpr2.o
ZLEV2= cblas_zgemv.o cblas_zgbmv.o cblas_zhemv.o cblas_zhbmv.o cblas_zhpmv.o \
cblas_ztrmv.o cblas_ztbmv.o cblas_ztpmv.o cblas_ztrsv.o cblas_ztbsv.o \
cblas_ztpsv.o cblas_zgeru.o cblas_zgerc.o cblas_zher.o cblas_zher2.o \
cblas_zhpr.o cblas_zhpr2.o
SLEV3= cblas_sgemm.o cblas_ssymm.o cblas_ssyrk.o cblas_ssyr2k.o cblas_strmm.o \
cblas_strsm.o
DLEV3= cblas_dgemm.o cblas_dsymm.o cblas_dsyrk.o cblas_dsyr2k.o cblas_dtrmm.o \
cblas_dtrsm.o
CLEV3= cblas_cgemm.o cblas_csymm.o cblas_chemm.o cblas_cherk.o \
cblas_cher2k.o cblas_ctrmm.o cblas_ctrsm.o cblas_csyrk.o \
cblas_csyr2k.o
ZLEV3= cblas_zgemm.o cblas_zsymm.o cblas_zhemm.o cblas_zherk.o \
cblas_zher2k.o cblas_ztrmm.o cblas_ztrsm.o cblas_zsyrk.o \
cblas_zsyr2k.o
OBJS= $(SLEV1) $(DLEV1) $(CLEV1) $(ZLEV1) $(SCLEV1) $(SLEV2) $(DLEV2) $(CLEV2) \
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
static: $(OBJS)
ifeq "$(SYMBOLSUFFIX)" ""
ar ruv libcblas.a $(OBJS)
ranlib libcblas.a
else
ar ruv libcblas$(SYMBOLSUFFIX).a $(OBJS)
ranlib libcblas$(SYMBOLSUFFIX).a
for i in `nm libcblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
sort -n cblas-static-prefix.def.dirty | uniq > cblas-static-prefix.def
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLSUFFIX).a libcblas$(SYMBOLSUFFIX).a.fixed
rm -rf libcblas$(SYMBOLSUFFIX).a
mv libcblas$(SYMBOLSUFFIX).a.fixed libcblas$(SYMBOLSUFFIX).a
endif
shared: $(OBJS)
ifeq "$(SYMBOLSUFFIX)" ""
# No renaming needed
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
else
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libcblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
for i in `readelf -Ws libcblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
sort -n cblas-prefix.def.dirty | uniq > cblas-prefix.def
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLSUFFIX).so.@LONGVER@ libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
rm -rf libcblas$(SYMBOLSUFFIX).so.@LONGVER@
mv libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libcblas$(SYMBOLSUFFIX).so.@LONGVER@
endif

478
Makefile.lapack Normal file
View File

@ -0,0 +1,478 @@
include ../make.inc
OBJCOPY = objcopy
ifndef SYMBOLSUFFIX
SYMBOLSUFFIX =
endif
clean:
rm -f *.o liblapack* DEPRECATED/*.o
SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
sgels.o sgelsd.o sgelss.o sgelsy.o sgeql2.o sgeqlf.o \
sgeqp3.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o sgerq2.o sgerqf.o \
sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvdx.o sgesvx.o sgetc2.o sgetf2.o \
sgetrf2.o sgetri.o \
sggbak.o sggbal.o \
sgges.o sgges3.o sggesx.o sggev.o sggev3.o sggevx.o \
sggglm.o sgghrd.o sgghd3.o sgglse.o sggqrf.o \
sggrqf.o sggsvd3.o sggsvp3.o sgtcon.o sgtrfs.o sgtsv.o \
sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
slansy.o slantb.o slantp.o slantr.o slanv2.o \
slapll.o slapmt.o \
slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \
slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \
slaqtr.o slar1v.o slar2v.o ilaslr.o ilaslc.o \
slarf.o slarfb.o slarfg.o slarfgp.o slarft.o slarfx.o slarfy.o slargv.o \
slarrv.o slartv.o \
slarz.o slarzb.o slarzt.o slaswp.o slasy2.o \
slasyf.o slasyf_rook.o slasyf_rk.o slasyf_aa.o \
slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o \
slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
sorgrq.o sorgtr.o sorgtsqr.o sorm2l.o sorm2r.o sorm22.o \
sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
spbstf.o spbsv.o spbsvx.o \
spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
sposvx.o spotf2.o spotrf2.o spotri.o spstrf.o spstf2.o \
sppcon.o sppequ.o \
spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \
ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \
sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \
ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \
sstevx.o ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \
ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \
ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytri2.o ssytri2x.o \
ssyswapr.o ssytrs.o ssytrs2.o \
ssyconv.o ssyconvf.o ssyconvf_rook.o \
ssytf2_rook.o ssytrf_rook.o ssytrs_rook.o \
ssytri_rook.o ssycon_rook.o ssysv_rook.o \
ssytf2_rk.o ssytrf_rk.o ssytrs_3.o \
ssytri_3.o ssytri_3x.o ssycon_3.o ssysv_rk.o \
ssysv_aa.o ssytrf_aa.o ssytrs_aa.o \
ssysv_aa_2stage.o ssytrf_aa_2stage.o ssytrs_aa_2stage.o \
stbcon.o \
stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
stptrs.o \
strcon.o strevc.o strevc3.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \
strti2.o strtri.o strtrs.o stzrzf.o sstemr.o \
slansf.o spftrf.o spftri.o spftrs.o ssfrk.o stfsm.o stftri.o stfttp.o \
stfttr.o stpttf.o stpttr.o strttf.o strttp.o \
sgejsv.o sgesvj.o sgsvj0.o sgsvj1.o \
sgeequb.o ssyequb.o spoequb.o sgbequb.o \
sbbcsd.o slapmr.o sorbdb.o sorbdb1.o sorbdb2.o sorbdb3.o sorbdb4.o \
sorbdb5.o sorbdb6.o sorcsd.o sorcsd2by1.o \
sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \
stpqrt.o stpqrt2.o stpmqrt.o stprfb.o \
sgelqt.o sgelqt3.o sgemlqt.o \
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
sgelq.o slaswlq.o slamswlq.o sgemlq.o \
stplqt.o stplqt2.o stpmlqt.o \
sorhr_col.o slaorhr_col_getrfnp.o slaorhr_col_getrfnp2.o \
ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \
ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.o \
ssbev_2stage.o ssbevx_2stage.o ssbevd_2stage.o ssygv_2stage.o \
sgesvdq.o scombssq.o \
DEPRECATED/sgegs.o DEPRECATED/sgegv.o DEPRECATED/sgeqpf.o DEPRECATED/sgelsx.o \
DEPRECATED/sggsvd.o DEPRECATED/sggsvp.o DEPRECATED/slahrd.o DEPRECATED/slatzm.o \
DEPRECATED/stzrqf.o
DSLASRC = spotrs.o sgetrs.o spotrf.o sgetrf.o
CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
cgels.o cgelsd.o cgelss.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o cgerq2.o cgerqf.o \
cgesc2.o cgesdd.o cgesv.o cgesvd.o cgesvdx.o \
cgesvj.o cgejsv.o cgsvj0.o cgsvj1.o \
cgesvx.o cgetc2.o cgetf2.o cgetrf2.o \
cgetri.o \
cggbak.o cggbal.o \
cgges.o cgges3.o cggesx.o cggev.o cggev3.o cggevx.o \
cggglm.o cgghrd.o cgghd3.o cgglse.o cggqrf.o cggrqf.o \
cggsvd3.o cggsvp3.o \
cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \
chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \
checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \
chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \
chetf2.o chetrd.o \
chetrf.o chetri.o chetri2.o chetri2x.o cheswapr.o \
chetrs.o chetrs2.o \
chetf2_rook.o chetrf_rook.o chetri_rook.o \
chetrs_rook.o checon_rook.o chesv_rook.o \
chetf2_rk.o chetrf_rk.o chetri_3.o chetri_3x.o \
chetrs_3.o checon_3.o chesv_rk.o \
chesv_aa.o chetrf_aa.o chetrs_aa.o \
chesv_aa_2stage.o chetrf_aa_2stage.o chetrs_aa_2stage.o \
chgeqz.o chpcon.o chpev.o chpevd.o \
chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
chpsvx.o \
chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \
clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
claed0.o claed7.o claed8.o \
claein.o claesy.o claev2.o clags2.o clagtm.o \
clahef.o clahef_rook.o clahef_rk.o clahef_aa.o clahqr.o \
clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
clanhb.o clanhe.o \
clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \
claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \
claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \
claqsp.o claqsy.o clar1v.o clar2v.o ilaclr.o ilaclc.o \
clarf.o clarfb.o clarfg.o clarfgp.o clarft.o \
clarfx.o clarfy.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \
clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \
claswp.o clasyf.o clasyf_rook.o clasyf_rk.o clasyf_aa.o \
clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
cposv.o cposvx.o cpotf2.o cpotrf2.o cpotri.o cpstrf.o cpstf2.o \
cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
cstegr.o cstein.o csteqr.o csycon.o csymv.o \
csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o \
csytri2.o csytri2x.o csyswapr.o \
csytrs.o csytrs2.o \
csyconv.o csyconvf.o csyconvf_rook.o \
csytf2_rook.o csytrf_rook.o csytrs_rook.o \
csytri_rook.o csycon_rook.o csysv_rook.o \
csytf2_rk.o csytrf_rk.o csytrf_aa.o csytrs_3.o csytrs_aa.o \
csytri_3.o csytri_3x.o csycon_3.o csysv_rk.o csysv_aa.o \
csysv_aa_2stage.o csytrf_aa_2stage.o csytrs_aa_2stage.o \
ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
ctprfs.o ctptri.o \
ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrzf.o cung2l.o cung2r.o \
cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
cungrq.o cungtr.o cungtsqr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \
cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
ctfttr.o ctpttf.o ctpttr.o ctrttf.o ctrttp.o \
cgeequb.o cgbequb.o csyequb.o cpoequb.o cheequb.o \
cbbcsd.o clapmr.o cunbdb.o cunbdb1.o cunbdb2.o cunbdb3.o cunbdb4.o \
cunbdb5.o cunbdb6.o cuncsd.o cuncsd2by1.o \
cgeqrt.o cgeqrt2.o cgeqrt3.o cgemqrt.o \
ctpqrt.o ctpqrt2.o ctpmqrt.o ctprfb.o \
cgelqt.o cgelqt3.o cgemlqt.o \
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
cgelq.o claswlq.o clamswlq.o cgemlq.o \
ctplqt.o ctplqt2.o ctpmlqt.o \
cunhr_col.o claunhr_col_getrfnp.o claunhr_col_getrfnp2.o \
chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \
cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.o \
chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o \
cgesvdq.o \
DEPRECATED/cgegs.o DEPRECATED/cgegv.o \
DEPRECATED/cgeqpf.o DEPRECATED/cgelsx.o DEPRECATED/cggsvd.o \
DEPRECATED/cggsvp.o DEPRECATED/clahrd.o DEPRECATED/clatzm.o DEPRECATED/ctzrqf.o
DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
dgels.o dgelsd.o dgelss.o dgelsy.o dgeql2.o dgeqlf.o \
dgeqp3.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o dgerq2.o dgerqf.o \
dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvdx.o dgesvx.o dgetc2.o dgetf2.o \
dgetrf.o dgetrf2.o dgetri.o \
dgetrs.o dggbak.o dggbal.o \
dgges.o dgges3.o dggesx.o dggev.o dggev3.o dggevx.o \
dggglm.o dgghrd.o dgghd3.o dgglse.o dggqrf.o \
dggrqf.o dggsvd3.o dggsvp3.o dgtcon.o dgtrfs.o dgtsv.o \
dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
dlapll.o dlapmt.o \
dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \
dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \
dlaqtr.o dlar1v.o dlar2v.o iladlr.o iladlc.o \
dlarf.o dlarfb.o dlarfg.o dlarfgp.o dlarft.o dlarfx.o dlarfy.o \
dlargv.o dlarrv.o dlartv.o \
dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o \
dlasyf.o dlasyf_rook.o dlasyf_rk.o dlasyf_aa.o \
dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.o \
dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
dorgrq.o dorgtr.o dorgtsqr.o dorm2l.o dorm2r.o dorm22.o \
dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
dpbstf.o dpbsv.o dpbsvx.o \
dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
dposvx.o dpotf2.o dpotrf.o dpotrf2.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \
dppcon.o dppequ.o \
dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \
dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \
dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \
dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \
dstevx.o dsycon.o dsyev.o dsyevd.o dsyevr.o \
dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \
dsysv.o dsysvx.o \
dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytrs.o dsytrs2.o \
dsytri2.o dsytri2x.o dsyswapr.o \
dsyconv.o dsyconvf.o dsyconvf_rook.o \
dsytf2_rook.o dsytrf_rook.o dsytrs_rook.o \
dsytri_rook.o dsycon_rook.o dsysv_rook.o \
dsytf2_rk.o dsytrf_rk.o dsytrs_3.o \
dsytri_3.o dsytri_3x.o dsycon_3.o dsysv_rk.o \
dsysv_aa.o dsytrf_aa.o dsytrs_aa.o \
dsysv_aa_2stage.o dsytrf_aa_2stage.o dsytrs_aa_2stage.o \
dtbcon.o \
dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
dtptrs.o \
dtrcon.o dtrevc.o dtrevc3.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \
dtrti2.o dtrtri.o dtrtrs.o dtzrzf.o dstemr.o \
dsgesv.o dsposv.o dlag2s.o slag2d.o dlat2s.o \
dlansf.o dpftrf.o dpftri.o dpftrs.o dsfrk.o dtfsm.o dtftri.o dtfttp.o \
dtfttr.o dtpttf.o dtpttr.o dtrttf.o dtrttp.o \
dgejsv.o dgesvj.o dgsvj0.o dgsvj1.o \
dgeequb.o dsyequb.o dpoequb.o dgbequb.o \
dbbcsd.o dlapmr.o dorbdb.o dorbdb1.o dorbdb2.o dorbdb3.o dorbdb4.o \
dorbdb5.o dorbdb6.o dorcsd.o dorcsd2by1.o \
dgeqrt.o dgeqrt2.o dgeqrt3.o dgemqrt.o \
dtpqrt.o dtpqrt2.o dtpmqrt.o dtprfb.o \
dgelqt.o dgelqt3.o dgemlqt.o \
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
dtplqt.o dtplqt2.o dtpmlqt.o \
dorhr_col.o dlaorhr_col_getrfnp.o dlaorhr_col_getrfnp2.o \
dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \
dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.o \
dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o \
dgesvdq.o dcombssq.o \
DEPRECATED/dgegs.o DEPRECATED/dgegv.o \
DEPRECATED/dgeqpf.o DEPRECATED/dgelsx.o DEPRECATED/dggsvd.o \
DEPRECATED/dggsvp.o DEPRECATED/dlahrd.o DEPRECATED/dlatzm.o DEPRECATED/dtzrqf.o
ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
zgels.o zgelsd.o zgelss.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \
zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvdx.o zgesvx.o \
zgesvj.o zgejsv.o zgsvj0.o zgsvj1.o \
zgetc2.o zgetf2.o zgetrf.o zgetrf2.o \
zgetri.o zgetrs.o \
zggbak.o zggbal.o \
zgges.o zgges3.o zggesx.o zggev.o zggev3.o zggevx.o \
zggglm.o zgghrd.o zgghd3.o zgglse.o zggqrf.o zggrqf.o \
zggsvd3.o zggsvp3.o \
zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \
zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \
zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \
zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \
zhetf2.o zhetrd.o \
zhetrf.o zhetri.o zhetri2.o zhetri2x.o zheswapr.o \
zhetrs.o zhetrs2.o \
zhetf2_rook.o zhetrf_rook.o zhetri_rook.o \
zhetrs_rook.o zhecon_rook.o zhesv_rook.o \
zhetf2_rk.o zhetrf_rk.o zhetri_3.o zhetri_3x.o \
zhetrs_3.o zhecon_3.o zhesv_rk.o \
zhesv_aa.o zhetrf_aa.o zhetrs_aa.o \
zhesv_aa_2stage.o zhetrf_aa_2stage.o zhetrs_aa_2stage.o \
zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
zhpsvx.o \
zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \
zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
zlaed0.o zlaed7.o zlaed8.o \
zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
zlahef.o zlahef_rook.o zlahef_rk.o zlahef_aa.o zlahqr.o \
zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
zlangt.o zlanhb.o \
zlanhe.o \
zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \
zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \
zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \
zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \
zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o ilazlr.o ilazlc.o \
zlarcm.o zlarf.o zlarfb.o \
zlarfg.o zlarfgp.o zlarft.o \
zlarfx.o zlarfy.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
zlassq.o zlaswp.o zlasyf.o zlasyf_rook.o zlasyf_rk.o zlasyf_aa.o \
zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlauu2.o \
zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
zposv.o zposvx.o zpotf2.o zpotrf.o zpotrf2.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \
zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
zstegr.o zstein.o zsteqr.o zsycon.o zsymv.o \
zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o \
zsytri2.o zsytri2x.o zsyswapr.o \
zsytrs.o zsytrs2.o \
zsyconv.o zsyconvf.o zsyconvf_rook.o \
zsytf2_rook.o zsytrf_rook.o zsytrs_rook.o zsytrs_aa.o \
zsytri_rook.o zsycon_rook.o zsysv_rook.o \
zsytf2_rk.o zsytrf_rk.o zsytrf_aa.o zsytrs_3.o \
zsysv_aa_2stage.o zsytrf_aa_2stage.o zsytrs_aa_2stage.o \
zsytri_3.o zsytri_3x.o zsycon_3.o zsysv_rk.o zsysv_aa.o \
ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \
ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \
ztprfs.o ztptri.o \
ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrzf.o zung2l.o \
zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
zungrq.o zungtr.o zungtsqr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \
zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
zunmtr.o zupgtr.o \
zupmtr.o izmax1.o dzsum1.o zstemr.o \
zcgesv.o zcposv.o zlag2c.o clag2z.o zlat2c.o \
zhfrk.o ztfttp.o zlanhf.o zpftrf.o zpftri.o zpftrs.o ztfsm.o ztftri.o \
ztfttr.o ztpttf.o ztpttr.o ztrttf.o ztrttp.o \
zgeequb.o zgbequb.o zsyequb.o zpoequb.o zheequb.o \
zbbcsd.o zlapmr.o zunbdb.o zunbdb1.o zunbdb2.o zunbdb3.o zunbdb4.o \
zunbdb5.o zunbdb6.o zuncsd.o zuncsd2by1.o \
zgeqrt.o zgeqrt2.o zgeqrt3.o zgemqrt.o \
ztpqrt.o ztpqrt2.o ztpmqrt.o ztprfb.o \
ztplqt.o ztplqt2.o ztpmlqt.o \
zgelqt.o zgelqt3.o zgemlqt.o \
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
zgelq.o zlaswlq.o zlamswlq.o zgemlq.o \
zunhr_col.o zlaunhr_col_getrfnp.o zlaunhr_col_getrfnp2.o \
zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \
zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.o \
zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o \
zgesvdq.o \
SCLAUX = sbdsdc.o \
sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \
slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \
slagts.o slamrg.o slanst.o \
slapy2.o slapy3.o slarnv.o \
slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \
slarrk.o slarrr.o slaneg.o \
slartg.o slaruv.o slas2.o slascl.o \
slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \
slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \
slaset.o slasq1.o slasq2.o slasq3.o slasq4.o slasq5.o slasq6.o \
slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \
ssteqr.o ssterf.o slaisnan.o sisnan.o \
slartgp.o slartgs.o \
../INSTALL/slamch.o ../INSTALL/second_INT_ETIME.o \
DEPRECATED/zgegs.o DEPRECATED/zgegv.o \
DEPRECATED/zgeqpf.o DEPRECATED/zgelsx.o DEPRECATED/zggsvd.o \
DEPRECATED/zggsvp.o DEPRECATED/zlahrd.o DEPRECATED/zlatzm.o DEPRECATED/ztzrqf.o
DZLAUX = dbdsdc.o \
dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \
dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \
dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \
dlagts.o dlamrg.o dlanst.o \
dlapy2.o dlapy3.o dlarnv.o \
dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \
dlarrk.o dlarrr.o dlaneg.o \
dlartg.o dlaruv.o dlas2.o dlascl.o \
dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \
dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \
dlaset.o dlasq1.o dlasq2.o dlasq3.o dlasq4.o dlasq5.o dlasq6.o \
dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
dsteqr.o dsterf.o dlaisnan.o disnan.o \
dlartgp.o dlartgs.o \
../INSTALL/dlamch.o ../INSTALL/dsecnd_INT_ETIME.o
ALLAUX = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o iparmq.o iparam2stage.o \
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
../INSTALL/ilaver.o ../INSTALL/lsame.o xerbla.o xerbla_array.o
SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
sla_gercond.o sla_gerpvgrw.o ssysvxx.o ssyrfsx.o \
sla_syrfsx_extended.o sla_syamv.o sla_syrcond.o sla_syrpvgrw.o \
sposvxx.o sporfsx.o sla_porfsx_extended.o sla_porcond.o \
sla_porpvgrw.o sgbsvxx.o sgbrfsx.o sla_gbrfsx_extended.o \
sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \
slascl2.o sla_wwaddw.o
DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \
dla_gercond.o dla_gerpvgrw.o dsysvxx.o dsyrfsx.o \
dla_syrfsx_extended.o dla_syamv.o dla_syrcond.o dla_syrpvgrw.o \
dposvxx.o dporfsx.o dla_porfsx_extended.o dla_porcond.o \
dla_porpvgrw.o dgbsvxx.o dgbrfsx.o dla_gbrfsx_extended.o \
dla_gbamv.o dla_gbrcond.o dla_gbrpvgrw.o dla_lin_berr.o dlarscl2.o \
dlascl2.o dla_wwaddw.o
CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
cla_gercond_c.o cla_gercond_x.o cla_gerpvgrw.o \
csysvxx.o csyrfsx.o cla_syrfsx_extended.o cla_syamv.o \
cla_syrcond_c.o cla_syrcond_x.o cla_syrpvgrw.o \
cposvxx.o cporfsx.o cla_porfsx_extended.o \
cla_porcond_c.o cla_porcond_x.o cla_porpvgrw.o \
cgbsvxx.o cgbrfsx.o cla_gbrfsx_extended.o cla_gbamv.o \
cla_gbrcond_c.o cla_gbrcond_x.o cla_gbrpvgrw.o \
chesvxx.o cherfsx.o cla_herfsx_extended.o cla_heamv.o \
cla_hercond_c.o cla_hercond_x.o cla_herpvgrw.o \
cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o
ZCLASRC = cpotrs.o cgetrs.o cpotrf.o cgetrf.o
ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \
zla_gercond_c.o zla_gercond_x.o zla_gerpvgrw.o zsysvxx.o zsyrfsx.o \
zla_syrfsx_extended.o zla_syamv.o zla_syrcond_c.o zla_syrcond_x.o \
zla_syrpvgrw.o zposvxx.o zporfsx.o zla_porfsx_extended.o \
zla_porcond_c.o zla_porcond_x.o zla_porpvgrw.o zgbsvxx.o zgbrfsx.o \
zla_gbrfsx_extended.o zla_gbamv.o zla_gbrcond_c.o zla_gbrcond_x.o \
zla_gbrpvgrw.o zhesvxx.o zherfsx.o zla_herfsx_extended.o \
zla_heamv.o zla_hercond_c.o zla_hercond_x.o zla_herpvgrw.o \
zla_lin_berr.o zlarscl2.o zlascl2.o zla_wwaddw.o
ALLXAUX =
ALLOBJ=$(SLASRC) $(DLASRC) $(CLASRC) $(ZLASRC) $(SCLAUX) $(DZLAUX) $(ALLAUX) $(DSLASRC) $(ZCLASRC)
ifdef USEXBLAS
ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
endif
static: $(ALLOBJ) $(ALLXOBJ)
ifeq "$(SYMBOLSUFFIX)" ""
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
ranlib liblapack.a
else
ar ruv liblapack$(SYMBOLSUFFIX).a $(ALLOBJ) $(ALLXOBJ)
ranlib liblapack$(SYMBOLSUFFIX).a
for i in `nm liblapack$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
sort -n lapack-static-prefix.def.dirty | uniq > lapack-static-prefix.def
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLSUFFIX).a liblapack$(SYMBOLSUFFIX).a.fixed
rm -rf liblapack$(SYMBOLSUFFIX).a
mv liblapack$(SYMBOLSUFFIX).a.fixed liblapack$(SYMBOLSUFFIX).a
endif
shared: $(ALLOBJ) $(ALLXOBJ)
ifeq "$(SYMBOLSUFFIX)" ""
# No renaming needed
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
else
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLSUFFIX).so.@SHORTVER@ -o liblapack$(SYMBOLSUFFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
for i in `readelf -Ws liblapack$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
sort -n lapack-prefix.def.dirty | uniq > lapack-prefix.def
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLSUFFIX).so.@LONGVER@ liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed
rm -rf liblapack$(SYMBOLSUFFIX).so.@LONGVER@
mv liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed liblapack$(SYMBOLSUFFIX).so.@LONGVER@
endif

801
blas-bz143340.patch Normal file
View File

@ -0,0 +1,801 @@
--- LAPACK/BLAS/SRC/drotmg.f.BAD 2005-09-28 17:59:56.000000000 -0500
+++ LAPACK/BLAS/SRC/drotmg.f 2005-09-28 18:01:04.000000000 -0500
@@ -0,0 +1,169 @@
+ SUBROUTINE DROTMG (DD1,DD2,DX1,DY1,DPARAM)
+C
+C CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS
+C THE SECOND COMPONENT OF THE 2-VECTOR (DSQRT(DD1)*DX1,DSQRT(DD2)*
+C DY2)**T.
+C WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
+C
+C DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0
+C
+C (DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0)
+C H=( ) ( ) ( ) ( )
+C (DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0).
+C LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22
+C RESPECTIVELY. (VALUES OF 1.D0, -1.D0, OR 0.D0 IMPLIED BY THE
+C VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.)
+C
+C THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
+C INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
+C OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
+C
+ DOUBLE PRECISION GAM,ONE,RGAMSQ,DD2,DH11,DH21,DPARAM,DP2,
+ 1 DQ2,DU,DY1,ZERO,GAMSQ,DD1,DFLAG,DH12,DH22,DP1,DQ1,
+ 2 DTEMP,DX1,TWO
+ DIMENSION DPARAM(5)
+C
+ DATA ZERO,ONE,TWO /0.D0,1.D0,2.D0/
+ DATA GAM,GAMSQ,RGAMSQ/4096.D0,16777216.D0,5.9604645D-8/
+ IF(.NOT. DD1 .LT. ZERO) GO TO 10
+C GO ZERO-H-D-AND-DX1..
+ GO TO 60
+ 10 CONTINUE
+C CASE-DD1-NONNEGATIVE
+ DP2=DD2*DY1
+ IF(.NOT. DP2 .EQ. ZERO) GO TO 20
+ DFLAG=-TWO
+ GO TO 260
+C REGULAR-CASE..
+ 20 CONTINUE
+ DP1=DD1*DX1
+ DQ2=DP2*DY1
+ DQ1=DP1*DX1
+C
+ IF(.NOT. DABS(DQ1) .GT. DABS(DQ2)) GO TO 40
+ DH21=-DY1/DX1
+ DH12=DP2/DP1
+C
+ DU=ONE-DH12*DH21
+C
+ IF(.NOT. DU .LE. ZERO) GO TO 30
+C GO ZERO-H-D-AND-DX1..
+ GO TO 60
+ 30 CONTINUE
+ DFLAG=ZERO
+ DD1=DD1/DU
+ DD2=DD2/DU
+ DX1=DX1*DU
+C GO SCALE-CHECK..
+ GO TO 100
+ 40 CONTINUE
+ IF(.NOT. DQ2 .LT. ZERO) GO TO 50
+C GO ZERO-H-D-AND-DX1..
+ GO TO 60
+ 50 CONTINUE
+ DFLAG=ONE
+ DH11=DP1/DP2
+ DH22=DX1/DY1
+ DU=ONE+DH11*DH22
+ DTEMP=DD2/DU
+ DD2=DD1/DU
+ DD1=DTEMP
+ DX1=DY1*DU
+C GO SCALE-CHECK
+ GO TO 100
+C PROCEDURE..ZERO-H-D-AND-DX1..
+ 60 CONTINUE
+ DFLAG=-ONE
+ DH11=ZERO
+ DH12=ZERO
+ DH21=ZERO
+ DH22=ZERO
+C
+ DD1=ZERO
+ DD2=ZERO
+ DX1=ZERO
+C RETURN..
+ GO TO 220
+C PROCEDURE..FIX-H..
+ 70 CONTINUE
+ IF(.NOT. DFLAG .GE. ZERO) GO TO 90
+C
+ IF(.NOT. DFLAG .EQ. ZERO) GO TO 80
+ DH11=ONE
+ DH22=ONE
+ DFLAG=-ONE
+ GO TO 90
+ 80 CONTINUE
+ DH21=-ONE
+ DH12=ONE
+ DFLAG=-ONE
+ 90 CONTINUE
+ GO TO IGO,(120,150,180,210)
+C PROCEDURE..SCALE-CHECK
+ 100 CONTINUE
+ 110 CONTINUE
+ IF(.NOT. DD1 .LE. RGAMSQ) GO TO 130
+ IF(DD1 .EQ. ZERO) GO TO 160
+ ASSIGN 120 TO IGO
+C FIX-H..
+ GO TO 70
+ 120 CONTINUE
+ DD1=DD1*GAM**2
+ DX1=DX1/GAM
+ DH11=DH11/GAM
+ DH12=DH12/GAM
+ GO TO 110
+ 130 CONTINUE
+ 140 CONTINUE
+ IF(.NOT. DD1 .GE. GAMSQ) GO TO 160
+ ASSIGN 150 TO IGO
+C FIX-H..
+ GO TO 70
+ 150 CONTINUE
+ DD1=DD1/GAM**2
+ DX1=DX1*GAM
+ DH11=DH11*GAM
+ DH12=DH12*GAM
+ GO TO 140
+ 160 CONTINUE
+ 170 CONTINUE
+ IF(.NOT. DABS(DD2) .LE. RGAMSQ) GO TO 190
+ IF(DD2 .EQ. ZERO) GO TO 220
+ ASSIGN 180 TO IGO
+C FIX-H..
+ GO TO 70
+ 180 CONTINUE
+ DD2=DD2*GAM**2
+ DH21=DH21/GAM
+ DH22=DH22/GAM
+ GO TO 170
+ 190 CONTINUE
+ 200 CONTINUE
+ IF(.NOT. DABS(DD2) .GE. GAMSQ) GO TO 220
+ ASSIGN 210 TO IGO
+C FIX-H..
+ GO TO 70
+ 210 CONTINUE
+ DD2=DD2/GAM**2
+ DH21=DH21*GAM
+ DH22=DH22*GAM
+ GO TO 200
+ 220 CONTINUE
+ IF(DFLAG)250,230,240
+ 230 CONTINUE
+ DPARAM(3)=DH21
+ DPARAM(4)=DH12
+ GO TO 260
+ 240 CONTINUE
+ DPARAM(2)=DH11
+ DPARAM(5)=DH22
+ GO TO 260
+ 250 CONTINUE
+ DPARAM(2)=DH11
+ DPARAM(3)=DH21
+ DPARAM(4)=DH12
+ DPARAM(5)=DH22
+ 260 CONTINUE
+ DPARAM(1)=DFLAG
+ RETURN
+ END
--- LAPACK/BLAS/SRC/sdsdot.f.BAD 2005-09-28 18:00:11.000000000 -0500
+++ LAPACK/BLAS/SRC/sdsdot.f 2005-09-28 18:01:23.000000000 -0500
@@ -0,0 +1,78 @@
+*DECK SDSDOT
+ REAL FUNCTION SDSDOT (N, SB, SX, INCX, SY, INCY)
+C***BEGIN PROLOGUE SDSDOT
+C***PURPOSE Compute the inner product of two vectors with extended
+C precision accumulation.
+C***LIBRARY SLATEC (BLAS)
+C***CATEGORY D1A4
+C***TYPE SINGLE PRECISION (SDSDOT-S, CDCDOT-C)
+C***KEYWORDS BLAS, DOT PRODUCT, INNER PRODUCT, LINEAR ALGEBRA, VECTOR
+C***AUTHOR Lawson, C. L., (JPL)
+C Hanson, R. J., (SNLA)
+C Kincaid, D. R., (U. of Texas)
+C Krogh, F. T., (JPL)
+C***DESCRIPTION
+C
+C B L A S Subprogram
+C Description of Parameters
+C
+C --Input--
+C N number of elements in input vector(s)
+C SB single precision scalar to be added to inner product
+C SX single precision vector with N elements
+C INCX storage spacing between elements of SX
+C SY single precision vector with N elements
+C INCY storage spacing between elements of SY
+C
+C --Output--
+C SDSDOT single precision dot product (SB if N .LE. 0)
+C
+C Returns S.P. result with dot product accumulated in D.P.
+C SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY),
+C where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
+C defined in a similar way using INCY.
+C
+C***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
+C Krogh, Basic linear algebra subprograms for Fortran
+C usage, Algorithm No. 539, Transactions on Mathematical
+C Software 5, 3 (September 1979), pp. 308-323.
+C***ROUTINES CALLED (NONE)
+C***REVISION HISTORY (YYMMDD)
+C 791001 DATE WRITTEN
+C 890531 Changed all specific intrinsics to generic. (WRB)
+C 890831 Modified array declarations. (WRB)
+C 890831 REVISION DATE from Version 3.2
+C 891214 Prologue converted to Version 4.0 format. (BAB)
+C 920310 Corrected definition of LX in DESCRIPTION. (WRB)
+C 920501 Reformatted the REFERENCES section. (WRB)
+C***END PROLOGUE SDSDOT
+ REAL SX(*), SY(*), SB
+ DOUBLE PRECISION DSDOT
+C***FIRST EXECUTABLE STATEMENT SDSDOT
+ DSDOT = SB
+ IF (N .LE. 0) GO TO 30
+ IF (INCX.EQ.INCY .AND. INCX.GT.0) GO TO 40
+C
+C Code for unequal or nonpositive increments.
+C
+ KX = 1
+ KY = 1
+ IF (INCX .LT. 0) KX = 1+(1-N)*INCX
+ IF (INCY .LT. 0) KY = 1+(1-N)*INCY
+ DO 10 I = 1,N
+ DSDOT = DSDOT + DBLE(SX(KX))*DBLE(SY(KY))
+ KX = KX + INCX
+ KY = KY + INCY
+ 10 CONTINUE
+ 30 SDSDOT = DSDOT
+ RETURN
+C
+C Code for equal and positive increments.
+C
+ 40 NS = N*INCX
+ DO 50 I = 1,NS,INCX
+ DSDOT = DSDOT + DBLE(SX(I))*DBLE(SY(I))
+ 50 CONTINUE
+ SDSDOT = DSDOT
+ RETURN
+ END
--- LAPACK/BLAS/SRC/csrot.f.BAD 2005-09-28 17:59:45.000000000 -0500
+++ LAPACK/BLAS/SRC/csrot.f 2005-09-28 18:00:41.000000000 -0500
@@ -0,0 +1,38 @@
+ subroutine csrot (n,cx,incx,cy,incy,c,s)
+c
+c applies a plane rotation, where the cos and sin (c and s) are real
+c and the vectors cx and cy are complex.
+c jack dongarra, linpack, 3/11/78.
+c
+ complex cx(1),cy(1),ctemp
+ real c,s
+ integer i,incx,incy,ix,iy,n
+c
+ if(n.le.0)return
+ if(incx.eq.1.and.incy.eq.1)go to 20
+c
+c code for unequal increments or equal increments not equal
+c to 1
+c
+ ix = 1
+ iy = 1
+ if(incx.lt.0)ix = (-n+1)*incx + 1
+ if(incy.lt.0)iy = (-n+1)*incy + 1
+ do 10 i = 1,n
+ ctemp = c*cx(ix) + s*cy(iy)
+ cy(iy) = c*cy(iy) - s*cx(ix)
+ cx(ix) = ctemp
+ ix = ix + incx
+ iy = iy + incy
+ 10 continue
+ return
+c
+c code for both increments equal to 1
+c
+ 20 do 30 i = 1,n
+ ctemp = c*cx(i) + s*cy(i)
+ cy(i) = c*cy(i) - s*cx(i)
+ cx(i) = ctemp
+ 30 continue
+ return
+ end
--- LAPACK/BLAS/SRC/srotmg.f.BAD 2005-09-28 18:00:24.000000000 -0500
+++ LAPACK/BLAS/SRC/srotmg.f 2005-09-28 18:01:45.000000000 -0500
@@ -0,0 +1,166 @@
+ SUBROUTINE SROTMG (SD1,SD2,SX1,SY1,SPARAM)
+C
+C CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS
+C THE SECOND COMPONENT OF THE 2-VECTOR (SQRT(SD1)*SX1,SQRT(SD2)*
+C SY2)**T.
+C WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS..
+C
+C SFLAG=-1.E0 SFLAG=0.E0 SFLAG=1.E0 SFLAG=-2.E0
+C
+C (SH11 SH12) (1.E0 SH12) (SH11 1.E0) (1.E0 0.E0)
+C H=( ) ( ) ( ) ( )
+C (SH21 SH22), (SH21 1.E0), (-1.E0 SH22), (0.E0 1.E0).
+C LOCATIONS 2-4 OF SPARAM CONTAIN SH11,SH21,SH12, AND SH22
+C RESPECTIVELY. (VALUES OF 1.E0, -1.E0, OR 0.E0 IMPLIED BY THE
+C VALUE OF SPARAM(1) ARE NOT STORED IN SPARAM.)
+C
+C THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
+C INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
+C OF SD1 AND SD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
+C
+ DIMENSION SPARAM(5)
+C
+ DATA ZERO,ONE,TWO /0.E0,1.E0,2.E0/
+ DATA GAM,GAMSQ,RGAMSQ/4096.E0,1.67772E7,5.96046E-8/
+ IF(.NOT. SD1 .LT. ZERO) GO TO 10
+C GO ZERO-H-D-AND-SX1..
+ GO TO 60
+ 10 CONTINUE
+C CASE-SD1-NONNEGATIVE
+ SP2=SD2*SY1
+ IF(.NOT. SP2 .EQ. ZERO) GO TO 20
+ SFLAG=-TWO
+ GO TO 260
+C REGULAR-CASE..
+ 20 CONTINUE
+ SP1=SD1*SX1
+ SQ2=SP2*SY1
+ SQ1=SP1*SX1
+C
+ IF(.NOT. ABS(SQ1) .GT. ABS(SQ2)) GO TO 40
+ SH21=-SY1/SX1
+ SH12=SP2/SP1
+C
+ SU=ONE-SH12*SH21
+C
+ IF(.NOT. SU .LE. ZERO) GO TO 30
+C GO ZERO-H-D-AND-SX1..
+ GO TO 60
+ 30 CONTINUE
+ SFLAG=ZERO
+ SD1=SD1/SU
+ SD2=SD2/SU
+ SX1=SX1*SU
+C GO SCALE-CHECK..
+ GO TO 100
+ 40 CONTINUE
+ IF(.NOT. SQ2 .LT. ZERO) GO TO 50
+C GO ZERO-H-D-AND-SX1..
+ GO TO 60
+ 50 CONTINUE
+ SFLAG=ONE
+ SH11=SP1/SP2
+ SH22=SX1/SY1
+ SU=ONE+SH11*SH22
+ STEMP=SD2/SU
+ SD2=SD1/SU
+ SD1=STEMP
+ SX1=SY1*SU
+C GO SCALE-CHECK
+ GO TO 100
+C PROCEDURE..ZERO-H-D-AND-SX1..
+ 60 CONTINUE
+ SFLAG=-ONE
+ SH11=ZERO
+ SH12=ZERO
+ SH21=ZERO
+ SH22=ZERO
+C
+ SD1=ZERO
+ SD2=ZERO
+ SX1=ZERO
+C RETURN..
+ GO TO 220
+C PROCEDURE..FIX-H..
+ 70 CONTINUE
+ IF(.NOT. SFLAG .GE. ZERO) GO TO 90
+C
+ IF(.NOT. SFLAG .EQ. ZERO) GO TO 80
+ SH11=ONE
+ SH22=ONE
+ SFLAG=-ONE
+ GO TO 90
+ 80 CONTINUE
+ SH21=-ONE
+ SH12=ONE
+ SFLAG=-ONE
+ 90 CONTINUE
+ GO TO IGO,(120,150,180,210)
+C PROCEDURE..SCALE-CHECK
+ 100 CONTINUE
+ 110 CONTINUE
+ IF(.NOT. SD1 .LE. RGAMSQ) GO TO 130
+ IF(SD1 .EQ. ZERO) GO TO 160
+ ASSIGN 120 TO IGO
+C FIX-H..
+ GO TO 70
+ 120 CONTINUE
+ SD1=SD1*GAM**2
+ SX1=SX1/GAM
+ SH11=SH11/GAM
+ SH12=SH12/GAM
+ GO TO 110
+ 130 CONTINUE
+ 140 CONTINUE
+ IF(.NOT. SD1 .GE. GAMSQ) GO TO 160
+ ASSIGN 150 TO IGO
+C FIX-H..
+ GO TO 70
+ 150 CONTINUE
+ SD1=SD1/GAM**2
+ SX1=SX1*GAM
+ SH11=SH11*GAM
+ SH12=SH12*GAM
+ GO TO 140
+ 160 CONTINUE
+ 170 CONTINUE
+ IF(.NOT. ABS(SD2) .LE. RGAMSQ) GO TO 190
+ IF(SD2 .EQ. ZERO) GO TO 220
+ ASSIGN 180 TO IGO
+C FIX-H..
+ GO TO 70
+ 180 CONTINUE
+ SD2=SD2*GAM**2
+ SH21=SH21/GAM
+ SH22=SH22/GAM
+ GO TO 170
+ 190 CONTINUE
+ 200 CONTINUE
+ IF(.NOT. ABS(SD2) .GE. GAMSQ) GO TO 220
+ ASSIGN 210 TO IGO
+C FIX-H..
+ GO TO 70
+ 210 CONTINUE
+ SD2=SD2/GAM**2
+ SH21=SH21*GAM
+ SH22=SH22*GAM
+ GO TO 200
+ 220 CONTINUE
+ IF(SFLAG)250,230,240
+ 230 CONTINUE
+ SPARAM(3)=SH21
+ SPARAM(4)=SH12
+ GO TO 260
+ 240 CONTINUE
+ SPARAM(2)=SH11
+ SPARAM(5)=SH22
+ GO TO 260
+ 250 CONTINUE
+ SPARAM(2)=SH11
+ SPARAM(3)=SH21
+ SPARAM(4)=SH12
+ SPARAM(5)=SH22
+ 260 CONTINUE
+ SPARAM(1)=SFLAG
+ RETURN
+ END
--- LAPACK/BLAS/SRC/dsdot.f.BAD 2005-09-28 18:00:03.000000000 -0500
+++ LAPACK/BLAS/SRC/dsdot.f 2005-09-28 18:01:11.000000000 -0500
@@ -0,0 +1,74 @@
+*DECK DSDOT
+ DOUBLE PRECISION FUNCTION DSDOT (N, SX, INCX, SY, INCY)
+C***BEGIN PROLOGUE DSDOT
+C***PURPOSE Compute the inner product of two vectors with extended
+C precision accumulation and result.
+C***LIBRARY SLATEC (BLAS)
+C***CATEGORY D1A4
+C***TYPE DOUBLE PRECISION (DSDOT-D, DCDOT-C)
+C***KEYWORDS BLAS, COMPLEX VECTORS, DOT PRODUCT, INNER PRODUCT,
+C LINEAR ALGEBRA, VECTOR
+C***AUTHOR Lawson, C. L., (JPL)
+C Hanson, R. J., (SNLA)
+C Kincaid, D. R., (U. of Texas)
+C Krogh, F. T., (JPL)
+C***DESCRIPTION
+C
+C B L A S Subprogram
+C Description of Parameters
+C
+C --Input--
+C N number of elements in input vector(s)
+C SX single precision vector with N elements
+C INCX storage spacing between elements of SX
+C SY single precision vector with N elements
+C INCY storage spacing between elements of SY
+C
+C --Output--
+C DSDOT double precision dot product (zero if N.LE.0)
+C
+C Returns D.P. dot product accumulated in D.P., for S.P. SX and SY
+C DSDOT = sum for I = 0 to N-1 of SX(LX+I*INCX) * SY(LY+I*INCY),
+C where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
+C defined in a similar way using INCY.
+C
+C***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
+C Krogh, Basic linear algebra subprograms for Fortran
+C usage, Algorithm No. 539, Transactions on Mathematical
+C Software 5, 3 (September 1979), pp. 308-323.
+C***ROUTINES CALLED (NONE)
+C***REVISION HISTORY (YYMMDD)
+C 791001 DATE WRITTEN
+C 890831 Modified array declarations. (WRB)
+C 890831 REVISION DATE from Version 3.2
+C 891214 Prologue converted to Version 4.0 format. (BAB)
+C 920310 Corrected definition of LX in DESCRIPTION. (WRB)
+C 920501 Reformatted the REFERENCES section. (WRB)
+C***END PROLOGUE DSDOT
+ REAL SX(*),SY(*)
+C***FIRST EXECUTABLE STATEMENT DSDOT
+ DSDOT = 0.0D0
+ IF (N .LE. 0) RETURN
+ IF (INCX.EQ.INCY .AND. INCX.GT.0) GO TO 20
+C
+C Code for unequal or nonpositive increments.
+C
+ KX = 1
+ KY = 1
+ IF (INCX .LT. 0) KX = 1+(1-N)*INCX
+ IF (INCY .LT. 0) KY = 1+(1-N)*INCY
+ DO 10 I = 1,N
+ DSDOT = DSDOT + DBLE(SX(KX))*DBLE(SY(KY))
+ KX = KX + INCX
+ KY = KY + INCY
+ 10 CONTINUE
+ RETURN
+C
+C Code for equal, positive, non-unit increments.
+C
+ 20 NS = N*INCX
+ DO 30 I = 1,NS,INCX
+ DSDOT = DSDOT + DBLE(SX(I))*DBLE(SY(I))
+ 30 CONTINUE
+ RETURN
+ END
--- LAPACK/BLAS/SRC/srotm.f.BAD 2005-09-28 18:00:17.000000000 -0500
+++ LAPACK/BLAS/SRC/srotm.f 2005-09-28 18:01:34.000000000 -0500
@@ -0,0 +1,106 @@
+ SUBROUTINE SROTM (N,SX,INCX,SY,INCY,SPARAM)
+C
+C APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
+C
+C (SX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF SX ARE IN
+C (DX**T)
+C
+C SX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE
+C LX = (-INCX)*N, AND SIMILARLY FOR SY USING USING LY AND INCY.
+C WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS..
+C
+C SFLAG=-1.E0 SFLAG=0.E0 SFLAG=1.E0 SFLAG=-2.E0
+C
+C (SH11 SH12) (1.E0 SH12) (SH11 1.E0) (1.E0 0.E0)
+C H=( ) ( ) ( ) ( )
+C (SH21 SH22), (SH21 1.E0), (-1.E0 SH22), (0.E0 1.E0).
+C SEE SROTMG FOR A DESCRIPTION OF DATA STORAGE IN SPARAM.
+C
+ DIMENSION SX(1),SY(1),SPARAM(5)
+ DATA ZERO,TWO/0.E0,2.E0/
+C
+ SFLAG=SPARAM(1)
+ IF(N .LE. 0 .OR.(SFLAG+TWO.EQ.ZERO)) GO TO 140
+ IF(.NOT.(INCX.EQ.INCY.AND. INCX .GT.0)) GO TO 70
+C
+ NSTEPS=N*INCX
+ IF(SFLAG) 50,10,30
+ 10 CONTINUE
+ SH12=SPARAM(4)
+ SH21=SPARAM(3)
+ DO 20 I=1,NSTEPS,INCX
+ W=SX(I)
+ Z=SY(I)
+ SX(I)=W+Z*SH12
+ SY(I)=W*SH21+Z
+ 20 CONTINUE
+ GO TO 140
+ 30 CONTINUE
+ SH11=SPARAM(2)
+ SH22=SPARAM(5)
+ DO 40 I=1,NSTEPS,INCX
+ W=SX(I)
+ Z=SY(I)
+ SX(I)=W*SH11+Z
+ SY(I)=-W+SH22*Z
+ 40 CONTINUE
+ GO TO 140
+ 50 CONTINUE
+ SH11=SPARAM(2)
+ SH12=SPARAM(4)
+ SH21=SPARAM(3)
+ SH22=SPARAM(5)
+ DO 60 I=1,NSTEPS,INCX
+ W=SX(I)
+ Z=SY(I)
+ SX(I)=W*SH11+Z*SH12
+ SY(I)=W*SH21+Z*SH22
+ 60 CONTINUE
+ GO TO 140
+ 70 CONTINUE
+ KX=1
+ KY=1
+ IF(INCX .LT. 0) KX=1+(1-N)*INCX
+ IF(INCY .LT. 0) KY=1+(1-N)*INCY
+C
+ IF(SFLAG)120,80,100
+ 80 CONTINUE
+ SH12=SPARAM(4)
+ SH21=SPARAM(3)
+ DO 90 I=1,N
+ W=SX(KX)
+ Z=SY(KY)
+ SX(KX)=W+Z*SH12
+ SY(KY)=W*SH21+Z
+ KX=KX+INCX
+ KY=KY+INCY
+ 90 CONTINUE
+ GO TO 140
+ 100 CONTINUE
+ SH11=SPARAM(2)
+ SH22=SPARAM(5)
+ DO 110 I=1,N
+ W=SX(KX)
+ Z=SY(KY)
+ SX(KX)=W*SH11+Z
+ SY(KY)=-W+SH22*Z
+ KX=KX+INCX
+ KY=KY+INCY
+ 110 CONTINUE
+ GO TO 140
+ 120 CONTINUE
+ SH11=SPARAM(2)
+ SH12=SPARAM(4)
+ SH21=SPARAM(3)
+ SH22=SPARAM(5)
+ DO 130 I=1,N
+ W=SX(KX)
+ Z=SY(KY)
+ SX(KX)=W*SH11+Z*SH12
+ SY(KY)=W*SH21+Z*SH22
+ KX=KX+INCX
+ KY=KY+INCY
+ 130 CONTINUE
+ 140 CONTINUE
+ RETURN
+ END
--- LAPACK/BLAS/SRC/zdrot.f.BAD 2005-09-28 18:00:31.000000000 -0500
+++ LAPACK/BLAS/SRC/zdrot.f 2005-09-28 18:02:00.000000000 -0500
@@ -0,0 +1,38 @@
+ subroutine zdrot (n,zx,incx,zy,incy,c,s)
+c
+c applies a plane rotation, where the cos and sin (c and s) are
+c double precision and the vectors zx and zy are double complex.
+c jack dongarra, linpack, 3/11/78.
+c
+ double complex zx(1),zy(1),ztemp
+ double precision c,s
+ integer i,incx,incy,ix,iy,n
+c
+ if(n.le.0)return
+ if(incx.eq.1.and.incy.eq.1)go to 20
+c
+c code for unequal increments or equal increments not equal
+c to 1
+c
+ ix = 1
+ iy = 1
+ if(incx.lt.0)ix = (-n+1)*incx + 1
+ if(incy.lt.0)iy = (-n+1)*incy + 1
+ do 10 i = 1,n
+ ztemp = c*zx(ix) + s*zy(iy)
+ zy(iy) = c*zy(iy) - s*zx(ix)
+ zx(ix) = ztemp
+ ix = ix + incx
+ iy = iy + incy
+ 10 continue
+ return
+c
+c code for both increments equal to 1
+c
+ 20 do 30 i = 1,n
+ ztemp = c*zx(i) + s*zy(i)
+ zy(i) = c*zy(i) - s*zx(i)
+ zx(i) = ztemp
+ 30 continue
+ return
+ end
--- LAPACK/BLAS/SRC/drotm.f.BAD 2005-09-28 17:59:52.000000000 -0500
+++ LAPACK/BLAS/SRC/drotm.f 2005-09-28 18:00:50.000000000 -0500
@@ -0,0 +1,108 @@
+ SUBROUTINE DROTM (N,DX,INCX,DY,INCY,DPARAM)
+C
+C APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
+C
+C (DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN
+C (DY**T)
+C
+C DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE
+C LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY.
+C WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
+C
+C DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0
+C
+C (DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0)
+C H=( ) ( ) ( ) ( )
+C (DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0).
+C SEE DROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
+C
+ DOUBLE PRECISION DFLAG,DH12,DH22,DX,TWO,Z,DH11,DH21,
+ 1 DPARAM,DY,W,ZERO
+ DIMENSION DX(1),DY(1),DPARAM(5)
+ DATA ZERO,TWO/0.D0,2.D0/
+C
+ DFLAG=DPARAM(1)
+ IF(N .LE. 0 .OR.(DFLAG+TWO.EQ.ZERO)) GO TO 140
+ IF(.NOT.(INCX.EQ.INCY.AND. INCX .GT.0)) GO TO 70
+C
+ NSTEPS=N*INCX
+ IF(DFLAG) 50,10,30
+ 10 CONTINUE
+ DH12=DPARAM(4)
+ DH21=DPARAM(3)
+ DO 20 I=1,NSTEPS,INCX
+ W=DX(I)
+ Z=DY(I)
+ DX(I)=W+Z*DH12
+ DY(I)=W*DH21+Z
+ 20 CONTINUE
+ GO TO 140
+ 30 CONTINUE
+ DH11=DPARAM(2)
+ DH22=DPARAM(5)
+ DO 40 I=1,NSTEPS,INCX
+ W=DX(I)
+ Z=DY(I)
+ DX(I)=W*DH11+Z
+ DY(I)=-W+DH22*Z
+ 40 CONTINUE
+ GO TO 140
+ 50 CONTINUE
+ DH11=DPARAM(2)
+ DH12=DPARAM(4)
+ DH21=DPARAM(3)
+ DH22=DPARAM(5)
+ DO 60 I=1,NSTEPS,INCX
+ W=DX(I)
+ Z=DY(I)
+ DX(I)=W*DH11+Z*DH12
+ DY(I)=W*DH21+Z*DH22
+ 60 CONTINUE
+ GO TO 140
+ 70 CONTINUE
+ KX=1
+ KY=1
+ IF(INCX .LT. 0) KX=1+(1-N)*INCX
+ IF(INCY .LT. 0) KY=1+(1-N)*INCY
+C
+ IF(DFLAG)120,80,100
+ 80 CONTINUE
+ DH12=DPARAM(4)
+ DH21=DPARAM(3)
+ DO 90 I=1,N
+ W=DX(KX)
+ Z=DY(KY)
+ DX(KX)=W+Z*DH12
+ DY(KY)=W*DH21+Z
+ KX=KX+INCX
+ KY=KY+INCY
+ 90 CONTINUE
+ GO TO 140
+ 100 CONTINUE
+ DH11=DPARAM(2)
+ DH22=DPARAM(5)
+ DO 110 I=1,N
+ W=DX(KX)
+ Z=DY(KY)
+ DX(KX)=W*DH11+Z
+ DY(KY)=-W+DH22*Z
+ KX=KX+INCX
+ KY=KY+INCY
+ 110 CONTINUE
+ GO TO 140
+ 120 CONTINUE
+ DH11=DPARAM(2)
+ DH12=DPARAM(4)
+ DH21=DPARAM(3)
+ DH22=DPARAM(5)
+ DO 130 I=1,N
+ W=DX(KX)
+ Z=DY(KY)
+ DX(KX)=W*DH11+Z*DH12
+ DY(KY)=W*DH21+Z*DH22
+ KX=KX+INCX
+ KY=KY+INCY
+ 130 CONTINUE
+ 140 CONTINUE
+ RETURN
+ END

3312
blasqr.ps Normal file

File diff suppressed because it is too large Load Diff

24100
lapack-20010525.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
--- lapack-3.1.0/make.inc.BAD 2006-11-14 15:58:41.000000000 -0600
+++ lapack-3.1.0/make.inc 2006-11-14 16:00:03.000000000 -0600
@@ -10,7 +10,7 @@
#
# The machine (platform) identifier to append to the library names
#
-PLAT = _LINUX
+PLAT =
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
@@ -18,12 +18,13 @@
# selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine.
#
-FORTRAN = g77
-OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused
+FORTRAN = gfortran
+#OPTS = -funroll-all-loops -O3 -Wimplicit -Wno-globals -Wunused
#OPTS = -O0 -g -Wall
DRVOPTS = $(OPTS)
-NOOPT = -Wimplicit -Wno-globals -Wunused
-LOADER = g77
+# NOOPT = -Wimplicit -Wno-globals -Wunused
+NOOPT =
+LOADER = gfortran
LOADOPTS =
#
# The archiver and the flag(s) to use when building archive (library)

View File

@ -0,0 +1,20 @@
--- lapack-3.1.0/INSTALL/dsecnd.f.BAD 2007-01-05 20:35:09.000000000 -0600
+++ lapack-3.1.0/INSTALL/dsecnd.f 2007-01-05 20:35:16.000000000 -0600
@@ -20,7 +20,6 @@
* ..
* .. External Functions ..
REAL ETIME
- EXTERNAL ETIME
* ..
* .. Executable Statements ..
*
--- lapack-3.1.0/INSTALL/second.f.BAD 2007-01-05 20:35:39.000000000 -0600
+++ lapack-3.1.0/INSTALL/second.f 2007-01-05 20:35:45.000000000 -0600
@@ -20,7 +20,6 @@
* ..
* .. External Functions ..
REAL ETIME
- EXTERNAL ETIME
* ..
* .. Executable Statements ..
*

View File

@ -0,0 +1,23 @@
--- lapack-3.1.1/INSTALL/make.inc.gfortran.BAD 2007-05-25 15:34:55.000000000 -0500
+++ lapack-3.1.1/INSTALL/make.inc.gfortran 2007-05-25 15:35:51.000000000 -0500
@@ -8,7 +8,7 @@ SHELL = /bin/sh
#
# The machine (platform) identifier to append to the library names
#
-PLAT = _LINUX
+PLAT =
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
@@ -17,9 +17,9 @@ PLAT = _LINUX
# desired load options for your machine.
#
FORTRAN = gfortran
-OPTS = -O2
+#OPTS = -O2
DRVOPTS = $(OPTS)
-NOOPT = -O0
+NOOPT =
LOADER = gfortran
LOADOPTS =
#

View File

@ -0,0 +1,15 @@
diff -up lapack-3.4.0/INSTALL/make.inc.gfortran.orig lapack-3.4.0/INSTALL/make.inc.gfortran
--- lapack-3.4.0/INSTALL/make.inc.gfortran.orig 2011-11-11 16:08:04.000000000 -0500
+++ lapack-3.4.0/INSTALL/make.inc.gfortran 2011-11-28 14:56:08.990672240 -0500
@@ -13,9 +13,9 @@ SHELL = /bin/sh
# desired load options for your machine.
#
FORTRAN = gfortran
-OPTS = -O2 -frecursive
+#OPTS = -O2 -frecursive
DRVOPTS = $(OPTS)
-NOOPT = -O0 -frecursive
+NOOPT =
LOADER = gfortran
LOADOPTS =
#

View File

@ -0,0 +1,12 @@
diff -up lapack-3.4.1/LAPACKE/src/Makefile.disable-functions lapack-3.4.1/LAPACKE/src/Makefile
--- lapack-3.4.1/LAPACKE/src/Makefile.disable-functions 2012-10-24 11:19:46.054150834 -0400
+++ lapack-3.4.1/LAPACKE/src/Makefile 2012-10-24 11:19:54.430152048 -0400
@@ -2040,7 +2040,7 @@ lapacke_slagsy_work.o \
lapacke_zlagsy.o \
lapacke_zlagsy_work.o
-ALLOBJ = $(SRC_OBJ) $(MATGEN_OBJ)
+ALLOBJ = $(SRC_OBJ)
ifdef USEXBLAS
ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)

View File

@ -0,0 +1,21 @@
diff -up lapack-3.4.1/INSTALL/make.inc.gfortran.shared lapack-3.4.1/INSTALL/make.inc.gfortran
--- lapack-3.4.1/INSTALL/make.inc.gfortran.shared 2012-09-06 21:55:01.659280432 -0600
+++ lapack-3.4.1/INSTALL/make.inc.gfortran 2012-09-06 22:04:04.936732440 -0600
@@ -73,3 +73,4 @@ BLASLIB = ../../librefblas.a
LAPACKLIB = liblapack.a
TMGLIB = libtmglib.a
LAPACKELIB = liblapacke.a
+SHLIB_LAPACKE = liblapacke.so
diff -up lapack-3.4.1/LAPACKE/Makefile.shared lapack-3.4.1/LAPACKE/Makefile
--- lapack-3.4.1/LAPACKE/Makefile.shared 2012-04-12 17:05:47.000000000 -0600
+++ lapack-3.4.1/LAPACKE/Makefile 2012-09-06 21:55:01.851271802 -0600
@@ -49,6 +49,9 @@ lapacke:
cd src && $(MAKE)
cd utils && $(MAKE)
+shlib: lapacke
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LIBS) -lgfortran -lc
+
lapacke_example:
cd example && $(MAKE)

View File

@ -0,0 +1,99 @@
diff -up lapack-3.5.0/BLAS/SRC/dgbmv.f.R lapack-3.5.0/BLAS/SRC/dgbmv.f
--- lapack-3.5.0/BLAS/SRC/dgbmv.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgbmv.f 2014-07-07 11:50:48.257175853 -0400
@@ -312,18 +312,18 @@
JX = KX
IF (INCY.EQ.1) THEN
DO 60 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
K = KUP1 - J
DO 50 I = MAX(1,J-KU),MIN(M,J+KL)
Y(I) = Y(I) + TEMP*A(K+I,J)
50 CONTINUE
- END IF
+c END IF
JX = JX + INCX
60 CONTINUE
ELSE
DO 80 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
IY = KY
K = KUP1 - J
@@ -331,7 +331,7 @@
Y(IY) = Y(IY) + TEMP*A(K+I,J)
IY = IY + INCY
70 CONTINUE
- END IF
+c END IF
JX = JX + INCX
IF (J.GT.KU) KY = KY + INCY
80 CONTINUE
diff -up lapack-3.5.0/BLAS/SRC/dgemm.f.R lapack-3.5.0/BLAS/SRC/dgemm.f
--- lapack-3.5.0/BLAS/SRC/dgemm.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgemm.f 2014-07-07 11:50:48.257175853 -0400
@@ -311,12 +311,12 @@
60 CONTINUE
END IF
DO 80 L = 1,K
- IF (B(L,J).NE.ZERO) THEN
+c IF (B(L,J).NE.ZERO) THEN
TEMP = ALPHA*B(L,J)
DO 70 I = 1,M
C(I,J) = C(I,J) + TEMP*A(I,L)
70 CONTINUE
- END IF
+c END IF
80 CONTINUE
90 CONTINUE
ELSE
@@ -353,12 +353,12 @@
140 CONTINUE
END IF
DO 160 L = 1,K
- IF (B(J,L).NE.ZERO) THEN
+c IF (B(J,L).NE.ZERO) THEN
TEMP = ALPHA*B(J,L)
DO 150 I = 1,M
C(I,J) = C(I,J) + TEMP*A(I,L)
150 CONTINUE
- END IF
+c END IF
160 CONTINUE
170 CONTINUE
ELSE
diff -up lapack-3.5.0/BLAS/SRC/dgemv.f.R lapack-3.5.0/BLAS/SRC/dgemv.f
--- lapack-3.5.0/BLAS/SRC/dgemv.f.R 2011-11-03 16:32:56.000000000 -0400
+++ lapack-3.5.0/BLAS/SRC/dgemv.f 2014-07-07 11:50:48.257175853 -0400
@@ -278,24 +278,24 @@
JX = KX
IF (INCY.EQ.1) THEN
DO 60 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
DO 50 I = 1,M
Y(I) = Y(I) + TEMP*A(I,J)
50 CONTINUE
- END IF
+c END IF
JX = JX + INCX
60 CONTINUE
ELSE
DO 80 J = 1,N
- IF (X(JX).NE.ZERO) THEN
+c IF (X(JX).NE.ZERO) THEN
TEMP = ALPHA*X(JX)
IY = KY
DO 70 I = 1,M
Y(IY) = Y(IY) + TEMP*A(I,J)
IY = IY + INCY
70 CONTINUE
- END IF
+c END IF
JX = JX + INCX
80 CONTINUE
END IF

View File

@ -0,0 +1,12 @@
diff -up lapack-3.5.0/LAPACKE/src/Makefile.matgenobj lapack-3.5.0/LAPACKE/src/Makefile
--- lapack-3.5.0/LAPACKE/src/Makefile.matgenobj 2014-06-17 13:21:30.336206692 -0400
+++ lapack-3.5.0/LAPACKE/src/Makefile 2014-06-17 13:22:31.701885152 -0400
@@ -2061,7 +2061,7 @@ lapacke_slagsy_work.o \
lapacke_zlagsy.o \
lapacke_zlagsy_work.o
-ALLOBJ = $(SRC_OBJ)
+ALLOBJ = $(SRC_OBJ) $(MATGEN_OBJ)
ifdef USEXBLAS
ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)

View File

@ -0,0 +1,36 @@
diff -up lapack-3.5.0/LAPACKE/Makefile.tmglib lapack-3.5.0/LAPACKE/Makefile
--- lapack-3.5.0/LAPACKE/Makefile.tmglib 2014-06-18 14:21:50.057725467 -0400
+++ lapack-3.5.0/LAPACKE/Makefile 2014-06-18 14:22:29.360436295 -0400
@@ -50,7 +50,7 @@ lapacke:
cd utils && $(MAKE)
shlib: lapacke
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LIBS) -lgfortran -lc
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LIBS) -lgfortran -lc ../TESTING/MATGEN/*.o
lapacke_example:
cd example && $(MAKE)
diff -up lapack-3.5.0/LAPACKE/src/Makefile.tmglib lapack-3.5.0/LAPACKE/src/Makefile
--- lapack-3.5.0/LAPACKE/src/Makefile.tmglib 2014-06-18 14:21:50.056725474 -0400
+++ lapack-3.5.0/LAPACKE/src/Makefile 2014-06-18 14:21:50.057725467 -0400
@@ -2073,7 +2073,7 @@ OBJ_FILES := $(C_FILES:.o=.o)
all: ../../$(LAPACKELIB)
../../$(LAPACKELIB): $(ALLOBJ) $(ALLXOBJ)
- $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ)
+ $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ) ../../TESTING/MATGEN/*.o
$(RANLIB) ../../$(LAPACKELIB)
.c.o:
diff -up lapack-3.5.0/Makefile.tmglib lapack-3.5.0/Makefile
--- lapack-3.5.0/Makefile.tmglib 2012-04-13 14:22:32.000000000 -0400
+++ lapack-3.5.0/Makefile 2014-06-18 14:21:50.058725460 -0400
@@ -23,7 +23,7 @@ blaslib:
lapacklib: lapack_install
( cd SRC; $(MAKE) )
-lapackelib: lapacklib
+lapackelib: tmglib lapacklib
( cd lapacke; $(MAKE) )
lapacke_example: lapackelib

View File

@ -0,0 +1,36 @@
diff -up lapack-3.6.0/LAPACKE/Makefile.tmglib lapack-3.6.0/LAPACKE/Makefile
--- lapack-3.6.0/LAPACKE/Makefile.tmglib 2015-12-02 10:01:15.639679177 -0500
+++ lapack-3.6.0/LAPACKE/Makefile 2015-12-02 10:01:15.660679035 -0500
@@ -50,7 +50,7 @@ lapacke:
cd utils && $(MAKE)
shlib: lapacke
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LIBS) -lgfortran -lc
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LIBS) -lgfortran -lc ../TESTING/MATGEN/*.o
lapacke_example:
cd example && $(MAKE)
diff -up lapack-3.6.0/LAPACKE/src/Makefile.tmglib lapack-3.6.0/LAPACKE/src/Makefile
--- lapack-3.6.0/LAPACKE/src/Makefile.tmglib 2015-12-03 12:18:04.216900463 -0500
+++ lapack-3.6.0/LAPACKE/src/Makefile 2015-12-03 12:18:15.638838677 -0500
@@ -2204,7 +2204,7 @@ OBJ_FILES := $(C_FILES:.o=.o)
all: ../../$(LAPACKELIB)
../../$(LAPACKELIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
- $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
+ $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED) ../../TESTING/MATGEN/*.o
$(RANLIB) ../../$(LAPACKELIB)
.c.o:
diff -up lapack-3.6.0/Makefile.tmglib lapack-3.6.0/Makefile
--- lapack-3.6.0/Makefile.tmglib 2015-11-01 11:21:47.000000000 -0500
+++ lapack-3.6.0/Makefile 2015-12-02 10:01:15.647679123 -0500
@@ -26,7 +26,7 @@ cblaslib:
lapacklib: lapack_install
( cd SRC; $(MAKE) )
-lapackelib: lapacklib
+lapackelib: tmglib lapacklib
( cd LAPACKE; $(MAKE) )
cblas_example: cblaslib blaslib

View File

@ -0,0 +1,15 @@
diff -up lapack-3.6.0/INSTALL/make.inc.gfortran.fedora lapack-3.6.0/INSTALL/make.inc.gfortran
--- lapack-3.6.0/INSTALL/make.inc.gfortran.fedora 2015-11-17 11:25:02.789918460 -0500
+++ lapack-3.6.0/INSTALL/make.inc.gfortran 2015-11-17 11:26:45.806115209 -0500
@@ -17,9 +17,9 @@ SHELL = /bin/sh
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = gfortran
-OPTS = -O2 -frecursive
+#OPTS = -O2 -frecursive
DRVOPTS = $(OPTS)
-NOOPT = -O0 -frecursive
+NOOPT =
LOADER = gfortran
LOADOPTS =
#

View File

@ -0,0 +1,21 @@
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.shared lapack-3.7.1/INSTALL/make.inc.gfortran
--- lapack-3.7.1/INSTALL/make.inc.gfortran.shared 2017-08-01 11:46:10.665067382 -0400
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:46:10.667067346 -0400
@@ -83,3 +83,4 @@ CBLASLIB = ../../libcblas.a
LAPACKLIB = liblapack.a
TMGLIB = libtmglib.a
LAPACKELIB = liblapacke.a
+SHLIB_LAPACKE = liblapacke.so
diff -up lapack-3.7.1/LAPACKE/Makefile.shared lapack-3.7.1/LAPACKE/Makefile
--- lapack-3.7.1/LAPACKE/Makefile.shared 2017-08-01 11:46:10.668067328 -0400
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:47:23.649755395 -0400
@@ -51,6 +51,9 @@ lapacke: include/lapacke_mangling.h
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
cp $< $@
+shlib: lapacke
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
+
lapacke_example: lapacke
$(MAKE) -C example

View File

@ -0,0 +1,25 @@
diff -up lapack-3.7.1/LAPACKE/Makefile.tmglib lapack-3.7.1/LAPACKE/Makefile
--- lapack-3.7.1/LAPACKE/Makefile.tmglib 2017-08-01 11:49:38.704327630 -0400
+++ lapack-3.7.1/LAPACKE/Makefile 2017-08-01 11:50:51.487019275 -0400
@@ -52,7 +52,7 @@ include/lapacke_mangling.h: include/lapa
cp $< $@
shlib: lapacke
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack ../TESTING/MATGEN/*.o
lapacke_example: lapacke
$(MAKE) -C example
diff -up lapack-3.7.1/LAPACKE/src/Makefile.tmglib lapack-3.7.1/LAPACKE/src/Makefile
diff -up lapack-3.7.1/Makefile.tmglib lapack-3.7.1/Makefile
--- lapack-3.7.1/Makefile.tmglib 2017-08-01 11:49:38.705327612 -0400
+++ lapack-3.7.1/Makefile 2017-08-01 11:52:11.149587246 -0400
@@ -20,7 +20,7 @@ cblaslib:
lapacklib:
$(MAKE) -C SRC
-lapackelib:
+lapackelib: tmglib
$(MAKE) -C LAPACKE
tmglib:

View File

@ -0,0 +1,15 @@
diff -up lapack-3.7.1/INSTALL/make.inc.gfortran.fedora lapack-3.7.1/INSTALL/make.inc.gfortran
--- lapack-3.7.1/INSTALL/make.inc.gfortran.fedora 2017-08-01 11:44:51.631843862 -0400
+++ lapack-3.7.1/INSTALL/make.inc.gfortran 2017-08-01 11:45:32.001809404 -0400
@@ -20,9 +20,9 @@ CFLAGS = -O3
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = gfortran
-OPTS = -O2 -frecursive
+# OPTS = -O2 -frecursive
DRVOPTS = $(OPTS)
-NOOPT = -O0 -frecursive
+NOOPT =
# Define LOADER and LOADOPTS to refer to the loader and desired
# load options for your machine.

View File

@ -0,0 +1,19 @@
diff -up lapack-3.8.0/LAPACKE/src/Makefile.missing-aawork lapack-3.8.0/LAPACKE/src/Makefile
--- lapack-3.8.0/LAPACKE/src/Makefile.missing-aawork 2018-02-26 15:44:06.754611865 -0500
+++ lapack-3.8.0/LAPACKE/src/Makefile 2018-02-26 15:44:39.925820302 -0500
@@ -1101,6 +1101,7 @@ lapacke_dsytrf_work.o \
lapacke_dsytrf_rook.o \
lapacke_dsytrf_rook_work.o \
lapacke_dsytrf_aa.o \
+lapacke_dsytrf_aa_work.o \
lapacke_dsytrf_aa_2stage.o \
lapacke_dsytrf_aa_2stage_work.o \
lapacke_dsytrf_rk.o \
@@ -1661,6 +1662,7 @@ lapacke_ssytrf_work.o \
lapacke_ssytrf_rook.o \
lapacke_ssytrf_rook_work.o \
lapacke_ssytrf_aa.o \
+lapacke_ssytrf_aa_work.o \
lapacke_ssytrf_aa_2stage.o \
lapacke_ssytrf_aa_2stage_work.o \
lapacke_ssytrf_rk.o \

View File

@ -0,0 +1,21 @@
diff -up lapack-3.9.0/INSTALL/make.inc.gfortran.shared lapack-3.9.0/INSTALL/make.inc.gfortran
--- lapack-3.9.0/INSTALL/make.inc.gfortran.shared 2019-11-26 09:19:38.689118934 -0500
+++ lapack-3.9.0/INSTALL/make.inc.gfortran 2019-11-26 09:20:52.442628214 -0500
@@ -81,3 +81,4 @@ CBLASLIB = $(TOPSRCDIR)/libcblas.a
LAPACKLIB = $(TOPSRCDIR)/liblapack.a
TMGLIB = $(TOPSRCDIR)/libtmglib.a
LAPACKELIB = $(TOPSRCDIR)/liblapacke.a
+SHLIB_LAPACKE = $(TOPSRCDIR)/liblapacke.so
diff -up lapack-3.9.0/LAPACKE/Makefile.shared lapack-3.9.0/LAPACKE/Makefile
--- lapack-3.9.0/LAPACKE/Makefile.shared 2019-11-26 09:19:38.689118934 -0500
+++ lapack-3.9.0/LAPACKE/Makefile 2019-11-26 09:21:59.977268139 -0500
@@ -54,6 +54,9 @@ lapacke: include/lapacke_mangling.h
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
cp include/lapacke_mangling_with_flags.h.in $@
+shlib: lapacke
+ $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
+
.PHONY: lapacke_example
lapacke_example: lapacke
$(MAKE) -C example

View File

@ -0,0 +1,24 @@
diff -up lapack-3.9.0/LAPACKE/Makefile.tmglib lapack-3.9.0/LAPACKE/Makefile
--- lapack-3.9.0/LAPACKE/Makefile.tmglib 2019-11-26 09:22:35.406554632 -0500
+++ lapack-3.9.0/LAPACKE/Makefile 2019-11-26 09:24:06.927711490 -0500
@@ -55,7 +55,7 @@ include/lapacke_mangling.h: include/lapa
cp include/lapacke_mangling_with_flags.h.in $@
shlib: lapacke
- $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack
+ $(CC) $(CFLAGS) -shared -Wl,-soname,liblapacke.so.@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc -L.. -llapack ../TESTING/MATGEN/*.o
.PHONY: lapacke_example
lapacke_example: lapacke
diff -up lapack-3.9.0/Makefile.tmglib lapack-3.9.0/Makefile
--- lapack-3.9.0/Makefile.tmglib 2019-11-26 09:22:35.408554591 -0500
+++ lapack-3.9.0/Makefile 2019-11-26 09:48:23.173944899 -0500
@@ -27,7 +27,7 @@ lapacklib:
$(MAKE) -C SRC
.PHONY: lapackelib
-lapackelib:
+lapackelib: tmglib
$(MAKE) -C LAPACKE
.PHONY: blaspplib

View File

@ -0,0 +1,15 @@
diff -up lapack-3.9.0/INSTALL/make.inc.gfortran.fedora lapack-3.9.0/INSTALL/make.inc.gfortran
--- lapack-3.9.0/INSTALL/make.inc.gfortran.fedora 2019-11-26 09:18:42.671256080 -0500
+++ lapack-3.9.0/INSTALL/make.inc.gfortran 2019-11-26 09:19:09.296715591 -0500
@@ -20,9 +20,9 @@ CFLAGS = -O3
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FC = gfortran
-FFLAGS = -O2 -frecursive
+FFLAGS =
FFLAGS_DRV = $(FFLAGS)
-FFLAGS_NOOPT = -O0 -frecursive
+FFLAGS_NOOPT =
# Define LDFLAGS to the desired linker options for your machine.
#

40
lapack-fixlwork.patch Normal file
View File

@ -0,0 +1,40 @@
--- LAPACK/SRC/dgesdd.f.BAD 2005-10-06 22:53:05.000000000 -0500
+++ LAPACK/SRC/dgesdd.f 2005-10-06 22:55:17.000000000 -0500
@@ -294,6 +294,8 @@
*
WRKBL = 3*N + ( M+N )*ILAENV( 1, 'DGEBRD', ' ', M, N, -1,
$ -1 )
+ MAXWRK = MAX( WRKBL, BDSPAC )
+ MINWRK = BDSPAC
IF( WNTQO ) THEN
WRKBL = MAX( WRKBL, 3*N+N*
$ ILAENV( 1, 'DORMBR', 'QLN', M, N, N, -1 ) )
@@ -390,6 +392,8 @@
*
WRKBL = 3*M + ( M+N )*ILAENV( 1, 'DGEBRD', ' ', M, N, -1,
$ -1 )
+ MAXWRK = MAX( WRKBL, BDSPAC )
+ MINWRK = BDSPAC
IF( WNTQO ) THEN
WRKBL = MAX( WRKBL, 3*M+M*
$ ILAENV( 1, 'DORMBR', 'QLN', M, M, N, -1 ) )
--- LAPACK/SRC/sgesdd.f.BAD 2005-10-06 22:55:41.000000000 -0500
+++ LAPACK/SRC/sgesdd.f 2005-10-06 22:56:50.000000000 -0500
@@ -294,6 +294,8 @@
*
WRKBL = 3*N + ( M+N )*ILAENV( 1, 'SGEBRD', ' ', M, N, -1,
$ -1 )
+ MAXWRK = MAX( WRKBL, BDSPAC )
+ MINWRK = BDSPAC
IF( WNTQO ) THEN
WRKBL = MAX( WRKBL, 3*N+N*
$ ILAENV( 1, 'SORMBR', 'QLN', M, N, N, -1 ) )
@@ -390,6 +392,8 @@
*
WRKBL = 3*M + ( M+N )*ILAENV( 1, 'SGEBRD', ' ', M, N, -1,
$ -1 )
+ MAXWRK = MAX( WRKBL, BDSPAC )
+ MINWRK = BDSPAC
IF( WNTQO ) THEN
WRKBL = MAX( WRKBL, 3*M+M*
$ ILAENV( 1, 'SORMBR', 'QLN', M, M, N, -1 ) )

1015
lapack.spec Normal file

File diff suppressed because it is too large Load Diff

1078
lapackqref.ps Normal file

File diff suppressed because it is too large Load Diff

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (manpages.tgz) = 75184bbfac90f46e4fbb25b341f00c260904b5f3174084022c53c686a5181bb678fc1ec948f419d33890cb5769a60ca1000964e4bf6cc89438552e8b8fe45f2a
SHA512 (v3.9.0.tar.gz) = 424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef