aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authorijliao <ijliao@FreeBSD.org>2002-06-23 01:10:55 +0800
committerijliao <ijliao@FreeBSD.org>2002-06-23 01:10:55 +0800
commit3d8098962c35e6759fdc3c3865e394ee7ea54557 (patch)
treedd4e14365bd45c6116d9041ee74bfaaf18aaf836 /math
parentc147389ae60aad271c5b1f86f9ba1368e91eb78b (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--math/lapack++/Makefile45
-rw-r--r--math/lapack++/distinfo5
-rw-r--r--math/lapack++/files/patch-blas++_test11
-rw-r--r--math/lapack++/files/patch-blaspp:testing:makefile11
-rw-r--r--math/lapack++/files/patch-eigslv.cc61
-rw-r--r--math/lapack++/files/patch-lapack++_test11
-rw-r--r--math/lapack++/files/patch-laslv.h11
-rw-r--r--math/lapack++/files/patch-makefile29
-rw-r--r--math/lapack++/files/patch-makefile.def44
-rw-r--r--math/lapack++/files/patch-matrix_test11
-rw-r--r--math/lapack++/pkg-comment1
-rw-r--r--math/lapack++/pkg-descr12
-rw-r--r--math/lapack++/pkg-plist65
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++