Skip to content

Commit 329cdc3

Browse files
committed
Update LAPACK/LAPACKE to Reference-LAPACK 3.10.1
1 parent 18b19d1 commit 329cdc3

File tree

4,696 files changed

+27372
-17919
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,696 files changed

+27372
-17919
lines changed

cmake/lapack.cmake

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
if (NOT C_LAPACK)
33
message (STATUS "fortran lapack")
44
set(ALLAUX ilaenv.f ilaenv2stage.f ieeeck.f lsamen.f iparmq.f iparam2stage.F
5-
ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f dlaset.f
5+
ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f dlaset.f la_xisnan.F90
66
../INSTALL/ilaver.f xerbla_array.f
77
../INSTALL/slamch.f)
88

99
set(SCLAUX
1010
scombssq.f sbdsvdx.f sstevx.f sstein.f
11+
la_constants.f90
1112
sbdsdc.f
1213
sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f
1314
slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f
@@ -16,16 +17,17 @@ set(SCLAUX
1617
slapy2.f slapy3.f slarnv.f
1718
slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f
1819
slarrk.f slarrr.f slaneg.f
19-
slartg.f slaruv.f slas2.f slascl.f
20+
slartg.f90 slaruv.f slas2.f slascl.f
2021
slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f
2122
slasd7.f slasd8.f slasda.f slasdq.f slasdt.f
2223
slaset.f slasq1.f slasq2.f slasq3.f slasq4.f slasq5.f slasq6.f
23-
slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f
24+
slasr.f slasrt.f slassq.f90 slasv2.f spttrf.f sstebz.f sstedc.f
2425
ssteqr.f ssterf.f slaisnan.f sisnan.f
25-
slartgp.f slartgs.f
26+
slartgp.f slartgs.f ../INSTALL/sroundup_lwork.f
2627
../INSTALL/second_${TIMER}.f)
2728

2829
set(DZLAUX
30+
la_constants.f90
2931
dbdsdc.f
3032
dbdsvdx.f dstevx.f dstein.f
3133
dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f
@@ -35,13 +37,13 @@ set(DZLAUX
3537
dlapy2.f dlapy3.f dlarnv.f
3638
dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f
3739
dlarrk.f dlarrr.f dlaneg.f
38-
dlartg.f dlaruv.f dlas2.f dlascl.f
40+
dlartg.f90 dlaruv.f dlas2.f dlascl.f
3941
dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f
4042
dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f
4143
dlasq1.f dlasq2.f dlasq3.f dlasq4.f dlasq5.f dlasq6.f
42-
dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f
44+
dlasr.f dlasrt.f dlassq.f90 dlasv2.f dpttrf.f dstebz.f dstedc.f
4345
dsteqr.f dsterf.f dlaisnan.f disnan.f
44-
dlartgp.f dlartgs.f
46+
dlartgp.f dlartgs.f ../INSTALL/droundup_lwork.f
4547
../INSTALL/dlamch.f ../INSTALL/dsecnd_${TIMER}.f)
4648

4749
set(SLASRC
@@ -59,6 +61,7 @@ set(SLASRC
5961
sggrqf.f sggsvd3.f sggsvp3.f sgtcon.f sgtrfs.f sgtsv.f
6062
sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f
6163
shsein.f shseqr.f slabrd.f slacon.f slacn2.f
64+
slaqz0.f slaqz1.f slaqz2.f slaqz3.f slaqz4.f
6265
slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f
6366
slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f
6467
slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f
@@ -171,10 +174,11 @@ set(CLASRC
171174
clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f
172175
claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f
173176
claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f
177+
claqz0.f claqz1.f claqz2.f claqz3.f
174178
claqsp.f claqsy.f clar1v.f clar2v.f ilaclr.f ilaclc.f
175179
clarf.f clarfb.f clarfb_gett.f clarfg.f clarfgp.f clarft.f
176-
clarfx.f clarfy.f clargv.f clarnv.f clarrv.f clartg.f clartv.f
177-
clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f
180+
clarfx.f clarfy.f clargv.f clarnv.f clarrv.f clartg.f90 clartv.f
181+
clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f90
178182
clasyf.f clasyf_rook.f clasyf_rk.f clasyf_aa.f
179183
clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f
180184
cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f
@@ -245,6 +249,7 @@ set(DLASRC
245249
dggglm.f dgghrd.f dgghd3.f dgglse.f dggqrf.f
246250
dggrqf.f dggsvd3.f dggsvp3.f dgtcon.f dgtrfs.f dgtsv.f
247251
dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f
252+
dlaqz0.f dlaqz1.f dlaqz2.f dlaqz3.f dlaqz4.f
248253
dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f
249254
dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f
250255
dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f
@@ -346,6 +351,7 @@ set(ZLASRC
346351
zhetrs_3.f zhecon_3.f zhesv_rk.f
347352
zhesv_aa.f zhesv_aa_2stage.f zhetrf_aa.f zhetrf_aa_2stage.f zhetrs_aa.f zhetrs_aa_2stage.f
348353
zhgeqz.f zhpcon.f zhpev.f zhpevd.f
354+
zlaqz0.f zlaqz1.f zlaqz2.f zlaqz3.f
349355
zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f
350356
zhpsvx.f
351357
zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f
@@ -363,9 +369,9 @@ set(ZLASRC
363369
zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f ilazlr.f ilazlc.f
364370
zlarcm.f zlarf.f zlarfb.f zlarfb_gett.f
365371
zlarfg.f zlarfgp.f zlarft.f
366-
zlarfx.f zlarfy.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f
372+
zlarfx.f zlarfy.f zlargv.f zlarnv.f zlarrv.f zlartg.f90 zlartv.f
367373
zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f
368-
zlassq.f zlasyf.f zlasyf_rook.f zlasyf_rk.f zlasyf_aa.f
374+
zlassq.f90 zlasyf.f zlasyf_rook.f zlasyf_rk.f zlasyf_aa.f
369375
zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f
370376
zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f
371377
zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f

exports/gensymbol

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,28 @@ zpotri,
814814
zgesvdq,
815815
zungtsqr
816816
);
817+
# functions added for lapack-3.10.1
818+
#@lapackobjs2d = (@lapackobjs2d,
819+
# dlaqz0,
820+
# dlaqz1,
821+
# dlaqz2,
822+
# dlaqz3,
823+
# dlaqz4
824+
# );
825+
#@lapackobjs2s = (@lapackobjs2s,
826+
# slaqz0,
827+
# slaqz1,
828+
# slaqz2,
829+
# slaqz3,
830+
# slaqz4
831+
# );
832+
#@lapackobjs2z = (@lapackobjs2z,
833+
# zlaqz0,
834+
# zlaqz1,
835+
# zlaqz2,
836+
# zlaqz3,
837+
# zlaqz4
838+
#);
817839

818840
@lapack_extendedprecision_objs = (
819841
zposvxx, clagge, clatms, chesvxx, cposvxx, cgesvxx, ssyrfssx, csyrfsx,

lapack-netlib/INSTALL/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ cleantest:
7575
ifneq ($(C_LAPACK), 1)
7676
slamch.o: slamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
7777
dlamch.o: dlamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
78+
sroundup_lwork.o: sroundup_lwork.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
79+
droundup_lwork.o: droundup_lwork.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
7880
else
7981
slamch.o: slamch.c ; $(CC) $(CFLAGS) -c -o $@ $<
8082
dlamch.o: dlamch.c ; $(CC) $(CFLAGS) -c -o $@ $<
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
*> \brief \b DROUNDUP_LWORK
2+
*
3+
* =========== DOCUMENTATION ===========
4+
*
5+
* Online html documentation available at
6+
* http://www.netlib.org/lapack/explore-html/
7+
*
8+
* Definition:
9+
* ===========
10+
*
11+
* DOUBLE PRECISION FUNCTION DROUNDUP_LWORK( LWORK )
12+
*
13+
* .. Scalar Arguments ..
14+
* INTEGER LWORK
15+
* ..
16+
*
17+
*
18+
*> \par Purpose:
19+
* =============
20+
*>
21+
*> \verbatim
22+
*>
23+
*> DROUNDUP_LWORK deals with a subtle bug with returning LWORK as a Float.
24+
*> This routine guarantees it is rounded up instead of down by
25+
*> multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision.
26+
*> E.g.,
27+
*>
28+
*> float( 9007199254740993 ) == 9007199254740992
29+
*> float( 9007199254740993 ) * (1.+eps) == 9007199254740994
30+
*>
31+
*> \return DROUNDUP_LWORK
32+
*> \verbatim
33+
*> DROUNDUP_LWORK >= LWORK.
34+
*> DROUNDUP_LWORK is guaranteed to have zero decimal part.
35+
*> \endverbatim
36+
*
37+
* Arguments:
38+
* ==========
39+
*
40+
*> \param[in] LWORK Workspace size.
41+
*
42+
* Authors:
43+
* ========
44+
*
45+
*> \author Weslley Pereira, University of Colorado Denver, USA
46+
*
47+
*> \ingroup auxOTHERauxiliary
48+
*
49+
*> \par Further Details:
50+
* =====================
51+
*>
52+
*> \verbatim
53+
*> This routine was inspired in the method `magma_zmake_lwork` from MAGMA.
54+
*> \see https://bitbucket.org/icl/magma/src/master/control/magma_zauxiliary.cpp
55+
*> \endverbatim
56+
*
57+
* =====================================================================
58+
DOUBLE PRECISION FUNCTION DROUNDUP_LWORK( LWORK )
59+
*
60+
* -- LAPACK auxiliary routine --
61+
* -- LAPACK is a software package provided by Univ. of Tennessee, --
62+
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
63+
*
64+
* .. Scalar Arguments ..
65+
INTEGER LWORK
66+
* ..
67+
*
68+
* =====================================================================
69+
* ..
70+
* .. Intrinsic Functions ..
71+
INTRINSIC EPSILON, DBLE, INT
72+
* ..
73+
* .. Executable Statements ..
74+
* ..
75+
DROUNDUP_LWORK = DBLE( LWORK )
76+
*
77+
IF( INT( DROUNDUP_LWORK ) .LT. LWORK ) THEN
78+
* Force round up of LWORK
79+
DROUNDUP_LWORK = DROUNDUP_LWORK * ( 1.0D+0 + EPSILON(0.0D+0) )
80+
ENDIF
81+
*
82+
RETURN
83+
*
84+
* End of DROUNDUP_LWORK
85+
*
86+
END
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
*> \brief \b SROUNDUP_LWORK
2+
*
3+
* =========== DOCUMENTATION ===========
4+
*
5+
* Online html documentation available at
6+
* http://www.netlib.org/lapack/explore-html/
7+
*
8+
* Definition:
9+
* ===========
10+
*
11+
* REAL FUNCTION SROUNDUP_LWORK( LWORK )
12+
*
13+
* .. Scalar Arguments ..
14+
* INTEGER LWORK
15+
* ..
16+
*
17+
*
18+
*> \par Purpose:
19+
* =============
20+
*>
21+
*> \verbatim
22+
*>
23+
*> SROUNDUP_LWORK deals with a subtle bug with returning LWORK as a Float.
24+
*> This routine guarantees it is rounded up instead of down by
25+
*> multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision.
26+
*> E.g.,
27+
*>
28+
*> float( 16777217 ) == 16777216
29+
*> float( 16777217 ) * (1.+eps) == 16777218
30+
*>
31+
*> \return SROUNDUP_LWORK
32+
*> \verbatim
33+
*> SROUNDUP_LWORK >= LWORK.
34+
*> SROUNDUP_LWORK is guaranteed to have zero decimal part.
35+
*> \endverbatim
36+
*
37+
* Arguments:
38+
* ==========
39+
*
40+
*> \param[in] LWORK Workspace size.
41+
*
42+
* Authors:
43+
* ========
44+
*
45+
*> \author Weslley Pereira, University of Colorado Denver, USA
46+
*
47+
*> \ingroup auxOTHERauxiliary
48+
*
49+
*> \par Further Details:
50+
* =====================
51+
*>
52+
*> \verbatim
53+
*> This routine was inspired in the method `magma_zmake_lwork` from MAGMA.
54+
*> \see https://bitbucket.org/icl/magma/src/master/control/magma_zauxiliary.cpp
55+
*> \endverbatim
56+
*
57+
* =====================================================================
58+
REAL FUNCTION SROUNDUP_LWORK( LWORK )
59+
*
60+
* -- LAPACK auxiliary routine --
61+
* -- LAPACK is a software package provided by Univ. of Tennessee, --
62+
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
63+
*
64+
* .. Scalar Arguments ..
65+
INTEGER LWORK
66+
* ..
67+
*
68+
* =====================================================================
69+
* ..
70+
* .. Intrinsic Functions ..
71+
INTRINSIC EPSILON, REAL, INT
72+
* ..
73+
* .. Executable Statements ..
74+
* ..
75+
SROUNDUP_LWORK = REAL( LWORK )
76+
*
77+
IF( INT( SROUNDUP_LWORK ) .LT. LWORK ) THEN
78+
* Force round up of LWORK
79+
SROUNDUP_LWORK = SROUNDUP_LWORK * ( 1.0E+0 + EPSILON(0.0E+0) )
80+
ENDIF
81+
*
82+
RETURN
83+
*
84+
* End of SROUNDUP_LWORK
85+
*
86+
END
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
set(LAPACKE_INCLUDE lapacke.h lapack.h lapacke_config.h lapacke_utils.h)
1+
set(LAPACKE_INCLUDE lapack.h)
2+
3+
IF(LAPACKE)
4+
list(APPEND LAPACKE_INCLUDE lapacke.h lapacke_config.h lapacke_utils.h)
5+
endif()
26

37
file(COPY ${LAPACKE_INCLUDE} DESTINATION ${LAPACK_BINARY_DIR}/include)

0 commit comments

Comments
 (0)