Update LAPACK to 3.9.0

This commit is contained in:
Martin Kroeker 2019-12-30 16:11:18 +01:00 committed by GitHub
parent 49f80f0c16
commit 4f0b98d46d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 91 additions and 92 deletions

View File

@ -1,5 +1,3 @@
include ../../make.inc
####################################################################### #######################################################################
# This is the makefile to create a library of the test matrix # This is the makefile to create a library of the test matrix
# generators used in LAPACK. The files are organized as follows: # generators used in LAPACK. The files are organized as follows:
@ -32,6 +30,9 @@ include ../../make.inc
# #
####################################################################### #######################################################################
TOPSRCDIR = ../..
include $(TOPSRCDIR)/make.inc
SCATGEN = slatm1.o slatm7.o slaran.o slarnd.o SCATGEN = slatm1.o slatm7.o slaran.o slarnd.o
SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \ SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \
@ -52,32 +53,32 @@ ZMATGEN = zlatms.o zlatme.o zlatmr.o zlatmt.o \
zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \ zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \
zlatm1.o zlarnd.o zlatm2.o zlatm3.o zlatm5.o zlatm6.o zlahilb.o zlatm1.o zlarnd.o zlatm2.o zlatm3.o zlatm5.o zlatm6.o zlahilb.o
all: ../../$(TMGLIB) .PHONY: all
all: $(TMGLIB)
ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN) \ ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN) \
$(DZATGEN) $(DZATGEN)
.PHONY: ../../$(TMGLIB) $(TMGLIB): $(ALLOBJ)
$(AR) $(ARFLAGS) $@ $^
../../$(TMGLIB): $(ALLOBJ)
$(ARCH) $(ARCHFLAGS) $@ $^
$(RANLIB) $@ $(RANLIB) $@
.PHONY: single complex double complex16
single: $(SMATGEN) $(SCATGEN) single: $(SMATGEN) $(SCATGEN)
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $^ $(AR) $(ARFLAGS) $(TMGLIB) $^
$(RANLIB) ../../$(TMGLIB) $(RANLIB) $(TMGLIB)
complex: $(CMATGEN) $(SCATGEN) complex: $(CMATGEN) $(SCATGEN)
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $^ $(AR) $(ARFLAGS) $(TMGLIB) $^
$(RANLIB) ../../$(TMGLIB) $(RANLIB) $(TMGLIB)
double: $(DMATGEN) $(DZATGEN) double: $(DMATGEN) $(DZATGEN)
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $^ $(AR) $(ARFLAGS) $(TMGLIB) $^
$(RANLIB) ../../$(TMGLIB) $(RANLIB) $(TMGLIB)
complex16: $(ZMATGEN) $(DZATGEN) complex16: $(ZMATGEN) $(DZATGEN)
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $^ $(AR) $(ARFLAGS) $(TMGLIB) $^
$(RANLIB) ../../$(TMGLIB) $(RANLIB) $(TMGLIB)
$(SCATGEN): $(FRC) $(SCATGEN): $(FRC)
$(SMATGEN): $(FRC) $(SMATGEN): $(FRC)
@ -89,14 +90,12 @@ $(ZMATGEN): $(FRC)
FRC: FRC:
@FRC=$(FRC) @FRC=$(FRC)
clean: cleanobj #cleanlib .PHONY: clean cleanobj cleanlib
clean: cleanobj cleanlib
cleanobj: cleanobj:
rm -f *.o rm -f *.o
cleanlib: cleanlib:
rm -f ../../$(TMGLIB) rm -f $(TMGLIB)
.f.o: slaran.o: slaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
$(FORTRAN) $(OPTS) -c -o $@ $< dlaran.o: dlaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
slaran.o: slaran.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
dlaran.o: dlaran.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<

View File

@ -164,7 +164,7 @@
INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D
PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8) PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8)
* *
* d's are generated from random permuation of those eight elements. * d's are generated from random permutation of those eight elements.
COMPLEX D1(8), D2(8), INVD1(8), INVD2(8) COMPLEX D1(8), D2(8), INVD1(8), INVD2(8)
DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/ DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/
DATA D2 /(-1,0),(0,-1),(-1,1),(0,1),(1,0),(-1,-1),(1,-1),(1,1)/ DATA D2 /(-1,0),(0,-1),(-1,1),(0,1),(1,0),(-1,-1),(1,-1),(1,1)/

View File

@ -186,7 +186,7 @@
*> SPARSE is REAL *> SPARSE is REAL
*> Value between 0. and 1. *> Value between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -202,7 +202,7 @@
*> \verbatim *> \verbatim
*> SPARSE is REAL between 0. and 1. *> SPARSE is REAL between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -316,20 +316,6 @@
*> Not referenced if PIVTNG = 'N'. Not modified. *> Not referenced if PIVTNG = 'N'. Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is REAL
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] KL *> \param[in] KL
*> \verbatim *> \verbatim
*> KL is INTEGER *> KL is INTEGER
@ -350,6 +336,20 @@
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is REAL
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] ANORM *> \param[in] ANORM
*> \verbatim *> \verbatim
*> ANORM is REAL *> ANORM is REAL
@ -416,7 +416,7 @@
*> If PACK='C' or 'R', LDA must be at least 1. *> If PACK='C' or 'R', LDA must be at least 1.
*> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N ) *> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N )
*> If PACK='Z', LDA must be at least KUU+KLL+1, where *> If PACK='Z', LDA must be at least KUU+KLL+1, where
*> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, N-1 ) *> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, M-1 )
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>

View File

