Compare commits
No commits in common. "c9s" and "c8" have entirely different histories.
16
.gitignore
vendored
16
.gitignore
vendored
@ -1,14 +1,2 @@
|
|||||||
lapack-3.2.1.tgz
|
SOURCES/lapack-3.8.0.tar.gz
|
||||||
manpages.tgz
|
SOURCES/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
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
eb9ce19ce73e645bfb22af5480f16190baf09ae3 manpages.tgz
|
55ac9d6be510883c5442c8aca967722cdf58fb29 SOURCES/lapack-3.8.0.tar.gz
|
||||||
0451d180eed2b12b94aaae77e772d7573e87bec4 v3.9.0.tar.gz
|
eb9ce19ce73e645bfb22af5480f16190baf09ae3 SOURCES/manpages.tgz
|
||||||
|
@ -1,138 +0,0 @@
|
|||||||
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,
|
|
@ -1,7 +1,7 @@
|
|||||||
OBJCOPY = objcopy
|
OBJCOPY = objcopy
|
||||||
|
|
||||||
ifndef SYMBOLSUFFIX
|
ifndef SYMBOLPREFIX
|
||||||
SYMBOLSUFFIX =
|
SYMBOLPREFIX =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@ -56,29 +56,29 @@ OBJS= $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
|
|||||||
$(ALLBLAS)
|
$(ALLBLAS)
|
||||||
|
|
||||||
static: $(OBJS)
|
static: $(OBJS)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
ar ruv libblas.a $(OBJS)
|
ar ruv libblas.a $(OBJS)
|
||||||
ranlib libblas.a
|
ranlib libblas.a
|
||||||
else
|
else
|
||||||
ar ruv libblas$(SYMBOLSUFFIX).a $(OBJS)
|
ar ruv libblas$(SYMBOLPREFIX).a $(OBJS)
|
||||||
ranlib libblas$(SYMBOLSUFFIX).a
|
ranlib libblas$(SYMBOLPREFIX).a
|
||||||
for i in `nm libblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
for i in `nm libblas$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLPREFIX).a libblas$(SYMBOLPREFIX).a.fixed
|
||||||
rm -rf libblas$(SYMBOLSUFFIX).a
|
rm -rf libblas$(SYMBOLPREFIX).a
|
||||||
mv libblas$(SYMBOLSUFFIX).a.fixed libblas$(SYMBOLSUFFIX).a
|
mv libblas$(SYMBOLPREFIX).a.fixed libblas$(SYMBOLPREFIX).a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
shared: $(OBJS)
|
shared: $(OBJS)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
# No renaming needed
|
# No renaming needed
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||||
else
|
else
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||||
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
|
for i in `readelf -Ws libblas$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLPREFIX).so.@LONGVER@ libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||||
rm -rf libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
rm -rf libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
mv libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
mv libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
endif
|
endif
|
@ -1,7 +1,7 @@
|
|||||||
OBJCOPY = objcopy
|
OBJCOPY = objcopy
|
||||||
|
|
||||||
ifndef SYMBOLSUFFIX
|
ifndef SYMBOLPREFIX
|
||||||
SYMBOLSUFFIX =
|
SYMBOLPREFIX =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@ -70,30 +70,30 @@ OBJS= $(SLEV1) $(DLEV1) $(CLEV1) $(ZLEV1) $(SCLEV1) $(SLEV2) $(DLEV2) $(CLEV2) \
|
|||||||
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
|
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
|
||||||
|
|
||||||
static: $(OBJS)
|
static: $(OBJS)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
ar ruv libcblas.a $(OBJS)
|
ar ruv libcblas.a $(OBJS)
|
||||||
ranlib libcblas.a
|
ranlib libcblas.a
|
||||||
else
|
else
|
||||||
ar ruv libcblas$(SYMBOLSUFFIX).a $(OBJS)
|
ar ruv libcblas$(SYMBOLPREFIX).a $(OBJS)
|
||||||
ranlib libcblas$(SYMBOLSUFFIX).a
|
ranlib libcblas$(SYMBOLPREFIX).a
|
||||||
for i in `nm libcblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
for i in `nm libcblas$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLPREFIX).a libcblas$(SYMBOLPREFIX).a.fixed
|
||||||
rm -rf libcblas$(SYMBOLSUFFIX).a
|
rm -rf libcblas$(SYMBOLPREFIX).a
|
||||||
mv libcblas$(SYMBOLSUFFIX).a.fixed libcblas$(SYMBOLSUFFIX).a
|
mv libcblas$(SYMBOLPREFIX).a.fixed libcblas$(SYMBOLPREFIX).a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
shared: $(OBJS)
|
shared: $(OBJS)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
# No renaming needed
|
# No renaming needed
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
|
||||||
else
|
else
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libcblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libcblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||||
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
|
for i in `readelf -Ws libcblas$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLPREFIX).so.@LONGVER@ libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||||
rm -rf libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
rm -rf libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
mv libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
mv libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
endif
|
endif
|
||||||
|
|
@ -2,8 +2,8 @@ include ../make.inc
|
|||||||
|
|
||||||
OBJCOPY = objcopy
|
OBJCOPY = objcopy
|
||||||
|
|
||||||
ifndef SYMBOLSUFFIX
|
ifndef SYMBOLPREFIX
|
||||||
SYMBOLSUFFIX =
|
SYMBOLPREFIX =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@ -38,7 +38,7 @@ SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
|||||||
slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.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 \
|
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 \
|
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 \
|
sorgrq.o sorgtr.o sorm2l.o sorm2r.o sorm22.o \
|
||||||
sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.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 \
|
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||||
spbstf.o spbsv.o spbsvx.o \
|
spbstf.o spbsv.o spbsvx.o \
|
||||||
@ -80,11 +80,9 @@ SLASRC = sbdsvdx.o sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
|||||||
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
|
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
|
||||||
sgelq.o slaswlq.o slamswlq.o sgemlq.o \
|
sgelq.o slaswlq.o slamswlq.o sgemlq.o \
|
||||||
stplqt.o stplqt2.o stpmlqt.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 \
|
ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \
|
||||||
ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.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 \
|
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/sgegs.o DEPRECATED/sgegv.o DEPRECATED/sgeqpf.o DEPRECATED/sgelsx.o \
|
||||||
DEPRECATED/sggsvd.o DEPRECATED/sggsvp.o DEPRECATED/slahrd.o DEPRECATED/slatzm.o \
|
DEPRECATED/sggsvd.o DEPRECATED/sggsvp.o DEPRECATED/slahrd.o DEPRECATED/slatzm.o \
|
||||||
DEPRECATED/stzrqf.o
|
DEPRECATED/stzrqf.o
|
||||||
@ -161,7 +159,7 @@ CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
|||||||
ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.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 \
|
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 \
|
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 \
|
cungrq.o cungtr.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 \
|
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 \
|
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 \
|
chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
|
||||||
@ -175,11 +173,9 @@ CLASRC = cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
|||||||
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
|
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
|
||||||
cgelq.o claswlq.o clamswlq.o cgemlq.o \
|
cgelq.o claswlq.o clamswlq.o cgemlq.o \
|
||||||
ctplqt.o ctplqt2.o ctpmlqt.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 \
|
chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \
|
||||||
cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.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 \
|
chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o \
|
||||||
cgesvdq.o \
|
|
||||||
DEPRECATED/cgegs.o DEPRECATED/cgegv.o \
|
DEPRECATED/cgegs.o DEPRECATED/cgegv.o \
|
||||||
DEPRECATED/cgeqpf.o DEPRECATED/cgelsx.o DEPRECATED/cggsvd.o \
|
DEPRECATED/cgeqpf.o DEPRECATED/cgelsx.o DEPRECATED/cggsvd.o \
|
||||||
DEPRECATED/cggsvp.o DEPRECATED/clahrd.o DEPRECATED/clatzm.o DEPRECATED/ctzrqf.o
|
DEPRECATED/cggsvp.o DEPRECATED/clahrd.o DEPRECATED/clatzm.o DEPRECATED/ctzrqf.o
|
||||||
@ -213,7 +209,7 @@ DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
|||||||
dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.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 \
|
dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
|
||||||
dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.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 \
|
dorgrq.o dorgtr.o dorm2l.o dorm2r.o dorm22.o \
|
||||||
dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.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 \
|
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||||
dpbstf.o dpbsv.o dpbsvx.o \
|
dpbstf.o dpbsv.o dpbsvx.o \
|
||||||
@ -257,11 +253,9 @@ DLASRC = dbdsvdx.o dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
|||||||
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
|
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
|
||||||
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
|
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
|
||||||
dtplqt.o dtplqt2.o dtpmlqt.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 \
|
dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \
|
||||||
dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.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 \
|
dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o \
|
||||||
dgesvdq.o dcombssq.o \
|
|
||||||
DEPRECATED/dgegs.o DEPRECATED/dgegv.o \
|
DEPRECATED/dgegs.o DEPRECATED/dgegv.o \
|
||||||
DEPRECATED/dgeqpf.o DEPRECATED/dgelsx.o DEPRECATED/dggsvd.o \
|
DEPRECATED/dgeqpf.o DEPRECATED/dgelsx.o DEPRECATED/dggsvd.o \
|
||||||
DEPRECATED/dggsvp.o DEPRECATED/dlahrd.o DEPRECATED/dlatzm.o DEPRECATED/dtzrqf.o
|
DEPRECATED/dggsvp.o DEPRECATED/dlahrd.o DEPRECATED/dlatzm.o DEPRECATED/dtzrqf.o
|
||||||
@ -338,7 +332,7 @@ ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
|||||||
ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.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 \
|
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 \
|
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 \
|
zungrq.o zungtr.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 \
|
zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
|
||||||
zunmtr.o zupgtr.o \
|
zunmtr.o zupgtr.o \
|
||||||
zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
||||||
@ -354,11 +348,9 @@ ZLASRC = zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
|||||||
zgelqt.o zgelqt3.o zgemlqt.o \
|
zgelqt.o zgelqt3.o zgemlqt.o \
|
||||||
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
|
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
|
||||||
zgelq.o zlaswlq.o zlamswlq.o zgemlq.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 \
|
zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \
|
||||||
zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.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 \
|
zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o \
|
||||||
zgesvdq.o \
|
|
||||||
|
|
||||||
SCLAUX = sbdsdc.o \
|
SCLAUX = sbdsdc.o \
|
||||||
sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
||||||
@ -450,29 +442,29 @@ ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
static: $(ALLOBJ) $(ALLXOBJ)
|
static: $(ALLOBJ) $(ALLXOBJ)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
|
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
|
||||||
ranlib liblapack.a
|
ranlib liblapack.a
|
||||||
else
|
else
|
||||||
ar ruv liblapack$(SYMBOLSUFFIX).a $(ALLOBJ) $(ALLXOBJ)
|
ar ruv liblapack$(SYMBOLPREFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||||
ranlib liblapack$(SYMBOLSUFFIX).a
|
ranlib liblapack$(SYMBOLPREFIX).a
|
||||||
for i in `nm liblapack$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
for i in `nm liblapack$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLPREFIX).a liblapack$(SYMBOLPREFIX).a.fixed
|
||||||
rm -rf liblapack$(SYMBOLSUFFIX).a
|
rm -rf liblapack$(SYMBOLPREFIX).a
|
||||||
mv liblapack$(SYMBOLSUFFIX).a.fixed liblapack$(SYMBOLSUFFIX).a
|
mv liblapack$(SYMBOLPREFIX).a.fixed liblapack$(SYMBOLPREFIX).a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
shared: $(ALLOBJ) $(ALLXOBJ)
|
shared: $(ALLOBJ) $(ALLXOBJ)
|
||||||
ifeq "$(SYMBOLSUFFIX)" ""
|
ifeq "$(SYMBOLPREFIX)" ""
|
||||||
# No renaming needed
|
# No renaming needed
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||||
else
|
else
|
||||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLSUFFIX).so.@SHORTVER@ -o liblapack$(SYMBOLSUFFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLPREFIX).so.@SHORTVER@ -o liblapack$(SYMBOLPREFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||||
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
|
for i in `readelf -Ws liblapack$(SYMBOLPREFIX).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
|
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
|
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLPREFIX).so.@LONGVER@ liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||||
rm -rf liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
rm -rf liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
mv liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
mv liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||||
endif
|
endif
|
@ -14,7 +14,7 @@ diff -up lapack-3.7.1/LAPACKE/Makefile.shared lapack-3.7.1/LAPACKE/Makefile
|
|||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
+shlib: lapacke
|
+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
|
||||||
+
|
+
|
||||||
lapacke_example: lapacke
|
lapacke_example: lapacke
|
||||||
$(MAKE) -C example
|
$(MAKE) -C example
|
@ -5,8 +5,8 @@ diff -up lapack-3.7.1/LAPACKE/Makefile.tmglib lapack-3.7.1/LAPACKE/Makefile
|
|||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
shlib: lapacke
|
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
|
||||||
+ $(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
|
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHLIB_LAPACKE).@SHORTVER@ -o $(SHLIB_LAPACKE).@LONGVER@ src/*.o utils/*.o $(LDFLAGS) $(LIBS) -lgfortran -lc ../TESTING/MATGEN/*.o
|
||||||
|
|
||||||
lapacke_example: lapacke
|
lapacke_example: lapacke
|
||||||
$(MAKE) -C example
|
$(MAKE) -C example
|
@ -1,5 +1,5 @@
|
|||||||
%global shortver 3
|
%global shortver 3
|
||||||
%global mediumver %{shortver}.9
|
%global mediumver %{shortver}.8
|
||||||
|
|
||||||
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
||||||
%global arch64 1
|
%global arch64 1
|
||||||
@ -10,28 +10,27 @@
|
|||||||
Summary: Numerical linear algebra package libraries
|
Summary: Numerical linear algebra package libraries
|
||||||
Name: lapack
|
Name: lapack
|
||||||
Version: %{mediumver}.0
|
Version: %{mediumver}.0
|
||||||
Release: 10%{?dist}
|
Release: 8%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
|
Group: System Environment/Libraries
|
||||||
URL: http://www.netlib.org/lapack/
|
URL: http://www.netlib.org/lapack/
|
||||||
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz
|
Source0: http://www.netlib.org/lapack/lapack-%{version}.tar.gz
|
||||||
Source1: http://www.netlib.org/lapack/manpages.tgz
|
Source1: http://www.netlib.org/lapack/manpages.tgz
|
||||||
Source2: Makefile.blas
|
Source2: Makefile.blas
|
||||||
Source3: Makefile.lapack
|
Source3: Makefile.lapack
|
||||||
Source4: http://www.netlib.org/lapack/lapackqref.ps
|
Source4: http://www.netlib.org/lapack/lapackqref.ps
|
||||||
Source5: http://www.netlib.org/blas/blasqr.ps
|
Source5: http://www.netlib.org/blas/blasqr.ps
|
||||||
Source6: Makefile.cblas
|
Source6: Makefile.cblas
|
||||||
Patch3: lapack-3.9.0-make.inc.patch
|
Patch3: lapack-3.7.1-make.inc.patch
|
||||||
Patch4: lapack-3.9.0-lapacke-shared.patch
|
Patch4: lapack-3.7.1-lapacke-shared.patch
|
||||||
Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch
|
Patch5: lapack-3.4.1-lapacke-disable-testing-functions.patch
|
||||||
Patch6: lapack-3.5.0-lapacke-matgenobj.patch
|
Patch6: lapack-3.5.0-lapacke-matgenobj.patch
|
||||||
Patch7: lapack-3.9.0-lapacke-tmglib.patch
|
Patch7: lapack-3.7.1-lapacke-tmglib.patch
|
||||||
# Bugzilla 1814756
|
Patch8: lapack-3.8.0-missing-aawork.patch
|
||||||
Patch8: https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb0af00f66088fb6ac05d87509e011.patch
|
|
||||||
BuildRequires: gcc-gfortran, gawk
|
BuildRequires: gcc-gfortran, gawk
|
||||||
BuildRequires: make
|
|
||||||
Requires: blas%{?_isa} = %{version}-%{release}
|
Requires: blas%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%global _description_lapack %{expand:
|
%description
|
||||||
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||||
linear algebra. LAPACK provides routines for solving systems of
|
linear algebra. LAPACK provides routines for solving systems of
|
||||||
simultaneous linear equations, least-squares solutions of linear
|
simultaneous linear equations, least-squares solutions of linear
|
||||||
@ -43,18 +42,19 @@ are also included. LAPACK can handle dense and banded matrices, but
|
|||||||
not general sparse matrices. Similar functionality is provided for
|
not general sparse matrices. Similar functionality is provided for
|
||||||
real and complex matrices in both single and double precision. LAPACK
|
real and complex matrices in both single and double precision. LAPACK
|
||||||
is coded in Fortran90 and built with gcc.
|
is coded in Fortran90 and built with gcc.
|
||||||
}
|
|
||||||
|
|
||||||
%global _description_blas %{expand:
|
%package devel
|
||||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
Summary: LAPACK development libraries
|
||||||
provides a number of basic algorithms for numerical algebra.
|
Group: Development/Libraries
|
||||||
}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||||
%description %_description_lapack
|
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
LAPACK development libraries (shared).
|
||||||
|
|
||||||
%package static
|
%package static
|
||||||
Summary: LAPACK static libraries
|
Summary: LAPACK static libraries
|
||||||
|
Group: Development/Libraries
|
||||||
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description static
|
%description static
|
||||||
@ -62,79 +62,93 @@ LAPACK static libraries.
|
|||||||
|
|
||||||
%package -n blas
|
%package -n blas
|
||||||
Summary: The Basic Linear Algebra Subprograms library
|
Summary: The Basic Linear Algebra Subprograms library
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
%description -n blas %_description_blas
|
%description -n blas
|
||||||
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||||
|
provides a number of basic algorithms for numerical algebra.
|
||||||
|
|
||||||
|
%package -n blas-devel
|
||||||
|
Summary: BLAS development libraries
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: blas%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: gcc-gfortran
|
||||||
|
|
||||||
|
%description -n blas-devel
|
||||||
|
BLAS development libraries (shared).
|
||||||
|
|
||||||
%package -n blas-static
|
%package -n blas-static
|
||||||
Summary: BLAS static libraries
|
Summary: BLAS static libraries
|
||||||
|
Group: Development/Libraries
|
||||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n blas-static
|
%description -n blas-static
|
||||||
BLAS static libraries.
|
BLAS static libraries.
|
||||||
|
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
%package devel
|
|
||||||
Summary: LAPACK development libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: %{name}64%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: %{name}64_%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
LAPACK development libraries (shared).
|
|
||||||
|
|
||||||
%package -n lapack64
|
%package -n lapack64
|
||||||
Summary: Numerical linear algebra package libraries
|
Summary: Numerical linear algebra package libraries
|
||||||
|
Group: System Environment/Libraries
|
||||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n lapack64 %_description_lapack
|
%description -n lapack64
|
||||||
|
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||||
|
linear algebra. LAPACK provides routines for solving systems of
|
||||||
|
simultaneous linear equations, least-squares solutions of linear
|
||||||
|
systems of equations, eigenvalue problems, and singular value
|
||||||
|
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
|
||||||
|
Schur, and generalized Schur) and related computations (i.e.,
|
||||||
|
reordering of Schur factorizations and estimating condition numbers)
|
||||||
|
are also included. LAPACK can handle dense and banded matrices, but
|
||||||
|
not general sparse matrices. Similar functionality is provided for
|
||||||
|
real and complex matrices in both single and double precision. LAPACK
|
||||||
|
is coded in Fortran90 and built with gcc.
|
||||||
This build has 64bit INTEGER support.
|
This build has 64bit INTEGER support.
|
||||||
|
|
||||||
|
%package -n lapack64-devel
|
||||||
|
Summary: LAPACK development libraries (64bit INTEGER)
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: lapack64%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n lapack64-devel
|
||||||
|
LAPACK development libraries (shared, 64bit INTEGER).
|
||||||
|
|
||||||
|
%package -n lapack64-static
|
||||||
|
Summary: LAPACK static libraries (64bit INTEGER)
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: lapack64-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n lapack64-static
|
||||||
|
LAPACK static libraries (64bit INTEGER).
|
||||||
|
|
||||||
%package -n blas64
|
%package -n blas64
|
||||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
%description -n blas64 %_description_blas
|
%description -n blas64
|
||||||
This build has 64bit INTEGER support.
|
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||||
|
provides a number of basic algorithms for numerical algebra. This build
|
||||||
|
has 64bit INTEGER support.
|
||||||
|
|
||||||
%package -n lapack64_
|
%package -n blas64-devel
|
||||||
Summary: Numerical linear algebra package libraries
|
|
||||||
Requires: blas64_%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n lapack64_ %_description_lapack
|
|
||||||
This build has 64bit INTEGER support and a symbol name suffix.
|
|
||||||
|
|
||||||
%package -n blas64_
|
|
||||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
|
||||||
|
|
||||||
%description -n blas64_ %_description_blas
|
|
||||||
This build has 64bit INTEGER support and a symbol name suffix.
|
|
||||||
|
|
||||||
%package -n blas-devel
|
|
||||||
Summary: BLAS development libraries
|
Summary: BLAS development libraries
|
||||||
Requires: blas%{?_isa} = %{version}-%{release}
|
Group: Development/Libraries
|
||||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||||
Requires: blas64_%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: gcc-gfortran
|
|
||||||
|
|
||||||
%description -n blas-devel
|
|
||||||
BLAS development libraries (shared).
|
|
||||||
%else
|
|
||||||
%package devel
|
|
||||||
Summary: LAPACK development libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
|
||||||
LAPACK development libraries (shared).
|
|
||||||
|
|
||||||
%package -n blas-devel
|
|
||||||
Summary: BLAS development libraries
|
|
||||||
Requires: blas%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: gcc-gfortran
|
Requires: gcc-gfortran
|
||||||
|
|
||||||
%description -n blas-devel
|
%description -n blas64-devel
|
||||||
BLAS development libraries (shared).
|
BLAS development libraries (shared).
|
||||||
|
|
||||||
|
%package -n blas64-static
|
||||||
|
Summary: BLAS static libraries (64bit INTEGER)
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n blas64-static
|
||||||
|
BLAS static libraries (64bit INTEGER).
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
@ -145,7 +159,7 @@ BLAS development libraries (shared).
|
|||||||
# %patch5 -p1 -b .disable-functions
|
# %patch5 -p1 -b .disable-functions
|
||||||
# %patch6 -p1 -b .matgenobj
|
# %patch6 -p1 -b .matgenobj
|
||||||
%patch7 -p1 -b .tmglib
|
%patch7 -p1 -b .tmglib
|
||||||
%patch8 -p1 -b .bz1814756
|
%patch8 -p1 -b .missing-aawork
|
||||||
|
|
||||||
mkdir manpages
|
mkdir manpages
|
||||||
mv man/ manpages/
|
mv man/ manpages/
|
||||||
@ -165,7 +179,7 @@ sed -i "s|@LONGVER@|%{version}|g" LAPACKE/Makefile
|
|||||||
sed -i "s|@LONGVER@|%{version}|g" CBLAS/src/Makefile
|
sed -i "s|@LONGVER@|%{version}|g" CBLAS/src/Makefile
|
||||||
|
|
||||||
%build
|
%build
|
||||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive --no-optimize-sibling-calls"
|
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -frecursive"
|
||||||
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
|
RPM_OPT_O_FLAGS=$(echo $RPM_OPT_FLAGS | sed 's|-O2|-O0|')
|
||||||
export FC=gfortran
|
export FC=gfortran
|
||||||
|
|
||||||
@ -181,26 +195,17 @@ cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
|||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
make clean
|
make clean
|
||||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||||
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.a
|
|
||||||
make clean
|
|
||||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
|
||||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
|
||||||
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.so.%{version}
|
|
||||||
make clean
|
|
||||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
|
||||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
|
||||||
cp libblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.a
|
cp libblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.a
|
||||||
make clean
|
make clean
|
||||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||||
cp libblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.so.%{version}
|
cp libblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.so.%{version}
|
||||||
%endif
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
ln -s libblas.so.%{version} libblas.so
|
ln -s libblas.so.%{version} libblas.so
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
ln -s libblas64.so.%{version} libblas64.so
|
|
||||||
ln -s libblas64_.so.%{version} libblas64_.so
|
ln -s libblas64_.so.%{version} libblas64_.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -214,29 +219,22 @@ FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS
|
|||||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
make clean
|
make clean
|
||||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||||
cp libcblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.a
|
|
||||||
make clean
|
|
||||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
|
||||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.so.%{version}
|
|
||||||
make clean
|
|
||||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
|
||||||
cp libcblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.a
|
cp libcblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.a
|
||||||
make clean
|
make clean
|
||||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||||
cp libcblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.so.%{version}
|
cp libcblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.so.%{version}
|
||||||
%endif
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
ln -s libcblas.so.%{version} libcblas.so
|
ln -s libcblas.so.%{version} libcblas.so
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
ln -s libcblas64.so.%{version} libcblas64.so
|
|
||||||
ln -s libcblas64_.so.%{version} libcblas64_.so
|
ln -s libcblas64_.so.%{version} libcblas64_.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS" FFLAGS="$RPM_OPT_FLAGS"
|
make NOOPT="$RPM_OPT_O_FLAGS" OPTS="$RPM_OPT_FLAGS"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the static lapack library
|
# Build the static lapack library
|
||||||
@ -248,7 +246,7 @@ popd
|
|||||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
|
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make clean
|
make clean
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
|
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the static with pic lapack library
|
# Build the static with pic lapack library
|
||||||
@ -261,61 +259,33 @@ popd
|
|||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make clean
|
make NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the static lapack library
|
# Build the static lapack library
|
||||||
pushd SRC
|
pushd SRC
|
||||||
make clean
|
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||||
make FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
|
||||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.a
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
|
||||||
pushd INSTALL
|
|
||||||
make clean
|
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the static with pic lapack library (64bit INTEGER)
|
|
||||||
pushd SRC
|
|
||||||
make clean
|
|
||||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
|
||||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64.a
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
|
||||||
pushd INSTALL
|
|
||||||
make clean
|
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the static lapack library
|
|
||||||
pushd SRC
|
|
||||||
make clean
|
|
||||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
|
||||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
|
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make clean
|
make clean
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the static with pic lapack library (64bit INTEGER)
|
# Build the static with pic lapack library (64bit INTEGER)
|
||||||
pushd SRC
|
pushd SRC
|
||||||
make clean
|
make clean
|
||||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64_.a
|
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make clean
|
make clean
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" FFLAGS="$RPM_OPT_FLAGS -fPIC"
|
make NOOPT="$RPM_OPT_O_FLAGS -fPIC" OPTS="$RPM_OPT_FLAGS -fPIC"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the shared lapack library
|
# Build the shared lapack library
|
||||||
@ -329,64 +299,47 @@ popd
|
|||||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||||
pushd INSTALL
|
pushd INSTALL
|
||||||
make clean
|
make clean
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
make NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" OPTS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Build the shared lapack library
|
# Build the shared lapack library
|
||||||
pushd SRC
|
pushd SRC
|
||||||
make clean
|
make clean
|
||||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.so.%{version}
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
|
||||||
pushd INSTALL
|
|
||||||
make clean
|
|
||||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build the shared lapack library
|
|
||||||
pushd SRC
|
|
||||||
make clean
|
|
||||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
|
||||||
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
|
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
ln -s liblapack.so.%{version} liblapack.so
|
ln -s liblapack.so.%{version} liblapack.so
|
||||||
|
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
ln -s liblapack64.so.%{version} liblapack64.so
|
|
||||||
ln -s liblapack64_.so.%{version} liblapack64_.so
|
ln -s liblapack64_.so.%{version} liblapack64_.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Build the lapacke libraries
|
# Build the lapacke libraries
|
||||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC" FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
|
make OPTS="$RPM_OPT_FLAGS -fPIC" NOOPT="$RPM_OPT_O_FLAGS -fPIC" tmglib
|
||||||
pushd LAPACKE
|
pushd LAPACKE
|
||||||
make clean
|
make clean
|
||||||
make CFLAGS="$RPM_OPT_FLAGS" BUILD_DEPRECATED="true" lapacke
|
make CFLAGS="$RPM_OPT_FLAGS" BUILD_DEPRECATED="true" lapacke
|
||||||
make clean
|
make clean
|
||||||
make CFLAGS="$RPM_OPT_FLAGS -fPIC" BUILD_DEPRECATED="true" LDFLAGS="%{build_ldflags}" shlib
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC" BUILD_DEPRECATED="true" LDFLAGS="%{build_ldflags}" shlib
|
||||||
# cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
cp liblapacke.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
cp -p %{SOURCE4} lapackqref.ps
|
cp -p %{SOURCE4} lapackqref.ps
|
||||||
cp -p %{SOURCE5} blasqr.ps
|
cp -p %{SOURCE5} blasqr.ps
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{_libdir}
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||||||
mkdir -p %{buildroot}%{_mandir}/man3
|
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||||
chmod 755 %{buildroot}%{_mandir}/man3
|
chmod 755 ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||||
|
|
||||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} \
|
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||||
libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
|
||||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||||
done
|
done
|
||||||
|
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
for f in liblapack64.so.%{version} libblas64.so.%{version} libcblas64.so.%{version} \
|
for f in liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} libblas64_.a libcblas64_.a liblapack64_.a liblapack64_pic.a; do
|
||||||
liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} \
|
|
||||||
libblas64.a libcblas64.a liblapack64.a liblapack_pic64.a \
|
|
||||||
libblas64_.a libcblas64_.a liblapack64_.a liblapack_pic64_.a; do
|
|
||||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
@ -436,12 +389,6 @@ pushd manpages/man/man3
|
|||||||
rm -rf _Users_julie*
|
rm -rf _Users_julie*
|
||||||
popd
|
popd
|
||||||
|
|
||||||
#rhbz#2222868
|
|
||||||
pushd manpages/man/man3
|
|
||||||
mv MAX.3 lapack-MAX.3
|
|
||||||
mv MIN.3 lapack-MIN.3
|
|
||||||
popd
|
|
||||||
|
|
||||||
find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
|
find manpages/man/man3 -type f -printf "%{_mandir}/man3/%f*\n" > lapackmans
|
||||||
|
|
||||||
cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
cp -f manpages/blas/man/man3/* ${RPM_BUILD_ROOT}%{_mandir}/man3
|
||||||
@ -455,7 +402,7 @@ cp -a CBLAS/include/*.h %{buildroot}%{_includedir}/cblas/
|
|||||||
mkdir -p %{buildroot}%{_includedir}/lapacke/
|
mkdir -p %{buildroot}%{_includedir}/lapacke/
|
||||||
cp -a LAPACKE/include/*.h %{buildroot}%{_includedir}/lapacke/
|
cp -a LAPACKE/include/*.h %{buildroot}%{_includedir}/lapacke/
|
||||||
|
|
||||||
pushd %{buildroot}%{_libdir}
|
pushd ${RPM_BUILD_ROOT}%{_libdir}
|
||||||
ln -sf liblapack.so.%{version} liblapack.so
|
ln -sf liblapack.so.%{version} liblapack.so
|
||||||
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
|
ln -sf liblapack.so.%{version} liblapack.so.%{shortver}
|
||||||
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
ln -sf liblapack.so.%{version} liblapack.so.%{mediumver}
|
||||||
@ -469,15 +416,6 @@ ln -sf liblapacke.so.%{version} liblapacke.so
|
|||||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
||||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
ln -sf liblapack64.so.%{version} liblapack64.so
|
|
||||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{shortver}
|
|
||||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{mediumver}
|
|
||||||
ln -sf libblas64.so.%{version} libblas64.so
|
|
||||||
ln -sf libblas64.so.%{version} libblas64.so.%{shortver}
|
|
||||||
ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
|
|
||||||
ln -sf libcblas64.so.%{version} libcblas64.so
|
|
||||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{shortver}
|
|
||||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{mediumver}
|
|
||||||
ln -sf liblapack64_.so.%{version} liblapack64_.so
|
ln -sf liblapack64_.so.%{version} liblapack64_.so
|
||||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
|
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
|
||||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
|
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
|
||||||
@ -498,11 +436,8 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
|||||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||||
sed -i 's|-llapack|-llapack64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||||
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
|
||||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
|
||||||
sed -i 's|blas|blas64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
|
||||||
%endif
|
%endif
|
||||||
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||||
@ -510,9 +445,7 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
|||||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||||
sed -i 's|-lblas|-lblas64|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
|
||||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
|
||||||
%endif
|
%endif
|
||||||
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||||
@ -524,23 +457,26 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/cblas|g' %{buildroot}%{
|
|||||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||||
sed -i 's|-lcblas|-lcblas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||||
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
|
||||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
|
||||||
sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
%ldconfig_scriptlets -n blas
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n blas -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n blas -p /sbin/ldconfig
|
||||||
|
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
%ldconfig_scriptlets -n lapack64
|
%post -n lapack64 -p /sbin/ldconfig
|
||||||
%ldconfig_scriptlets -n lapack64_
|
|
||||||
|
|
||||||
%ldconfig_scriptlets -n blas64
|
%postun -n lapack64 -p /sbin/ldconfig
|
||||||
%ldconfig_scriptlets -n blas64_
|
|
||||||
|
%post -n blas64 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n blas64 -p /sbin/ldconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files -f lapackmans
|
%files -f lapackmans
|
||||||
@ -554,23 +490,11 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
|
|||||||
%{_libdir}/liblapacke.so
|
%{_libdir}/liblapacke.so
|
||||||
%{_libdir}/pkgconfig/lapack.pc
|
%{_libdir}/pkgconfig/lapack.pc
|
||||||
%{_libdir}/pkgconfig/lapacke.pc
|
%{_libdir}/pkgconfig/lapacke.pc
|
||||||
%if 0%{?arch64}
|
|
||||||
%{_libdir}/liblapack64.so
|
|
||||||
%{_libdir}/pkgconfig/lapack64.pc
|
|
||||||
%{_libdir}/liblapack64_.so
|
|
||||||
%{_libdir}/pkgconfig/lapack64_.pc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%{_libdir}/liblapack.a
|
%{_libdir}/liblapack.a
|
||||||
%{_libdir}/liblapack_pic.a
|
%{_libdir}/liblapack_pic.a
|
||||||
%{_libdir}/liblapacke.a
|
%{_libdir}/liblapacke.a
|
||||||
%if 0%{?arch64}
|
|
||||||
%{_libdir}/liblapack64.a
|
|
||||||
%{_libdir}/liblapack_pic64.a
|
|
||||||
%{_libdir}/liblapack64_.a
|
|
||||||
%{_libdir}/liblapack_pic64_.a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files -n blas -f blasmans
|
%files -n blas -f blasmans
|
||||||
%doc blasqr.ps LICENSE
|
%doc blasqr.ps LICENSE
|
||||||
@ -583,96 +507,41 @@ sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_lib
|
|||||||
%{_libdir}/libcblas.so
|
%{_libdir}/libcblas.so
|
||||||
%{_libdir}/pkgconfig/blas.pc
|
%{_libdir}/pkgconfig/blas.pc
|
||||||
%{_libdir}/pkgconfig/cblas.pc
|
%{_libdir}/pkgconfig/cblas.pc
|
||||||
%if 0%{?arch64}
|
|
||||||
%{_libdir}/libblas64.so
|
|
||||||
%{_libdir}/libcblas64.so
|
|
||||||
%{_libdir}/pkgconfig/blas64.pc
|
|
||||||
%{_libdir}/pkgconfig/cblas64.pc
|
|
||||||
%{_libdir}/libblas64_.so
|
|
||||||
%{_libdir}/libcblas64_.so
|
|
||||||
%{_libdir}/pkgconfig/blas64_.pc
|
|
||||||
%{_libdir}/pkgconfig/cblas64_.pc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files -n blas-static
|
%files -n blas-static
|
||||||
%{_libdir}/libblas.a
|
%{_libdir}/libblas.a
|
||||||
%{_libdir}/libcblas.a
|
%{_libdir}/libcblas.a
|
||||||
%if 0%{?arch64}
|
|
||||||
%{_libdir}/libblas64.a
|
|
||||||
%{_libdir}/libcblas64.a
|
|
||||||
%{_libdir}/libblas64_.a
|
|
||||||
%{_libdir}/libcblas64_.a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?arch64}
|
%if 0%{?arch64}
|
||||||
%files -n blas64
|
%files -n blas64
|
||||||
%doc LICENSE
|
%doc LICENSE
|
||||||
%{_libdir}/libblas64.so.*
|
|
||||||
%{_libdir}/libcblas64.so.*
|
|
||||||
|
|
||||||
%files -n lapack64
|
|
||||||
%doc README.md LICENSE
|
|
||||||
%{_libdir}/liblapack64.so.*
|
|
||||||
|
|
||||||
%files -n blas64_
|
|
||||||
%doc LICENSE
|
|
||||||
%{_libdir}/libblas64_.so.*
|
%{_libdir}/libblas64_.so.*
|
||||||
%{_libdir}/libcblas64_.so.*
|
%{_libdir}/libcblas64_.so.*
|
||||||
|
|
||||||
%files -n lapack64_
|
%files -n blas64-devel
|
||||||
|
%{_libdir}/libblas64_.so
|
||||||
|
%{_libdir}/libcblas64_.so
|
||||||
|
%{_libdir}/pkgconfig/blas64.pc
|
||||||
|
%{_libdir}/pkgconfig/cblas64.pc
|
||||||
|
|
||||||
|
%files -n blas64-static
|
||||||
|
%{_libdir}/libblas64_.a
|
||||||
|
%{_libdir}/libcblas64_.a
|
||||||
|
|
||||||
|
%files -n lapack64
|
||||||
%doc README.md LICENSE
|
%doc README.md LICENSE
|
||||||
%{_libdir}/liblapack64_.so.*
|
%{_libdir}/liblapack64_.so.*
|
||||||
|
|
||||||
|
%files -n lapack64-devel
|
||||||
|
%{_libdir}/liblapack64_.so
|
||||||
|
%{_libdir}/pkgconfig/lapack64.pc
|
||||||
|
|
||||||
|
%files -n lapack64-static
|
||||||
|
%{_libdir}/liblapack64_.a
|
||||||
|
%{_libdir}/liblapack64_pic.a
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Aug 11 2023 Jakub Martisko <jamartis@redhat.com> - 3.9.0-10
|
|
||||||
- Add explicit requires to the devel subpackages
|
|
||||||
Related: rhbz#2229142
|
|
||||||
|
|
||||||
* Tue Jul 18 2023 Jakub Martisko <jamartis@redhat.com> - 3.9.0-9
|
|
||||||
- Rename manpages: some names conflict with the man-pages package
|
|
||||||
Resolves: rhbz#2222868
|
|
||||||
|
|
||||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.9.0-8
|
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
||||||
Related: rhbz#1991688
|
|
||||||
|
|
||||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.9.0-7
|
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jun 21 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.9.0-4
|
|
||||||
- make separate packages for 64-bit versions with and without suffix (bz1295965)
|
|
||||||
|
|
||||||
* Thu Mar 19 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.0-3
|
|
||||||
- apply upstream fix for accidental removal of deprecated symbols from header file
|
|
||||||
|
|
||||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Nov 26 2019 Tom Callaway <spot@fedoraproject.org> - 3.9.0-1
|
|
||||||
- update to 3.9.0
|
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-13
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed May 29 2019 Tom Callaway <spot@fedoraproject.org> - 3.8.0-12
|
|
||||||
- use --no-optimize-sibling-calls to work around gfortran issues
|
|
||||||
|
|
||||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-10
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 19 2018 Tom Callaway <spot@fedoraproject.org> - 3.8.0-9
|
|
||||||
- explicitly link liblapacke.so with liblapack to remove undefined-non-weak-symbols
|
|
||||||
|
|
||||||
* Mon Mar 5 2018 Tom Callaway <spot@fedoraproject.org> - 3.8.0-8
|
* Mon Mar 5 2018 Tom Callaway <spot@fedoraproject.org> - 3.8.0-8
|
||||||
- use LDFLAGS for shared libs
|
- use LDFLAGS for shared libs
|
||||||
|
|
@ -1,801 +0,0 @@
|
|||||||
--- 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
24100
lapack-20010525.patch
File diff suppressed because it is too large
Load Diff
@ -1,29 +0,0 @@
|
|||||||
--- 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)
|
|
@ -1,20 +0,0 @@
|
|||||||
--- 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 ..
|
|
||||||
*
|
|
@ -1,23 +0,0 @@
|
|||||||
--- 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 =
|
|
||||||
#
|
|
@ -1,15 +0,0 @@
|
|||||||
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 =
|
|
||||||
#
|
|
@ -1,21 +0,0 @@
|
|||||||
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)
|
|
||||||
|
|
@ -1,99 +0,0 @@
|
|||||||
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
|
|
@ -1,36 +0,0 @@
|
|||||||
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
|
|
@ -1,36 +0,0 @@
|
|||||||
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
|
|
@ -1,15 +0,0 @@
|
|||||||
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 =
|
|
||||||
#
|
|
@ -1,21 +0,0 @@
|
|||||||
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
|
|
@ -1,24 +0,0 @@
|
|||||||
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
|
|
@ -1,15 +0,0 @@
|
|||||||
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.
|
|
||||||
#
|
|
@ -1,40 +0,0 @@
|
|||||||
--- 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 ) )
|
|
2
sources
2
sources
@ -1,2 +0,0 @@
|
|||||||
SHA512 (manpages.tgz) = 75184bbfac90f46e4fbb25b341f00c260904b5f3174084022c53c686a5181bb678fc1ec948f419d33890cb5769a60ca1000964e4bf6cc89438552e8b8fe45f2a
|
|
||||||
SHA512 (v3.9.0.tar.gz) = 424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef
|
|
Loading…
Reference in New Issue
Block a user