Fixed #107. Export missing LAPACK auxiliary routines (ALLAUX, SCLAUX, DZLAUX)

Added some documentation on how the symbol list is derived and synchronized with
lapack-3.4.1 to minimize the differences.
This commit is contained in:
Zaheer Chothia 2012-05-15 23:58:22 +02:00
parent 06e208c5c3
commit fc4927fa0f
1 changed files with 144 additions and 59 deletions

View File

@ -73,6 +73,7 @@
);
@lapackobjs = (
# These routines are provided by OpenBLAS.
sgesv, dgesv, cgesv, zgesv,
sgetf2, dgetf2, cgetf2, zgetf2,
sgetrf, dgetrf, cgetrf, zgetrf,
@ -88,32 +89,85 @@
);
@lapackobjs2 = (
# These routines are provided by LAPACK (reference implementation).
#
# This list is prepared by copying all routines listed in
# `lapack-3.4.1/SRC/Makefile` and replacing the '.o' suffix with a comma.
# Thereafter the following routines should be removed:
# - those provided by OpenBLAS (see @lapackobjs)
# - extra precision routines (see @lapack_extendedprecision_objs)
# Each of these have been marked individually with "already provided" or "excluded".
# ALLAUX -- Auxiliary routines called from all precisions
# already provided by @blasobjs: xerbla, lsame
ilaenv, ieeeck, lsamen, xerbla_array, iparmq,
ilaprec, ilatrans, ilauplo, iladiag, chla_transtype,
ilaver, slamch,
# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX.
# excluded: second_$(TIMER)
sbdsdc,
sbdsqr, sdisna, slabad, slacpy, sladiv, slae2, slaebz,
slaed0, slaed1, slaed2, slaed3, slaed4, slaed5, slaed6,
slaed7, slaed8, slaed9, slaeda, slaev2, slagtf,
slagts, slamrg, slanst,
slapy2, slapy3, slarnv,
slarra, slarrb, slarrc, slarrd, slarre, slarrf, slarrj,
slarrk, slarrr, slaneg,
slartg, slaruv, slas2, slascl,
slasd0, slasd1, slasd2, slasd3, slasd4, slasd5, slasd6,
slasd7, slasd8, slasda, slasdq, slasdt,
slaset, slasq1, slasq2, slasq3, slasq4, slasq5, slasq6,
slasr, slasrt, slassq, slasv2, spttrf, sstebz, sstedc,
ssteqr, ssterf, slaisnan, sisnan,
slartgp, slartgs,
# DZLAUX -- Auxiliary routines called from both DOUBLE and COMPLEX*16.
# excluded: dsecnd_$(TIMER)
dbdsdc,
dbdsqr, ddisna, dlabad, dlacpy, dladiv, dlae2, dlaebz,
dlaed0, dlaed1, dlaed2, dlaed3, dlaed4, dlaed5, dlaed6,
dlaed7, dlaed8, dlaed9, dlaeda, dlaev2, dlagtf,
dlagts, dlamrg, dlanst,
dlapy2, dlapy3, dlarnv,
dlarra, dlarrb, dlarrc, dlarrd, dlarre, dlarrf, dlarrj,
dlarrk, dlarrr, dlaneg,
dlartg, dlaruv, dlas2, dlascl,
dlasd0, dlasd1, dlasd2, dlasd3, dlasd4, dlasd5, dlasd6,
dlasd7, dlasd8, dlasda, dlasdq, dlasdt,
dlaset, dlasq1, dlasq2, dlasq3, dlasq4, dlasq5, dlasq6,
dlasr, dlasrt, dlassq, dlasv2, dpttrf, dstebz, dstedc,
dsteqr, dsterf, dlaisnan, disnan,
dlartgp, dlartgs,
dlamch,
# SLASRC -- Single precision real LAPACK routines
# already provided by @lapackobjs:
# sgesv, sgetf2, slaswp, slauu2, slauum, spotf2, spotri, strti2, strtri
sgbbrd, sgbcon, sgbequ, sgbrfs, sgbsv,
sgbsvx, sgbtf2, sgbtrf, sgbtrs, sgebak, sgebal, sgebd2,
sgebrd, sgecon, sgeequ, sgees, sgeesx, sgeev, sgeevx,
sgegs, sgegv, sgehd2, sgehrd, sgelq2, sgelqf,
sgels, sgelsd, sgelss, sgelsx, sgelsy, sgeql2, sgeqlf,
sgeqp3, sgeqpf, sgeqr2, sgeqr2p, sgeqrf, sgeqrfp, sgerfs, sgerq2, sgerqf,
sgesc2, sgesdd, sgesvd, sgesvx, sgetc2,
sgetri,
sgeqp3, sgeqpf, sgeqr2, sgeqr2p, sgeqrf, sgeqrfp, sgerfs,
sgerq2, sgerqf, sgesc2, sgesdd, sgesvd, sgesvx,
sgetc2, sgetri,
sggbak, sggbal, sgges, sggesx, sggev, sggevx,
sggglm, sgghrd, sgglse, sggqrf,
sggrqf, sggsvd, sggsvp, sgtcon, sgtrfs, sgtsv,
sgtsvx, sgttrf, sgttrs, sgtts2, shgeqz,
shsein, shseqr, slabad, slabrd, slacon, slacn2, slacpy,
shsein, shseqr, slabrd, slacon, slacn2,
slaein, slaexc, slag2, slags2, slagtm, slagv2, slahqr,
slahrd, slahr2, slaic1, slaln2, slals0, slalsa, slalsd,
slamch,
slangb, slange, slangt, slanhs, slansb, slansp,
slansy, slantb, slantp, slantr, slanv2,
slapll, slapmt, slapy2, slapy3,
slapll, slapmt,
slaqgb, slaqge, slaqp2, slaqps, slaqsb, slaqsp, slaqsy,
slaqr0, slaqr1, slaqr2, slaqr3, slaqr4, slaqr5,
slaqtr, slar1v, slar2v, ilaslr, ilaslc,
slarf, slarfb, slarfg, slarfgp, slarft, slarfx, slargv,
slarnv, slarrv, slartg, slartgp, slartgs, slartv,
slarz, slarzb, slarzt, slascl, slasy2, slasyf,
slaset,
slarrv, slartv,
slarz, slarzb, slarzt, slasy2, slasyf,
slatbs, slatdf, slatps, slatrd, slatrs, slatrz, slatzm,
sopgtr, sopmtr, sorg2l, sorg2r,
sorgbr, sorghr, sorgl2, sorglq, sorgql, sorgqr, sorgr2,
@ -122,7 +176,7 @@
sormr3, sormrq, sormrz, sormtr, spbcon, spbequ, spbrfs,
spbstf, spbsv, spbsvx,
spbtf2, spbtrf, spbtrs, spocon, spoequ, sporfs, sposv,
sposvx, spotrs, spstrf, spstf2,
sposvx, spstrf, spstf2,
sppcon, sppequ,
spprfs, sppsv, sppsvx, spptrf, spptri, spptrs, sptcon,
spteqr, sptrfs, sptsv, sptsvx, spttrs, sptts2, srscl,
@ -130,10 +184,12 @@
ssbtrd, sspcon, sspev, sspevd, sspevx, sspgst,
sspgv, sspgvd, sspgvx, ssprfs, sspsv, sspsvx, ssptrd,
ssptrf, ssptri, ssptrs, sstegr, sstein, sstev, sstevd, sstevr,
sstevx, ssycon, ssyev, ssyevd, ssyevr, ssyevx, ssygs2,
sstevx,
ssycon, ssyev, ssyevd, ssyevr, ssyevx, ssygs2,
ssygst, ssygv, ssygvd, ssygvx, ssyrfs, ssysv, ssysvx,
ssytd2, ssytf2, ssytrd, ssytrf, ssytri, ssytri2, ssytri2x,
ssyswapr, ssytrs, ssytrs2, ssyconv, stbcon,
ssyswapr, ssytrs, ssytrs2, ssyconv,
stbcon,
stbrfs, stbtrs, stgevc, stgex2, stgexc, stgsen,
stgsja, stgsna, stgsy2, stgsyl, stpcon, stprfs, stptri,
stptrs,
@ -147,14 +203,26 @@
sgeqrt, sgeqrt2, sgeqrt3, sgemqrt,
stpqrt, stpqrt2, stpmqrt, stprfb,
# DSLASRC -- Double-single mixed precision real routines called from
# single, single-extra and double precision real LAPACK
# routines (i.e. from SLASRC, SXLASRC, DLASRC).
#
# already provided by @lapackobjs:
# sgetrs, spotrf, sgetrf
spotrs,
# CLASRC -- Single precision complex LAPACK routines
# already provided by @blasobjs: csymv
# already provided by @lapackobjs:
# cgesv, cgetf2, claswp, clauu2, clauum, cpotf2, cpotri, ctrti2, ctrtri
cbdsqr, cgbbrd, cgbcon, cgbequ, cgbrfs, cgbsv, cgbsvx,
cgbtf2, cgbtrf, cgbtrs, cgebak, cgebal, cgebd2, cgebrd,
cgecon, cgeequ, cgees, cgeesx, cgeev, cgeevx,
cgegs, cgegv, cgehd2, cgehrd, cgelq2, cgelqf,
cgels, cgelsd, cgelss, cgelsx, cgelsy, cgeql2, cgeqlf, cgeqp3,
cgeqpf, cgeqr2, cgeqr2p, cgeqrf, cgeqrfp, cgerfs, cgerq2, cgerqf,
cgesc2, cgesdd, cgesvd, cgesvx, cgetc2,
cgetri,
cgeqpf, cgeqr2, cgeqr2p, cgeqrf, cgeqrfp, cgerfs,
cgerq2, cgerqf, cgesc2, cgesdd, cgesvd,
cgesvx, cgetc2, cgetri,
cggbak, cggbal, cgges, cggesx, cggev, cggevx, cggglm,
cgghrd, cgglse, cggqrf, cggrqf,
cggsvd, cggsvp,
@ -163,7 +231,7 @@
checon, cheev, cheevd, cheevr, cheevx, chegs2, chegst,
chegv, chegvd, chegvx, cherfs, chesv, chesvx, chetd2,
chetf2, chetrd,
chetrf, chetri, chetri2, chetri2x, cheswapr,
chetrf, chetri, chetri2, chetri2x, cheswapr,
chetrs, chetrs2, chgeqz, chpcon, chpev, chpevd,
chpevx, chpgst, chpgv, chpgvd, chpgvx, chprfs, chpsv,
chpsvx,
@ -179,21 +247,22 @@
claqhb, claqhe, claqhp, claqp2, claqps, claqsb,
claqr0, claqr1, claqr2, claqr3, claqr4, claqr5,
claqsp, claqsy, clar1v, clar2v, ilaclr, ilaclc,
clarf, clarfb, clarfg, clarfgp, clarft,
clarf, clarfb, clarfg, clarft, clarfgp,
clarfx, clargv, clarnv, clarrv, clartg, clartv,
clarz, clarzb, clarzt, clascl, claset, clasr, classq,
clasyf, clatbs, clatdf, clatps, clatrd, clatrs, clatrz,
clatzm, cpbcon, cpbequ, cpbrfs, cpbstf, cpbsv,
cpbsvx, cpbtf2, cpbtrf, cpbtrs, cpocon, cpoequ, cporfs,
cposv, cposvx, cpotrs, cpstrf, cpstf2,
cposv, cposvx, cpstrf, cpstf2,
cppcon, cppequ, cpprfs, cppsv, cppsvx, cpptrf, cpptri, cpptrs,
cptcon, cpteqr, cptrfs, cptsv, cptsvx, cpttrf, cpttrs, cptts2,
crot, cspcon, cspmv, cspr, csprfs, cspsv,
cspsvx, csptrf, csptri, csptrs, csrscl, cstedc,
cstegr, cstein, csteqr, csycon,
csyr, csyrfs, csysv, csysvx, csytf2, csytrf, csytri,
csytri2, csytri2x, csyswapr,
csytrs, csytrs2, csyconv, ctbcon, ctbrfs, ctbtrs, ctgevc, ctgex2,
cstegr, cstein, csteqr,
csycon,
csyr, csyrfs, csysv, csysvx, csytf2, csytrf, csytri, csytri2, csytri2x,
csyswapr, csytrs, csytrs2, csyconv,
ctbcon, ctbrfs, ctbtrs, ctgevc, ctgex2,
ctgexc, ctgsen, ctgsja, ctgsna, ctgsy2, ctgsyl, ctpcon,
ctprfs, ctptri,
ctptrs, ctrcon, ctrevc, ctrexc, ctrrfs, ctrsen, ctrsna,
@ -209,32 +278,42 @@
cgeqrt, cgeqrt2, cgeqrt3, cgemqrt,
ctpqrt, ctpqrt2, ctpmqrt, ctprfb,
# ZCLASRC -- Double-single mixed precision complex routines called from
# single, single-extra and double precision complex LAPACK
# routines (i.e. from CLASRC, CXLASRC, ZLASRC).
#
# already provided by @lapackobjs:
# cgetrs, cpotrf, cgetrf
cpotrs,
# DLASRC -- Double precision real LAPACK routines
# already provided by @lapackobjs:
# dgesv, dgetf2, dgetrs, dlaswp, dlauu2, dlauum, dpotf2, dpotrf, dpotri,
# dtrti2, dtrtri
dgbbrd, dgbcon, dgbequ, dgbrfs, dgbsv,
dgbsvx, dgbtf2, dgbtrf, dgbtrs, dgebak, dgebal, dgebd2,
dgebrd, dgecon, dgeequ, dgees, dgeesx, dgeev, dgeevx,
dgegs, dgegv, dgehd2, dgehrd, dgelq2, dgelqf,
dgels, dgelsd, dgelss, dgelsx, dgelsy, dgeql2, dgeqlf,
dgeqp3, dgeqpf, dgeqr2, dgeqr2p, dgeqrf, dgeqrfp, dgerfs, dgerq2, dgerqf,
dgesc2, dgesdd, dgesvd, dgesvx, dgetc2,
dgetri,
dgeqp3, dgeqpf, dgeqr2, dgeqr2p, dgeqrf, dgeqrfp, dgerfs,
dgerq2, dgerqf, dgesc2, dgesdd, dgesvd, dgesvx,
dgetc2, dgetri,
dggbak, dggbal, dgges, dggesx, dggev, dggevx,
dggglm, dgghrd, dgglse, dggqrf,
dggrqf, dggsvd, dggsvp, dgtcon, dgtrfs, dgtsv,
dgtsvx, dgttrf, dgttrs, dgtts2, dhgeqz,
dhsein, dhseqr, dlabad, dlabrd, dlacon, dlacn2, dlacpy,
dhsein, dhseqr, dlabrd, dlacon, dlacn2,
dlaein, dlaexc, dlag2, dlags2, dlagtm, dlagv2, dlahqr,
dlahrd, dlahr2, dlaic1, dlaln2, dlals0, dlalsa, dlalsd,
dlamch,
dlangb, dlange, dlangt, dlanhs, dlansb, dlansp,
dlansy, dlantb, dlantp, dlantr, dlanv2,
dlapll, dlapmt, dlapy2, dlapy3,
dlapll, dlapmt,
dlaqgb, dlaqge, dlaqp2, dlaqps, dlaqsb, dlaqsp, dlaqsy,
dlaqr0, dlaqr1, dlaqr2, dlaqr3, dlaqr4, dlaqr5,
dlaqtr, dlar1v, dlar2v, iladlr, iladlc,
dlarf, dlarfb, dlarfg, dlarfgp, dlarft, dlarfx, dlargv,
dlarnv, dlarrv, dlartg, dlartgp, dlartgs, dlartv,
dlarz, dlarzb, dlarzt, dlascl, dlasy2, dlasyf,
dlaset,
dlarf, dlarfb, dlarfg, dlarfgp, dlarft, dlarfx,
dlargv, dlarrv, dlartv,
dlarz, dlarzb, dlarzt, dlasy2, dlasyf,
dlatbs, dlatdf, dlatps, dlatrd, dlatrs, dlatrz, dlatzm,
dopgtr, dopmtr, dorg2l, dorg2r,
dorgbr, dorghr, dorgl2, dorglq, dorgql, dorgqr, dorgr2,
@ -251,12 +330,13 @@
dsbtrd, dspcon, dspev, dspevd, dspevx, dspgst,
dspgv, dspgvd, dspgvx, dsprfs, dspsv, dspsvx, dsptrd,
dsptrf, dsptri, dsptrs, dstegr, dstein, dstev, dstevd, dstevr,
dstevx, dsycon, dsyev, dsyevd, dsyevr,
dstevx,
dsycon, dsyev, dsyevd, dsyevr,
dsyevx, dsygs2, dsygst, dsygv, dsygvd, dsygvx, dsyrfs,
dsysv, dsysvx,
dsytd2, dsytf2, dsytrd, dsytrf, dsytri, dsytrs, dsytrs2,
dsytri2, dsytri2x, dsyswapr, dsyconv, dtbcon,
dtbrfs, dtbtrs, dtgevc, dtgex2, dtgexc, dtgsen,
dsytd2, dsytf2, dsytrd, dsytrf, dsytri, dsytri2, dsytri2x,
dsyswapr, dsytrs, dsytrs2, dsyconv,
dtbcon, dtbrfs, dtbtrs, dtgevc, dtgex2, dtgexc, dtgsen,
dtgsja, dtgsna, dtgsy2, dtgsyl, dtpcon, dtprfs, dtptri,
dtptrs,
dtrcon, dtrevc, dtrexc, dtrrfs, dtrsen, dtrsna, dtrsyl,
@ -270,6 +350,11 @@
dgeqrt, dgeqrt2, dgeqrt3, dgemqrt,
dtpqrt, dtpqrt2, dtpmqrt, dtprfb,
# ZLASRC -- Double precision complex LAPACK routines
# already provided by @blasobjs: zsymv
# already provided by @lapackobjs:
# zgesv, zgetrs, zgetf2, zlaswp, zlauu2, zlauum, zpotf2, zpotrf, zpotri,
# ztrti2, ztrtri
zbdsqr, zgbbrd, zgbcon, zgbequ, zgbrfs, zgbsv, zgbsvx,
zgbtf2, zgbtrf, zgbtrs, zgebak, zgebal, zgebd2, zgebrd,
zgecon, zgeequ, zgees, zgeesx, zgeev, zgeevx,
@ -304,7 +389,7 @@
zlaqr0, zlaqr1, zlaqr2, zlaqr3, zlaqr4, zlaqr5,
zlaqsp, zlaqsy, zlar1v, zlar2v, ilazlr, ilazlc,
zlarcm, zlarf, zlarfb,
zlarfg, zlarfgp, zlarft,
zlarfg, zlarft, zlarfgp,
zlarfx, zlargv, zlarnv, zlarrv, zlartg, zlartv,
zlarz, zlarzb, zlarzt, zlascl, zlaset, zlasr,
zlassq, zlasyf,
@ -316,10 +401,11 @@
zptcon, zpteqr, zptrfs, zptsv, zptsvx, zpttrf, zpttrs, zptts2,
zrot, zspcon, zspmv, zspr, zsprfs, zspsv,
zspsvx, zsptrf, zsptri, zsptrs, zdrscl, zstedc,
zstegr, zstein, zsteqr, zsycon,
zsyr, zsyrfs, zsysv, zsysvx, zsytf2, zsytrf, zsytri,
zsytri2, zsytri2x, zsyswapr,
zsytrs, zsytrs2, zsyconv, ztbcon, ztbrfs, ztbtrs, ztgevc, ztgex2,
zstegr, zstein, zsteqr,
zsycon,
zsyr, zsyrfs, zsysv, zsysvx, zsytf2, zsytrf, zsytri, zsytri2, zsytri2x,
zsyswapr, zsytrs, zsytrs2, zsyconv,
ztbcon, ztbrfs, ztbtrs, ztgevc, ztgex2,
ztgexc, ztgsen, ztgsja, ztgsna, ztgsy2, ztgsyl, ztpcon,
ztprfs, ztptri,
ztptrs, ztrcon, ztrevc, ztrexc, ztrrfs, ztrsen, ztrsna,
@ -336,7 +422,6 @@
zbbcsd, zlapmr, zunbdb, zuncsd,
zgeqrt, zgeqrt2, zgeqrt3, zgemqrt,
ztpqrt, ztpqrt2, ztpmqrt, ztprfb,
);
@lapack_extendedprecision_objs = (