diff options
author | ijliao <ijliao@FreeBSD.org> | 2002-06-23 01:10:55 +0800 |
---|---|---|
committer | ijliao <ijliao@FreeBSD.org> | 2002-06-23 01:10:55 +0800 |
commit | 3d8098962c35e6759fdc3c3865e394ee7ea54557 (patch) | |
tree | dd4e14365bd45c6116d9041ee74bfaaf18aaf836 /math | |
parent | c147389ae60aad271c5b1f86f9ba1368e91eb78b (diff) | |
download | freebsd-ports-gnome-3d8098962c35e6759fdc3c3865e394ee7ea54557.tar.gz freebsd-ports-gnome-3d8098962c35e6759fdc3c3865e394ee7ea54557.tar.zst freebsd-ports-gnome-3d8098962c35e6759fdc3c3865e394ee7ea54557.zip |
add lapack++ 1.1
Linear Algebra PACKage in C++, a wrapper for LAPACK
PR: 39653
Submitted by: Nakata Maho <chat95@mbox.kyoto-inet.or.jp>
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/lapack++/Makefile | 45 | ||||
-rw-r--r-- | math/lapack++/distinfo | 5 | ||||
-rw-r--r-- | math/lapack++/files/patch-blas++_test | 11 | ||||
-rw-r--r-- | math/lapack++/files/patch-blaspp:testing:makefile | 11 | ||||
-rw-r--r-- | math/lapack++/files/patch-eigslv.cc | 61 | ||||
-rw-r--r-- | math/lapack++/files/patch-lapack++_test | 11 | ||||
-rw-r--r-- | math/lapack++/files/patch-laslv.h | 11 | ||||
-rw-r--r-- | math/lapack++/files/patch-makefile | 29 | ||||
-rw-r--r-- | math/lapack++/files/patch-makefile.def | 44 | ||||
-rw-r--r-- | math/lapack++/files/patch-matrix_test | 11 | ||||
-rw-r--r-- | math/lapack++/pkg-comment | 1 | ||||
-rw-r--r-- | math/lapack++/pkg-descr | 12 | ||||
-rw-r--r-- | math/lapack++/pkg-plist | 65 |
14 files changed, 318 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index f5621891f144..08527940cfbc 100644 --- a/math/Makefile +++ b/math/Makefile @@ -51,6 +51,7 @@ SUBDIR += javanns SUBDIR += kseg SUBDIR += lapack + SUBDIR += lapack++ SUBDIR += libgmp-freebsd SUBDIR += libgmp4 SUBDIR += libneural diff --git a/math/lapack++/Makefile b/math/lapack++/Makefile new file mode 100644 index 000000000000..2eb9f8930421 --- /dev/null +++ b/math/lapack++/Makefile @@ -0,0 +1,45 @@ +# New ports collection makefile for: lapack++ +# Date created: 5 May 2002 +# Whom: NAKATA Maho <chat95@mbox.kyoto-inet.or.jp> +# +# $FreeBSD$ +# + +PORTNAME= lapack++ +PORTVERSION= 1.1 +CATEGORIES= math +MASTER_SITES= http://math.nist.gov/lapack++/ +DISTFILES= Lapackpp1_1a.tgz +DIST_SUBDIR= lapack++ +EXTRACT_ONLY= Lapackpp1_1a.tgz + +.if !defined(NOPORTDOCS) +DISTFILES+= lapack++.ps.gz lapackpp1_1.ps.gz lapackppman1_1.ps.gz \ + lapack++_install.ps.gz +.endif + +MAINTAINER= chat95@mbox.kyoto-inet.or.jp + +LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack \ + atlas:${PORTSDIR}/math/atlas + +WRKSRC= ${WRKDIR}/Lapackpp1.1a + +post-patch: + @(cd ${WRKSRC} ; ${MV} makefile Makefile) + +do-install: +.for i in libblas++ liblamatrix++ liblapack++ + ${INSTALL_DATA} ${WRKSRC}/${i}.a ${PREFIX}/lib +.endfor + @${MKDIR} ${PREFIX}/include/lapack++ + ${INSTALL_DATA} ${WRKSRC}/include/*.h ${PREFIX}/include/lapack++ +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + ${CP} ${DISTDIR}/${DIST_SUBDIR}/lapack++.ps.gz ${DOCSDIR} + ${CP} ${DISTDIR}/${DIST_SUBDIR}/lapack++_install.ps.gz ${DOCSDIR} + ${CP} ${DISTDIR}/${DIST_SUBDIR}/lapackpp1_1.ps.gz ${DOCSDIR} + ${CP} ${DISTDIR}/${DIST_SUBDIR}/lapackppman1_1.ps.gz ${DOCSDIR} +.endif + +.include <bsd.port.mk> diff --git a/math/lapack++/distinfo b/math/lapack++/distinfo new file mode 100644 index 000000000000..a1403449912d --- /dev/null +++ b/math/lapack++/distinfo @@ -0,0 +1,5 @@ +MD5 (lapack++/Lapackpp1_1a.tgz) = 8a55a8d939d460f18f209a6c5c9d2515 +MD5 (lapack++/lapack++.ps.gz) = 59ad006ae7b334d44efeecfb127abb9b +MD5 (lapack++/lapackpp1_1.ps.gz) = 433f8b9b50d5ce2657a762389eb8c285 +MD5 (lapack++/lapackppman1_1.ps.gz) = 2ad87d2091521637231efa05ec6886eb +MD5 (lapack++/lapack++_install.ps.gz) = 4e048f44c929e1446bae4e49505568a8 diff --git a/math/lapack++/files/patch-blas++_test b/math/lapack++/files/patch-blas++_test new file mode 100644 index 000000000000..504663e6e22d --- /dev/null +++ b/math/lapack++/files/patch-blas++_test @@ -0,0 +1,11 @@ +--- blaspp/testing/blas++_test.org Tue Feb 29 05:42:30 2000 ++++ blaspp/testing/blas++_test Mon May 20 10:30:07 2002 +@@ -31,7 +31,7 @@ + foreach t ($testsuite) + set answer = $t:t.out + echo "$t $N[1] $M[1] >& $answer" +- $t $N[1] $M[1] >& $answer ++ ./$t $N[1] $M[1] >& $answer + + end + diff --git a/math/lapack++/files/patch-blaspp:testing:makefile b/math/lapack++/files/patch-blaspp:testing:makefile new file mode 100644 index 000000000000..cfa85b5f04ab --- /dev/null +++ b/math/lapack++/files/patch-blaspp:testing:makefile @@ -0,0 +1,11 @@ +--- blaspp/testing/makefile.org Mon May 20 11:04:29 2002 ++++ blaspp/testing/makefile Mon May 20 11:04:44 2002 +@@ -13,7 +13,7 @@ + + + tblasd++ : tblasd++.o +- $(CPP) $(CPPFLAGS) -o tblasd++ tblasd++.o $(LAMATRIXPP_LIB) \ ++ $(CPP) $(CPPFLAGS) -o tblasd++ tblasd++.o -L${PREFIX}/lib $(LAMATRIXPP_LIB) \ + $(COMPLEX_LIB) $(BLASPP_LIB) $(BLAS_LIB) \ + $(FLIBS) + diff --git a/math/lapack++/files/patch-eigslv.cc b/math/lapack++/files/patch-eigslv.cc new file mode 100644 index 000000000000..c087bceb8f4f --- /dev/null +++ b/math/lapack++/files/patch-eigslv.cc @@ -0,0 +1,61 @@ +--- src/eigslv.cc~ Wed Mar 1 02:52:47 2000 ++++ src/eigslv.cc Wed May 22 21:49:45 2002 +@@ -58,14 +58,14 @@ + // char *fname = NULL; // HP C++ does not support string initalization! + //#endif + +- // view symmetric matrix S as a LaGenMatDouble +- // assumes S is contiguous... +- LaSymmMatDouble tmp(S); +- LaEigSolveVecIP(tmp, eigvals); +- +- LaGenMatDouble tmp2(&tmp(0,0), S.size(0), S.size(1)); +- eigvec.ref(tmp2); +- ++ long int N = S.size(0); ++ long int i,j; ++ ++ for(j=0;j<N;j++){ ++ for(i=j;i<N;i++){ ++ eigvec(i,j)=S(i,j); ++ }} ++ LaEigSolveVecIP(eigvec, eigvals); + + } + +@@ -100,18 +100,18 @@ + + } + +-void LaEigSolveVecIP(LaSymmMatDouble &S, LaVectorDouble &eigvals) ++void LaEigSolveVecIP(LaGenMatDouble &A, LaVectorDouble &eigvals) + { + #ifndef HPPA + const char fname[] = "LaEigSolveVecIP(LaGenMatDouble &A, &eigvals)"; + #else + char *fname = NULL; // HP C++ does not support string initalization! + #endif +- long int N = S.size(0); ++ long int N = A.size(0); + char jobz = 'V'; + char uplo = 'L'; + long int info; +- long int lda = S.gdim(0); ++ long int lda = A.gdim(0); + + if (eigvals.size() < N) + { +@@ -119,11 +119,11 @@ + } + + +- long int w = (LaEnvBlockSize("SSYTRD", S) +2) * N; ++ long int w = (LaEnvBlockSize("SSYTRD", A) +2) * N; + LaVectorDouble Work(w); + + +- F77NAME(dsyev)(&jobz, &uplo, &N, S.addr(), &lda, &eigvals(0), &Work(0), ++ F77NAME(dsyev)(&jobz, &uplo, &N, A.addr(), &lda, &eigvals(0), &Work(0), + &w, &info); + + if (info != 0) diff --git a/math/lapack++/files/patch-lapack++_test b/math/lapack++/files/patch-lapack++_test new file mode 100644 index 000000000000..9f0d5b4d5438 --- /dev/null +++ b/math/lapack++/files/patch-lapack++_test @@ -0,0 +1,11 @@ +--- testing/lapack++_test.org Tue Feb 29 05:42:30 2000 ++++ testing/lapack++_test Mon May 20 10:26:07 2002 +@@ -31,7 +31,7 @@ + foreach n ($N) + set answer = $t:t$n.out + echo "$t $n $n >& $answer" +- $t $n $n >>& $answer ++ ./$t $n $n >>& $answer + end + end + diff --git a/math/lapack++/files/patch-laslv.h b/math/lapack++/files/patch-laslv.h new file mode 100644 index 000000000000..194dc56f220e --- /dev/null +++ b/math/lapack++/files/patch-laslv.h @@ -0,0 +1,11 @@ +--- include/laslv.h~ Tue Feb 29 05:42:27 2000 ++++ include/laslv.h Wed May 22 21:51:02 2002 +@@ -51,7 +51,7 @@ + void LaEigSolve(const LaSymmMatDouble &S, LaVectorDouble &eigvals, + LaGenMatDouble &eigvec); + void LaEigSolveIP(LaSymmMatDouble &S, LaVectorDouble &eigvals); +-void LaEigSolveVecIP(LaSymmMatDouble &S, LaVectorDouble &eigvals); ++void LaEigSolveVecIP(LaGenMatDouble &A, LaVectorDouble &eigvals); + #endif + + diff --git a/math/lapack++/files/patch-makefile b/math/lapack++/files/patch-makefile new file mode 100644 index 000000000000..25dbcad8c8b7 --- /dev/null +++ b/math/lapack++/files/patch-makefile @@ -0,0 +1,29 @@ +--- makefile.org Tue Feb 29 05:42:30 2000 ++++ makefile Mon May 20 10:21:52 2002 +@@ -30,7 +30,7 @@ + + matrix_testing : + cd $(LAPACKPP_DIR)/matrix/testing; make; +- cd $(LAPACKPP_DIR)/matrix/testing; matrix_test ++ cd $(LAPACKPP_DIR)/matrix/testing; ./matrix_test + + + # C++ interface to the BLAS +@@ -41,7 +41,7 @@ + + blas++_testing: + cd $(LAPACKPP_DIR)/blaspp/testing; make; +- cd $(LAPACKPP_DIR)/blaspp/testing; blas++_test; ++ cd $(LAPACKPP_DIR)/blaspp/testing; ./blas++_test; + + + +@@ -56,7 +56,7 @@ + # (whose path is specified as $(TMGLIB)) be defined. + lapack++_testing : + cd $(LAPACKPP_DIR)/testing; make +- cd $(LAPACKPP_DIR)/testing; lapack++_test ++ cd $(LAPACKPP_DIR)/testing; ./lapack++_test + + nolibs: + cd $(LAPACKPP_LIB_DIR); rm *.a diff --git a/math/lapack++/files/patch-makefile.def b/math/lapack++/files/patch-makefile.def new file mode 100644 index 000000000000..51224438f39d --- /dev/null +++ b/math/lapack++/files/patch-makefile.def @@ -0,0 +1,44 @@ +--- makefile.def.orig Wed Mar 1 02:42:58 2000 ++++ makefile.def Mon May 20 11:18:27 2002 +@@ -12,11 +12,11 @@ + # g++ 2.7.0) Some other choices for ARCH are "SGI" and "RIOS" (RS-6000) + # + +-ARCH = Linux ++ARCH = FreeBSD + CPP = g++ +-CPPFLAGS = -I$(LAPACKPP_INC) -D$(ARCH) -Wall +-CPPLIBS = -lm +-CFLAGS = -I$(LAPACKPP_INC) ++CPPFLAGS+= $(CFLAGS) -I$(LAPACKPP_INC) -D$(ARCH) ++CPPLIBS+= -lm ++CFLAGS+= -I$(LAPACKPP_INC) + # + # + +@@ -35,8 +35,14 @@ + # + # Linux + # +-BLAS_LIB = $(HOME)/lib/Linux/libblas.a +-LAPACK_LIB = $(HOME)/lib/Linux/liblapack.a ++#BLAS_LIB = $(HOME)/lib/Linux/libblas.a ++#LAPACK_LIB = $(HOME)/lib/Linux/liblapack.a ++#FLIBS = -lm -lg2c ++# ++# FreeBSD ++# ++BLAS_LIB = -lf77blas -latlas ++LAPACK_LIB = -lalapack -lcblas + FLIBS = -lm -lg2c + # + # Sun +@@ -60,7 +66,7 @@ + LAPACKPP_LIB = $(LAPACKPP_LIB_DIR)/liblapack++.a + BLASPP_LIB = $(LAPACKPP_LIB_DIR)/libblas++.a + +-ALL_LAPACKPP_LIB = \ ++ALL_LAPACKPP_LIB = -L${PREFIX}/lib \ + $(LAMATRIXPP_LIB) \ + $(LAPACKPP_LIB) \ + $(TMGLIB) \ diff --git a/math/lapack++/files/patch-matrix_test b/math/lapack++/files/patch-matrix_test new file mode 100644 index 000000000000..6043c5398b86 --- /dev/null +++ b/math/lapack++/files/patch-matrix_test @@ -0,0 +1,11 @@ +--- matrix/testing/matrix_test.org Tue Feb 29 05:42:29 2000 ++++ matrix/testing/matrix_test Mon May 20 10:19:03 2002 +@@ -32,7 +32,7 @@ + foreach t ($testsuite) + set answer = $t:t.out + echo "$t $N[1] $N[1] >& $answer" +- $t $N[1] $N[1] >& $answer ++ ./$t $N[1] $N[1] >& $answer + + end + diff --git a/math/lapack++/pkg-comment b/math/lapack++/pkg-comment new file mode 100644 index 000000000000..40fa71523dd0 --- /dev/null +++ b/math/lapack++/pkg-comment @@ -0,0 +1 @@ +Linear Algebra PACKage in C++, a wrapper for LAPACK diff --git a/math/lapack++/pkg-descr b/math/lapack++/pkg-descr new file mode 100644 index 000000000000..795529c9c15c --- /dev/null +++ b/math/lapack++/pkg-descr @@ -0,0 +1,12 @@ +LAPACK++ (Linear Algebra PACKage in C++) is a software library for numerical +linear algebra that solves systems of linear equations and eigenvalue +problems on high performance computer architectures. + +Computational support is provided for supports various matrix classes for +vectors, non-symmetric matrices, SPD matrices, symmetric matrices, banded, +triangular, and tridiagonal matrices; however, it does not include all +of the capabilities of original f77 LAPACK. Emphasis is given to routines +for solving linear systems consisting of non-symmetric matrices, +symmetric positive definite systems, and solving linear least-square systems. + +WWW: http://math.nist.gov/lapack++/ diff --git a/math/lapack++/pkg-plist b/math/lapack++/pkg-plist new file mode 100644 index 000000000000..1cc34a732460 --- /dev/null +++ b/math/lapack++/pkg-plist @@ -0,0 +1,65 @@ +include/lapack++/arch.h +include/lapack++/bfd.h +include/lapack++/blas++.h +include/lapack++/blas1++.h +include/lapack++/blas1.h +include/lapack++/blas2++.h +include/lapack++/blas2.h +include/lapack++/blas3++.h +include/lapack++/blas3.h +include/lapack++/bmd.h +include/lapack++/f2c.h +include/lapack++/fmd.h +include/lapack++/genmd.h +include/lapack++/gfd.h +include/lapack++/gmc.h +include/lapack++/gmd.h +include/lapack++/gmf.h +include/lapack++/gmi.h +include/lapack++/gmli.h +include/lapack++/lacvd.h +include/lapack++/laexcp.h +include/lapack++/lafnames.h +include/lapack++/laindex.h +include/lapack++/lapack++.h +include/lapack++/lapack.h +include/lapack++/lapackc.h +include/lapack++/lapackd.h +include/lapack++/larvd.h +include/lapack++/laslv.h +include/lapack++/lautil.h +include/lapack++/lavc.h +include/lapack++/lavd.h +include/lapack++/lavf.h +include/lapack++/lavi.h +include/lapack++/lavli.h +include/lapack++/ltgmd.h +include/lapack++/spdbmd.h +include/lapack++/spdfd.h +include/lapack++/spdmd.h +include/lapack++/spdtrmd.h +include/lapack++/sybfd.h +include/lapack++/sybmd.h +include/lapack++/syfd.h +include/lapack++/symd.h +include/lapack++/sytrmd.h +include/lapack++/template_v.h +include/lapack++/trfd.h +include/lapack++/trmd.h +include/lapack++/ultgmd.h +include/lapack++/utgmd.h +include/lapack++/uutgmd.h +include/lapack++/vc.h +include/lapack++/vd.h +include/lapack++/vf.h +include/lapack++/vi.h +include/lapack++/vli.h +@dirrm include/lapack++ +lib/libblas++.a +lib/liblamatrix++.a +lib/liblapack++.a +%%PORTDOCS%%share/doc/lapack++/lapack++.ps.gz +%%PORTDOCS%%share/doc/lapack++/lapack++_install.ps.gz +%%PORTDOCS%%share/doc/lapack++/lapackpp1_1.ps.gz +%%PORTDOCS%%share/doc/lapack++/lapackppman1_1.ps.gz +%%PORTDOCS%%@dirrm share/doc/lapack++ |