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:
parent
88ca53e183
commit
94f7c34f5a
14
.gitignore
vendored
14
.gitignore
vendored
@ -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
|
138
87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
Normal file
138
87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
Normal 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
84
Makefile.blas
Normal 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
99
Makefile.cblas
Normal 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
478
Makefile.lapack
Normal 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
801
blas-bz143340.patch
Normal 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
|
24100
lapack-20010525.patch
Normal file
24100
lapack-20010525.patch
Normal file
File diff suppressed because it is too large
Load Diff
29
lapack-3.1.0-make.inc.patch
Normal file
29
lapack-3.1.0-make.inc.patch
Normal 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)
|
20
lapack-3.1.0-no-external-etime.patch
Normal file
20
lapack-3.1.0-no-external-etime.patch
Normal 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 ..
|
||||
*
|
23
lapack-3.1.1-make.inc.patch
Normal file
23
lapack-3.1.1-make.inc.patch
Normal 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 =
|
||||
#
|
15
lapack-3.4.0-make.inc.patch
Normal file
15
lapack-3.4.0-make.inc.patch
Normal 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 =
|
||||
#
|
12
lapack-3.4.1-lapacke-disable-testing-functions.patch
Normal file
12
lapack-3.4.1-lapacke-disable-testing-functions.patch
Normal 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)
|
21
lapack-3.4.1-lapacke-shared.patch
Normal file
21
lapack-3.4.1-lapacke-shared.patch
Normal 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)
|
||||
|
99
lapack-3.5.0-R-blas-fixes.patch
Normal file
99
lapack-3.5.0-R-blas-fixes.patch
Normal 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
|
12
lapack-3.5.0-lapacke-matgenobj.patch
Normal file
12
lapack-3.5.0-lapacke-matgenobj.patch
Normal 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)
|
36
lapack-3.5.0-lapacke-tmglib.patch
Normal file
36
lapack-3.5.0-lapacke-tmglib.patch
Normal 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
|
36
lapack-3.6.0-lapacke-tmglib.patch
Normal file
36
lapack-3.6.0-lapacke-tmglib.patch
Normal 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
|
15
lapack-3.6.0-make.inc.patch
Normal file
15
lapack-3.6.0-make.inc.patch
Normal 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 =
|
||||
#
|
21
lapack-3.7.1-lapacke-shared.patch
Normal file
21
lapack-3.7.1-lapacke-shared.patch
Normal 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
|
||||
|
25
lapack-3.7.1-lapacke-tmglib.patch
Normal file
25
lapack-3.7.1-lapacke-tmglib.patch
Normal 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:
|
15
lapack-3.7.1-make.inc.patch
Normal file
15
lapack-3.7.1-make.inc.patch
Normal 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.
|
19
lapack-3.8.0-missing-aawork.patch
Normal file
19
lapack-3.8.0-missing-aawork.patch
Normal 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 \
|
21
lapack-3.9.0-lapacke-shared.patch
Normal file
21
lapack-3.9.0-lapacke-shared.patch
Normal 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
|
24
lapack-3.9.0-lapacke-tmglib.patch
Normal file
24
lapack-3.9.0-lapacke-tmglib.patch
Normal 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
|
15
lapack-3.9.0-make.inc.patch
Normal file
15
lapack-3.9.0-make.inc.patch
Normal 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
40
lapack-fixlwork.patch
Normal 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
1015
lapack.spec
Normal file
File diff suppressed because it is too large
Load Diff
1078
lapackqref.ps
Normal file
1078
lapackqref.ps
Normal file
File diff suppressed because it is too large
Load Diff
2
sources
Normal file
2
sources
Normal file
@ -0,0 +1,2 @@
|
||||
SHA512 (manpages.tgz) = 75184bbfac90f46e4fbb25b341f00c260904b5f3174084022c53c686a5181bb678fc1ec948f419d33890cb5769a60ca1000964e4bf6cc89438552e8b8fe45f2a
|
||||
SHA512 (v3.9.0.tar.gz) = 424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef
|
Loading…
Reference in New Issue
Block a user