@ -182,7 +182,7 @@
*> \verbatim *> \verbatim
*> SPARSE is DOUBLE PRECISION between 0. and 1. *> SPARSE is DOUBLE PRECISION between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -199,7 +199,7 @@
*> \verbatim *> \verbatim
*> SPARSE is DOUBLE PRECISION between 0. and 1. *> SPARSE is DOUBLE PRECISION between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -303,20 +303,6 @@
*> Not referenced if PIVTNG = 'N'. Not modified. *> Not referenced if PIVTNG = 'N'. Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is DOUBLE PRECISION
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] KL *> \param[in] KL
*> \verbatim *> \verbatim
*> KL is INTEGER *> KL is INTEGER
@ -337,6 +323,20 @@
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is DOUBLE PRECISION
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] ANORM *> \param[in] ANORM
*> \verbatim *> \verbatim
*> ANORM is DOUBLE PRECISION *> ANORM is DOUBLE PRECISION
@ -398,7 +398,7 @@
*> If PACK='C' or 'R', LDA must be at least 1. *> If PACK='C' or 'R', LDA must be at least 1.
*> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N ) *> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N )
*> If PACK='Z', LDA must be at least KUU+KLL+1, where *> If PACK='Z', LDA must be at least KUU+KLL+1, where
*> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, N-1 ) *> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, M-1 )
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>

View File

@ -182,7 +182,7 @@
*> \verbatim *> \verbatim
*> SPARSE is REAL between 0. and 1. *> SPARSE is REAL between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -199,7 +199,7 @@
*> \verbatim *> \verbatim
*> SPARSE is REAL between 0. and 1. *> SPARSE is REAL between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -303,20 +303,6 @@
*> Not referenced if PIVTNG = 'N'. Not modified. *> Not referenced if PIVTNG = 'N'. Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is REAL
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] KL *> \param[in] KL
*> \verbatim *> \verbatim
*> KL is INTEGER *> KL is INTEGER
@ -337,6 +323,20 @@
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is REAL
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] ANORM *> \param[in] ANORM
*> \verbatim *> \verbatim
*> ANORM is REAL *> ANORM is REAL
@ -398,7 +398,7 @@
*> If PACK='C' or 'R', LDA must be at least 1. *> If PACK='C' or 'R', LDA must be at least 1.
*> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N ) *> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N )
*> If PACK='Z', LDA must be at least KUU+KLL+1, where *> If PACK='Z', LDA must be at least KUU+KLL+1, where
*> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, N-1 ) *> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, M-1 )
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>

View File

@ -164,7 +164,7 @@
INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D
PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8) PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8)
* *
* d's are generated from random permuation of those eight elements. * d's are generated from random permutation of those eight elements.
COMPLEX*16 d1(8), d2(8), invd1(8), invd2(8) COMPLEX*16 d1(8), d2(8), invd1(8), invd2(8)
DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/ DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/
DATA D2 /(-1,0),(0,-1),(-1,1),(0,1),(1,0),(-1,-1),(1,-1),(1,1)/ DATA D2 /(-1,0),(0,-1),(-1,1),(0,1),(1,0),(-1,-1),(1,-1),(1,1)/

View File

@ -185,7 +185,7 @@
*> \verbatim *> \verbatim
*> SPARSE is DOUBLE PRECISION between 0. and 1. *> SPARSE is DOUBLE PRECISION between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -202,7 +202,7 @@
*> \verbatim *> \verbatim
*> SPARSE is DOUBLE PRECISION between 0. and 1. *> SPARSE is DOUBLE PRECISION between 0. and 1.
*> On entry specifies the sparsity of the matrix *> On entry specifies the sparsity of the matrix
*> if sparse matix is to be generated. *> if sparse matrix is to be generated.
*> SPARSE should lie between 0 and 1. *> SPARSE should lie between 0 and 1.
*> A uniform ( 0, 1 ) random number x is generated and *> A uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry *> compared to SPARSE; if x is larger the matrix entry

View File

@ -316,20 +316,6 @@
*> Not referenced if PIVTNG = 'N'. Not modified. *> Not referenced if PIVTNG = 'N'. Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is DOUBLE PRECISION
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] KL *> \param[in] KL
*> \verbatim *> \verbatim
*> KL is INTEGER *> KL is INTEGER
@ -350,6 +336,20 @@
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] SPARSE
*> \verbatim
*> SPARSE is DOUBLE PRECISION
*> On entry specifies the sparsity of the matrix if a sparse
*> matrix is to be generated. SPARSE should lie between
*> 0 and 1. To generate a sparse matrix, for each matrix entry
*> a uniform ( 0, 1 ) random number x is generated and
*> compared to SPARSE; if x is larger the matrix entry
*> is unchanged and if x is smaller the entry is set
*> to zero. Thus on the average a fraction SPARSE of the
*> entries will be set to zero.
*> Not modified.
*> \endverbatim
*>
*> \param[in] ANORM *> \param[in] ANORM
*> \verbatim *> \verbatim
*> ANORM is DOUBLE PRECISION *> ANORM is DOUBLE PRECISION
@ -416,7 +416,7 @@
*> If PACK='C' or 'R', LDA must be at least 1. *> If PACK='C' or 'R', LDA must be at least 1.
*> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N ) *> If PACK='B', or 'Q', LDA must be MIN ( KU+1, N )
*> If PACK='Z', LDA must be at least KUU+KLL+1, where *> If PACK='Z', LDA must be at least KUU+KLL+1, where
*> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, N-1 ) *> KUU = MIN ( KU, N-1 ) and KLL = MIN ( KL, M-1 )
*> Not modified. *> Not modified.
*> \endverbatim *> \endverbatim
*> *>