1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

LAPACK is a library of Fortran 77 subroutines for linear algebra.

This commit is contained in:
Jean-Marc Zucconi 1996-06-07 15:39:54 +00:00
parent 5fa74962cf
commit d2e95f05c1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=3178
13 changed files with 2021 additions and 0 deletions

27
math/lapack/Makefile Normal file
View File

@ -0,0 +1,27 @@
# New ports collection makefile for: lapack
# Version required: 2.0
# Date created: 2 July 1994
# Whom: jmz
#
# $Id$
#
DISTNAME= LAPACK
PKGNAME= lapack-2.0
CATEGORIES+= math
MASTER_SITES= ftp://ftp.netlib.org/lapack/
DISTFILES= lapack.tar.gz manpages.tar.gz
MAINTAINER= jmz@FreeBSD.org
do-install:
@install -c -o bin -g bin ${WRKSRC}/BLAS/SRC/libblas.* ${PREFIX}/lib
@install -c -o bin -g bin ${WRKSRC}/SRC/liblapack.* ${PREFIX}/lib
.if !defined(NOMANCOMPRESS)
@(cd ${WRKDIR}/blas/man/manl; \
for i in *.l; do gzip < $$i >${PREFIX}/man/manl/$$i.gz; done)
@(cd ${WRKDIR}/man/manl; \
for i in *.l; do gzip < $$i >${PREFIX}/man/manl/$$i.gz; done)
.endif
.include <bsd.port.mk>

2
math/lapack/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (lapack.tar.gz) = 614e496f9fd7af39436ad3da5ffd54bd
MD5 (manpages.tar.gz) = 88201d0b118317986df54f8b0944e305

View File

@ -0,0 +1,57 @@
*** make.inc.old Fri Sep 23 18:09:30 1994
--- make.inc Mon Jul 3 03:37:56 1995
***************
*** 6,12 ****
#
# The machine (platform) identifier to append to the library names
#
! PLAT = _sun4
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
--- 6,12 ----
#
# The machine (platform) identifier to append to the library names
#
! #PLAT = _sun4
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
***************
*** 15,22 ****
# desired load options for your machine.
#
FORTRAN = f77
! OPTS = -O -u
! NOOPT = -u
LOADER = f77
LOADOPTS =
#
--- 15,22 ----
# desired load options for your machine.
#
FORTRAN = f77
! #OPTS = -O2
! #NOOPT = -u
LOADER = f77
LOADOPTS =
#
***************
*** 31,38 ****
# machine-specific, optimized BLAS library should be used whenever
# possible.)
#
! BLASLIB = ../../blas$(PLAT).a
#BLASLIB = -lblas
! LAPACKLIB = lapack$(PLAT).a
TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a
--- 31,38 ----
# machine-specific, optimized BLAS library should be used whenever
# possible.)
#
! BLASLIB = ../../BLAS/SRC/libblas.a
#BLASLIB = -lblas
! LAPACKLIB = SRC/liblapack.a
TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a

View File

@ -0,0 +1,47 @@
*** INSTALL/Makefile~ Fri Sep 23 18:10:06 1994
--- INSTALL/Makefile Mon Jul 3 00:49:05 1995
***************
*** 11,21 ****
testdlamch: dlamch.o lsame.o dlamchtst.o
$(LOADER) -o testdlamch dlamch.o lsame.o dlamchtst.o
! testsecond: second.o secondtst.o
! $(LOADER) -o testsecond second.o secondtst.o
! testdsecnd: dsecnd.o dsecndtst.o
! $(LOADER) -o testdsecnd dsecnd.o dsecndtst.o
slamch.o: slamch.f ; $(FORTRAN) $(NOOPT) -c $<
dlamch.o: dlamch.f ; $(FORTRAN) $(NOOPT) -c $<
--- 11,21 ----
testdlamch: dlamch.o lsame.o dlamchtst.o
$(LOADER) -o testdlamch dlamch.o lsame.o dlamchtst.o
! testsecond: second.o secondtst.o etime_.o
! $(LOADER) -o testsecond second.o secondtst.o etime_.o
! testdsecnd: dsecnd.o dsecndtst.o etime_.o
! $(LOADER) -o testdsecnd dsecnd.o dsecndtst.o etime_.o
slamch.o: slamch.f ; $(FORTRAN) $(NOOPT) -c $<
dlamch.o: dlamch.f ; $(FORTRAN) $(NOOPT) -c $<
*** /dev/null Sun Jul 2 04:00:02 1995
--- INSTALL/etime_.c Mon Jul 3 00:47:16 1995
***************
*** 0 ****
--- 1,15 ----
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/resource.h>
+
+ float
+ etime_ (float *a)
+ {
+ struct rusage r;
+ float f;
+
+ getrusage(RUSAGE_SELF, &r);
+ f = r.ru_utime.tv_sec + (float) r.ru_utime.tv_usec/1000000;
+ *a = f;
+ return f;
+ }

View File

@ -0,0 +1,37 @@
*** Makefile.orig Tue Oct 4 16:42:15 1994
--- Makefile Mon Oct 9 03:11:46 1995
***************
*** 6,12 ****
include make.inc
! all: install lib testing blas_testing timing blas_timing
lib: blaslib lapacklib tmglib
--- 6,12 ----
include make.inc
! all: install lib # testing blas_testing timing blas_timing
lib: blaslib lapacklib tmglib
***************
*** 17,23 ****
testdlamch; testsecond; testdsecnd; \
cp lsame.f ../BLAS/SRC/; cp lsame.f ../SRC; \
cp slamch.f ../SRC/; cp dlamch.f ../SRC/; \
! cp second.f ../SRC/; cp dsecnd.f ../SRC/ )
blaslib:
( cd BLAS/SRC; $(MAKE) )
--- 17,24 ----
testdlamch; testsecond; testdsecnd; \
cp lsame.f ../BLAS/SRC/; cp lsame.f ../SRC; \
cp slamch.f ../SRC/; cp dlamch.f ../SRC/; \
! cp second.f ../SRC/; cp dsecnd.f ../SRC/; \
! cp etime_.c ../SRC/ )
blaslib:
( cd BLAS/SRC; $(MAKE) )

View File

@ -0,0 +1,22 @@
*** BLAS/SRC/zrotg.f~ Fri Oct 30 21:09:39 1992
--- BLAS/SRC/zrotg.f Mon Jul 3 01:28:54 1995
***************
*** 10,17 ****
go to 20
10 continue
scale = cdabs(ca) + cdabs(cb)
! norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2 +
! * (cdabs(cb/dcmplx(scale,0.0d0)))**2)
alpha = ca /cdabs(ca)
c = cdabs(ca) / norm
s = alpha * dconjg(cb) / norm
--- 10,18 ----
go to 20
10 continue
scale = cdabs(ca) + cdabs(cb)
! c = (cdabs(ca/dcmplx(scale,0.0d0)))**2 +
! * (cdabs(cb/dcmplx(scale,0.0d0)))**2
! norm = scale*dsqrt(c)
alpha = ca /cdabs(ca)
c = cdabs(ca) / norm
s = alpha * dconjg(cb) / norm

View File

@ -0,0 +1,41 @@
*** BLAS/SRC/zrotg.f~ Mon Jul 3 19:23:21 1995
--- BLAS/SRC/zrotg.f Tue Jul 4 13:11:24 1995
***************
*** 3,20 ****
double precision c
double precision norm,scale
double complex alpha
! if (cdabs(ca) .ne. 0.0d0) go to 10
c = 0.0d0
s = (1.0d0,0.0d0)
ca = cb
go to 20
10 continue
! scale = cdabs(ca) + cdabs(cb)
! c = (cdabs(ca/dcmplx(scale,0.0d0)))**2 +
! * (cdabs(cb/dcmplx(scale,0.0d0)))**2
norm = scale*dsqrt(c)
! alpha = ca /cdabs(ca)
! c = cdabs(ca) / norm
s = alpha * dconjg(cb) / norm
ca = alpha * norm
20 continue
--- 3,20 ----
double precision c
double precision norm,scale
double complex alpha
! if (abs(ca) .ne. 0.0d0) go to 10
c = 0.0d0
s = (1.0d0,0.0d0)
ca = cb
go to 20
10 continue
! scale = abs(ca) + abs(cb)
! c = (abs(ca/dcmplx(scale,0.0d0)))**2 +
! * (abs(cb/dcmplx(scale,0.0d0)))**2
norm = scale*dsqrt(c)
! alpha = ca /abs(ca)
! c = abs(ca) / norm
s = alpha * dconjg(cb) / norm
ca = alpha * norm
20 continue

102
math/lapack/files/patch-af Normal file
View File

@ -0,0 +1,102 @@
*** ./TIMING/EIG/stimee.f~ Fri Nov 18 19:49:14 1994
--- ./TIMING/EIG/stimee.f Tue Jul 4 19:24:06 1995
***************
*** 243,250 ****
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAX( MAXN*( 4*MAXN+2 ),
! $ 2*LDAMAX+1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
--- 243,249 ----
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAXN*( 4*MAXN+2 ))
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
*** ./TIMING/EIG/ctimee.f~ Fri Nov 18 19:49:34 1994
--- ./TIMING/EIG/ctimee.f Tue Jul 4 22:37:16 1995
***************
*** 262,275 ****
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAX( MAXN*( 4*MAXN+2 ),
! $ 2*LDAMAX+1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
INTEGER LRWORK
! PARAMETER ( LRWORK = MAX( MAXIN*MAXT*MAXPRM,
! $ 1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER NIN, NOUT
PARAMETER ( NIN = 5, NOUT = 6 )
* ..
--- 262,273 ----
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAXN*( 4*MAXN+2 ))
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
INTEGER LRWORK
! PARAMETER ( LRWORK = 1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 )
INTEGER NIN, NOUT
PARAMETER ( NIN = 5, NOUT = 6 )
* ..
*** ./TIMING/EIG/dtimee.f~ Fri Nov 18 19:49:24 1994
--- ./TIMING/EIG/dtimee.f Tue Jul 4 23:41:44 1995
***************
*** 243,250 ****
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAX( MAXN*( 4*MAXN+2 ),
! $ 2*LDAMAX+1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
--- 243,249 ----
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAXN*( 4*MAXN+2 ))
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
*** ./TIMING/EIG/ztimee.f~ Fri Nov 18 19:49:43 1994
--- ./TIMING/EIG/ztimee.f Wed Jul 5 00:55:56 1995
***************
*** 262,275 ****
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAX( MAXN*( 4*MAXN+2 ),
! $ 2*LDAMAX+1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
INTEGER LRWORK
! PARAMETER ( LRWORK = MAX( MAXIN*MAXT*MAXPRM,
! $ 1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 ) )
INTEGER NIN, NOUT
PARAMETER ( NIN = 5, NOUT = 6 )
* ..
--- 262,273 ----
INTEGER LIWRK2
PARAMETER ( LIWRK2 = 6+6*MAXN+5*MAXN*LG2MXN )
INTEGER LWORK
! PARAMETER ( LWORK = MAXN*( 4*MAXN+2 ))
INTEGER MAXIN, MAXPRM, MAXT, MAXSUB
PARAMETER ( MAXIN = 12, MAXPRM = 10, MAXT = 10,
$ MAXSUB = 20 )
INTEGER LRWORK
! PARAMETER ( LRWORK = 1+3*MAXN+2*MAXN*LG2MXN+3*MAXN**2 )
INTEGER NIN, NOUT
PARAMETER ( NIN = 5, NOUT = 6 )
* ..

132
math/lapack/files/patch-ag Normal file
View File

@ -0,0 +1,132 @@
*** TIMING/EIG/zeispack.f~ Fri Sep 23 18:36:18 1994
--- TIMING/EIG/zeispack.f Wed Jul 5 01:01:51 1995
***************
*** 3062,3068 ****
DREAL(ZDUMR) = ZDUMR
DIMAG(ZDUMI) = (0.0D0,-1.0D0)*ZDUMI
CABS1(ZDUM) = DABS(DREAL(ZDUM)) + DABS(DIMAG(ZDUM))
! CSIGN(ZDUM1,ZDUM2) = CDABS(ZDUM1)*(ZDUM2/CDABS(ZDUM2))
*
* GET EPS FROM DLAMCH FOR NEW STOPPING CRITERION
IF (N.LE.0 .OR. P.LE.0) RETURN
--- 3062,3068 ----
DREAL(ZDUMR) = ZDUMR
DIMAG(ZDUMI) = (0.0D0,-1.0D0)*ZDUMI
CABS1(ZDUM) = DABS(DREAL(ZDUM)) + DABS(DIMAG(ZDUM))
! CSIGN(ZDUM1,ZDUM2) = ABS(ZDUM1)*(ZDUM2/ABS(ZDUM2))
*
* GET EPS FROM DLAMCH FOR NEW STOPPING CRITERION
IF (N.LE.0 .OR. P.LE.0) RETURN
***************
*** 3281,3287 ****
* INCREMENT OP COUNT
IOPS = IOPS + 23
IF (WANTU) IOPS = IOPS + 6*N
! T = DCMPLX(CDABS(S(I)),0.0D0)
R = S(I)/T
S(I) = T
IF (I .LT. M) E(I) = E(I)/R
--- 3281,3287 ----
* INCREMENT OP COUNT
IOPS = IOPS + 23
IF (WANTU) IOPS = IOPS + 6*N
! T = DCMPLX(ABS(S(I)),0.0D0)
R = S(I)/T
S(I) = T
IF (I .LT. M) E(I) = E(I)/R
***************
*** 3294,3300 ****
* INCREMENT OP COUNT
IOPS = IOPS + 20
IF (WANTV) IOPS = IOPS + 6*P
! T = DCMPLX(CDABS(E(I)),0.0D0)
R = T/E(I)
E(I) = T
S(I+1) = S(I+1)*R
--- 3294,3300 ----
* INCREMENT OP COUNT
IOPS = IOPS + 20
IF (WANTV) IOPS = IOPS + 6*P
! T = DCMPLX(ABS(E(I)),0.0D0)
R = T/E(I)
E(I) = T
S(I+1) = S(I+1)*R
***************
*** 3346,3358 ****
*
* INCREMENT OP COUNT
IOPST = IOPST + 17
! TEST = CDABS(S(L)) + CDABS(S(L+1))
*
* REPLACE STOPPING CRITERION WITH NEW ONE
*
! * ZTEST = TEST + CDABS(E(L))
* IF (ZTEST .NE. TEST) GO TO 420
! IF (CDABS(E(L)) .GT. EPS * TEST) GOTO 420
*
E(L) = (0.0D0,0.0D0)
C ......EXIT
--- 3346,3358 ----
*
* INCREMENT OP COUNT
IOPST = IOPST + 17
! TEST = ABS(S(L)) + ABS(S(L+1))
*
* REPLACE STOPPING CRITERION WITH NEW ONE
*
! * ZTEST = TEST + ABS(E(L))
* IF (ZTEST .NE. TEST) GO TO 420
! IF (ABS(E(L)) .GT. EPS * TEST) GOTO 420
*
E(L) = (0.0D0,0.0D0)
C ......EXIT
***************
*** 3374,3387 ****
*
* INCREMENT OP COUNT
IOPST = IOPST + 18
! IF (LS .NE. M) TEST = TEST + CDABS(E(LS))
! IF (LS .NE. L + 1) TEST = TEST + CDABS(E(LS-1))
*
* REPLACE STOPPING CRITERION WITH NEW ONE AS IN LAPACK
*
! * ZTEST = TEST + CDABS(S(LS))
* IF (ZTEST .NE. TEST) GO TO 460
! IF (CDABS(S(LS)) .GT. EPS * TEST) GOTO 460
*
S(LS) = (0.0D0,0.0D0)
C ......EXIT
--- 3374,3387 ----
*
* INCREMENT OP COUNT
IOPST = IOPST + 18
! IF (LS .NE. M) TEST = TEST + ABS(E(LS))
! IF (LS .NE. L + 1) TEST = TEST + ABS(E(LS-1))
*
* REPLACE STOPPING CRITERION WITH NEW ONE AS IN LAPACK
*
! * ZTEST = TEST + ABS(S(LS))
* IF (ZTEST .NE. TEST) GO TO 460
! IF (ABS(S(LS)) .GT. EPS * TEST) GOTO 460
*
S(LS) = (0.0D0,0.0D0)
C ......EXIT
***************
*** 3458,3465 ****
*
* INCREMENT OP COUNT
IOPST = IOPST + 48
! SCALE = DMAX1(CDABS(S(M)),CDABS(S(M-1)),CDABS(E(M-1)),
! * CDABS(S(L)),CDABS(E(L)))
SM = DREAL(S(M))/SCALE
SMM1 = DREAL(S(M-1))/SCALE
EMM1 = DREAL(E(M-1))/SCALE
--- 3458,3465 ----
*
* INCREMENT OP COUNT
IOPST = IOPST + 48
! SCALE = DMAX1(ABS(S(M)),ABS(S(M-1)),ABS(E(M-1)),
! * ABS(S(L)),ABS(E(L)))
SM = DREAL(S(M))/SCALE
SMM1 = DREAL(S(M-1))/SCALE
EMM1 = DREAL(E(M-1))/SCALE

1
math/lapack/pkg-comment Normal file
View File

@ -0,0 +1 @@
LAPACK is a library of Fortran 77 subroutines for linear algebra.

97
math/lapack/pkg-descr Normal file
View File

@ -0,0 +1,97 @@
==================
LAPACK README FILE
==================
VERSION 1.0 : February 29, 1992
VERSION 1.0a : June 30, 1992
VERSION 1.0b : October 31, 1992
VERSION 1.1 : March 31, 1993
VERSION 2.0 : September 30, 1994
DATE: September 30, 1994
LAPACK is a library of Fortran 77 subroutines for solving
the most commonly occurring problems in numerical linear algebra.
It is public-domain software, and can be used freely.
LAPACK is available via netlib, anonymous ftp, world wide web, and a
tar tape from NAG.
The tar tape contains the Fortran source for LAPACK, the testing programs, and
the timing programs.
It also contains Fortran code for the Basic Linear Algebra Subprograms
(the Level 1, 2, and 3 BLAS) needed by LAPACK.
However this code is intended for use only if there is no other implementation
of the BLAS already available on your machine; the efficiency of LAPACK
depends very much on the efficiency of the BLAS.
The complete package, including test code and timing programs in four
different Fortran data types (real, complex, double precision, double
complex), contains some 735,000 lines of Fortran source and comments.
You will need approximately 33 Mbytes to read the complete tape.
We recommend that you run the testing and timing programs.
The total space requirements for the testing and timing for all four data
types, including the object files, is approximately 80 Mbytes.
A README file containing the information in this letter is located
in the LAPACK directory. Postscript and LaTeX versions of the Quick
Installation Guide are in the LAPACK/INSTALL directory, in the files
lawn81.tex, psfig.tex, lawn81.ps, and org2.ps. Consult the Installation
Guide for further details on installing the package and on what is contained
in each subdirectory. For complete information on the LAPACK Testing
and Timing Suites please consult LAPACK Working Note 41 "Installation
Guide for LAPACK".
It is highly recommended that you obtain a copy of the Second Edition of
the LAPACK Users' Guide published by SIAM. This second edition will be
ready sometime in late 1994. This Users' Guide gives a detailed
description of the philosophy behind LAPACK as well as an explanation of
its usage. The LAPACK Users' Guide can be purchased from:
SIAM; 3600 University City Science Center; Philadelphia, PA 19104-2688;
215-382-9800, FAX 215-386-7999. It will also be available from booksellers.
To order by email, send email to service@siam.org.
The C version of LAPACK is now available. Refer to the index on netlib
for more information.
echo "send index from clapack" | mail netlib@ornl.gov
The C++ version of LAPACK is now available. Refer to the index on netlib
for more information.
echo "send index from c++/lapack++" | mail netlib@ornl.gov
Or, for more information on the distributed-memory version of LAPACK,
consult the ScaLAPACK index on netlib:
echo "send index from scalapack" | mail netlib@ornl.gov
LAPACK has been thoroughly tested, on many different
types of computers. The LAPACK project supports the package in the
sense that reports of errors or poor performance will gain immediate
attention from the developers. Such reports, descriptions
of interesting applications, and other comments should be sent by
electronic mail to lapack@cs.utk.edu.
A list of known problems, bugs, and compiler errors for LAPACK is
maintained on netlib. For a copy of this report, send email to
netlib@ornl.gov with a message of the form: send release_notes from lapack.
A number of technical reports were written during the development of
LAPACK and published as LAPACK Working Notes, initially by Argonne
National Laboratory and later by the University of Tennessee. Many of
these reports later appeared as journal articles. Most of these working
notes are available in postscript form from netlib. To receive a list of
available reports, send email to netlib@ornl.gov with a message of the
form: send index from lapack/lawns.
Otherwise, requests for copies of these working notes can be sent to
the following address.
LAPACK Project
c/o J.J. Dongarra
Computer Science Department
University of Tennessee
Knoxville, Tennessee 37996-1301
USA
Email: lapack@cs.utk.edu

1189
math/lapack/pkg-plist Normal file

File diff suppressed because it is too large Load Diff

267
math/lapack/scripts/configure vendored Normal file
View File

@ -0,0 +1,267 @@
cd $WRKSRC/BLAS/SRC || exit 1
mv Makefile Makefile.old
cat >Makefile <<'END'
LIB= blas
SHLIB_MAJOR= 2
SHLIB_MINOR= 0
SBLAS1= isamax.f sasum.f saxpy.f scopy.f sdot.f snrm2.f \
srot.f srotg.f sscal.f sswap.f
CBLAS1 = scasum.f scnrm2.f icamax.f caxpy.f ccopy.f \
cdotc.f cdotu.f csscal.f crotg.f cscal.f cswap.f
DBLAS1 = idamax.f dasum.f daxpy.f dcopy.f ddot.f dnrm2.f \
drot.f drotg.f dscal.f dswap.f
ZBLAS1 = dcabs1.f dzasum.f dznrm2.f izamax.f zaxpy.f zcopy.f \
zdotc.f zdotu.f zdscal.f zrotg.f zscal.f zswap.f
ALLBLAS = lsame.f xerbla.f
SBLAS2 = sgemv.f sgbmv.f ssymv.f ssbmv.f sspmv.f \
strmv.f stbmv.f stpmv.f strsv.f stbsv.f stpsv.f \
sger.f ssyr.f sspr.f ssyr2.f sspr2.f
CBLAS2 = cgemv.f cgbmv.f chemv.f chbmv.f chpmv.f \
ctrmv.f ctbmv.f ctpmv.f ctrsv.f ctbsv.f ctpsv.f \
cgerc.f cgeru.f cher.f chpr.f cher2.f chpr2.f
DBLAS2 = dgemv.f dgbmv.f dsymv.f dsbmv.f dspmv.f \
dtrmv.f dtbmv.f dtpmv.f dtrsv.f dtbsv.f dtpsv.f \
dger.f dsyr.f dspr.f dsyr2.f dspr2.f
ZBLAS2 = zgemv.f zgbmv.f zhemv.f zhbmv.f zhpmv.f \
ztrmv.f ztbmv.f ztpmv.f ztrsv.f ztbsv.f ztpsv.f \
zgerc.f zgeru.f zher.f zhpr.f zher2.f zhpr2.f
SBLAS3 = sgemm.f ssymm.f ssyrk.f ssyr2k.f strmm.f strsm.f
CBLAS3 = cgemm.f csymm.f csyrk.f csyr2k.f ctrmm.f ctrsm.f \
chemm.f cherk.f cher2k.f
DBLAS3 = dgemm.f dsymm.f dsyrk.f dsyr2k.f dtrmm.f dtrsm.f
ZBLAS3 = zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f \
zhemm.f zherk.f zher2k.f
SRCS= $(ALLBLAS) $(SBLAS1) $(SBLAS2) $(SBLAS3) \
$(DBLAS1) $(DBLAS2) $(DBLAS3) \
$(CBLAS1) $(CBLAS2) $(CBLAS3) \
$(ZBLAS1) $(ZBLAS2) $(ZBLAS3)
.include <bsd.lib.mk>
END
cd $WRKSRC/SRC || exit 1
mv Makefile Makefile.old
cat >Makefile <<'END'
LIB= lapack
SHLIB_MAJOR= 2
SHLIB_MINOR= 0
ALLAUX = ilaenv.f lsame.f lsamen.f xerbla.f etime_.c
SCLAUX = \
sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f \
slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f \
slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f \
slagts.f slamch.f slamrg.f slanst.f slapy2.f slapy3.f slarnv.f \
slartg.f slaruv.f \
slas2.f slascl.f slaset.f slasq1.f slasq2.f slasq3.f slasq4.f \
slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \
ssteqr.f ssterf.f second.f
DZLAUX = \
dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f \
dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f \
dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f \
dlagts.f dlamch.f dlamrg.f dlanst.f dlapy2.f dlapy3.f dlarnv.f \
dlartg.f dlaruv.f \
dlas2.f dlascl.f dlaset.f dlasq1.f dlasq2.f dlasq3.f dlasq4.f \
dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \
dsteqr.f dsterf.f dsecnd.f
SLASRC = \
sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f \
sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f \
sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f \
sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f \
sgels.f sgelss.f sgelsx.f sgeql2.f sgeqlf.f \
sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f \
sgesv.f sgesvd.f sgesvx.f sgetf2.f sgetrf.f sgetri.f \
sgetrs.f sggbak.f sggbal.f sggglm.f sgghrd.f sgglse.f sggqrf.f \
sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f \
sgtsvx.f sgttrf.f sgttrs.f shgeqz.f \
shsein.f shseqr.f slabrd.f slacon.f \
slaein.f slaexc.f slag2.f slags2.f slagtm.f slahqr.f \
slahrd.f slaic1.f slaln2.f \
slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f \
slansy.f slantb.f slantp.f slantr.f slanv2.f \
slapll.f slapmt.f \
slaqgb.f slaqge.f slaqsb.f slaqsp.f slaqsy.f slaqtr.f slar2v.f \
slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f slartv.f \
slaswp.f slasy2.f slasyf.f \
slatbs.f slatps.f slatrd.f slatrs.f slatzm.f slauu2.f slauum.f \
sopgtr.f sopmtr.f sorg2l.f sorg2r.f \
sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f \
sorgrq.f sorgtr.f sorm2l.f sorm2r.f \
sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f \
sormrq.f sormtr.f spbcon.f spbequ.f spbrfs.f spbstf.f \
spbsv.f spbsvx.f \
spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f \
sposvx.f spotf2.f spotrf.f spotri.f spotrs.f sppcon.f sppequ.f \
spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f \
spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f srscl.f \
ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbtrd.f sspcon.f \
sspev.f sspevd.f \
sspevx.f sspgst.f \
sspgv.f ssprfs.f sspsv.f sspsvx.f ssptrd.f ssptrf.f ssptri.f \
ssptrs.f sstein.f sstev.f sstevd.f sstevx.f \
ssycon.f ssyev.f ssyevd.f \
ssyevx.f ssygs2.f ssygst.f ssygv.f ssyrfs.f ssysv.f ssysvx.f \
ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f \
stbrfs.f stbtrs.f stgevc.f stgsja.f stpcon.f stprfs.f stptri.f \
stptrs.f \
strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f \
strti2.f strtri.f strtrs.f stzrqf.f
CLASRC = \
cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \
cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \
cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \
cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f \
cgels.f cgelss.f cgelsx.f cgeql2.f cgeqlf.f cgeqpf.f \
cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f \
cgesv.f cgesvd.f cgesvx.f cgetf2.f cgetrf.f cgetri.f cgetrs.f \
cggbak.f cggbal.f cggglm.f cgghrd.f cgglse.f cggqrf.f cggrqf.f \
cggsvd.f cggsvp.f \
cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f chbev.f \
chbevd.f chbevx.f chbgst.f chbgv.f chbtrd.f checon.f cheev.f \
cheevd.f cheevx.f chegs2.f chegst.f \
chegv.f cherfs.f chesv.f chesvx.f chetd2.f chetf2.f chetrd.f \
chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f \
chpevx.f chpgst.f chpgv.f chprfs.f chpsv.f chpsvx.f \
chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f \
clacgv.f clacon.f clacpy.f clacrm.f clacrt.f cladiv.f \
claed0.f claed7.f claed8.f \
claein.f claesy.f claev2.f clags2.f clagtm.f \
clahef.f clahqr.f \
clahrd.f claic1.f clangb.f clange.f clangt.f clanhb.f clanhe.f \
clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f \
clantp.f clantr.f clapll.f clapmt.f claqgb.f claqge.f \
claqhb.f claqhe.f claqhp.f claqsb.f \
claqsp.f claqsy.f clar2v.f clarf.f clarfb.f clarfg.f clarft.f \
clarfx.f clargv.f clarnv.f clartg.f clartv.f \
clascl.f claset.f clasr.f classq.f claswp.f clasyf.f \
clatbs.f clatps.f clatrd.f clatrs.f clatzm.f clauu2.f clauum.f \
cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f \
cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f \
cposv.f cposvx.f cpotf2.f cpotrf.f cpotri.f cpotrs.f cppcon.f \
cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f \
cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f \
crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f \
cspsvx.f csptrf.f csptri.f csptrs.f csrot.f csrscl.f cstedc.f \
cstein.f csteqr.f csycon.f csymv.f \
csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f \
csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgsja.f ctpcon.f \
ctprfs.f ctptri.f \
ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f \
ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f cung2l.f cung2r.f \
cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f \
cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f \
cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmrq.f cunmtr.f cupgtr.f \
cupmtr.f icmax1.f scsum1.f
DLASRC = \
dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \
dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \
dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \
dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f \
dgels.f dgelss.f dgelsx.f dgeql2.f dgeqlf.f \
dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f \
dgesv.f dgesvd.f dgesvx.f dgetf2.f dgetrf.f dgetri.f \
dgetrs.f dggbak.f dggbal.f dggglm.f dgghrd.f dgglse.f dggqrf.f \
dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f \
dgtsvx.f dgttrf.f dgttrs.f dhgeqz.f \
dhsein.f dhseqr.f dlabrd.f dlacon.f \
dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlahqr.f \
dlahrd.f dlaic1.f dlaln2.f \
dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f \
dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f \
dlapll.f dlapmt.f \
dlaqgb.f dlaqge.f dlaqsb.f dlaqsp.f dlaqsy.f dlaqtr.f dlar2v.f \
dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f dlartv.f \
dlaswp.f dlasy2.f dlasyf.f \
dlatbs.f dlatps.f dlatrd.f dlatrs.f dlatzm.f dlauu2.f dlauum.f \
dopgtr.f dopmtr.f dorg2l.f dorg2r.f \
dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f \
dorgrq.f dorgtr.f dorm2l.f dorm2r.f \
dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f \
dormrq.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f dpbstf.f \
dpbsv.f dpbsvx.f \
dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f \
dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dppcon.f dppequ.f \
dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f \
dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f drscl.f \
dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbtrd.f dspcon.f \
dspev.f dspevd.f dspevx.f dspgst.f \
dspgv.f dsprfs.f dspsv.f dspsvx.f dsptrd.f dsptrf.f dsptri.f \
dsptrs.f dstein.f dstev.f dstevd.f dstevx.f \
dsycon.f dsyev.f dsyevd.f \
dsyevx.f dsygs2.f dsygst.f dsygv.f dsyrfs.f dsysv.f dsysvx.f \
dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f \
dtbrfs.f dtbtrs.f dtgevc.f dtgsja.f dtpcon.f dtprfs.f dtptri.f \
dtptrs.f \
dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f \
dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f
ZLASRC = \
zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \
zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \
zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \
zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f \
zgels.f zgelss.f zgelsx.f zgeql2.f zgeqlf.f zgeqpf.f \
zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f \
zgesv.f zgesvd.f zgesvx.f zgetf2.f zgetrf.f zgetri.f zgetrs.f \
zggbak.f zggbal.f zggglm.f zgghrd.f zgglse.f zggqrf.f zggrqf.f \
zggsvd.f zggsvp.f \
zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zhbev.f \
zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbtrd.f zhecon.f zheev.f \
zheevd.f zheevx.f zhegs2.f zhegst.f \
zhegv.f zherfs.f zhesv.f zhesvx.f zhetd2.f zhetf2.f zhetrd.f \
zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f \
zhpevx.f zhpgst.f zhpgv.f zhprfs.f zhpsv.f zhpsvx.f \
zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f \
zlacgv.f zlacon.f zlacpy.f zlacrm.f zlacrt.f zladiv.f \
zlaed0.f zlaed7.f zlaed8.f \
zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f \
zlahef.f zlahqr.f \
zlahrd.f zlaic1.f zlangb.f zlange.f zlangt.f zlanhb.f zlanhe.f \
zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f \
zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f \
zlaqhb.f zlaqhe.f zlaqhp.f zlaqsb.f \
zlaqsp.f zlaqsy.f zlar2v.f zlarf.f zlarfb.f zlarfg.f zlarft.f \
zlarfx.f zlargv.f zlarnv.f zlartg.f zlartv.f \
zlascl.f zlaset.f zlasr.f zlassq.f zlaswp.f zlasyf.f \
zlatbs.f zlatps.f zlatrd.f zlatrs.f zlatzm.f zlauu2.f zlauum.f \
zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f \
zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f \
zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zppcon.f \
zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f \
zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f \
zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f \
zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrot.f zdrscl.f zstedc.f \
zstein.f zsteqr.f zsycon.f zsymv.f \
zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f \
zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgsja.f ztpcon.f \
ztprfs.f ztptri.f \
ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f \
ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f zung2l.f zung2r.f \
zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f \
zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f \
zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmrq.f zunmtr.f zupgtr.f \
zupmtr.f izmax1.f dzsum1.f
SRCS= $(ALLAUX) $(SLASRC) $(SCLAUX) \
$(CLASRC) $(DLASRC) $(DZLAUX) \
$(ZLASRC)
.include <bsd.lib.mk>
END
exit 0