aboutsummaryrefslogtreecommitdiff
path: root/math/tmv
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2018-01-26 23:14:51 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2018-01-26 23:14:51 +0000
commit1ec427a17dff3a9eeac6c69655438eced2b67bcd (patch)
tree81e8545fdfddd94847779282481eb2d2e1ed7f3f /math/tmv
parent02dd41460ec5a6cd8fc63f4746e423ac7bad8255 (diff)
downloadports-1ec427a17dff3a9eeac6c69655438eced2b67bcd.tar.gz
ports-1ec427a17dff3a9eeac6c69655438eced2b67bcd.zip
New port: math/tmv: Fast, intuitive linear algebra library for C++
This library can be useful to anybody who needs to write code that involves matrix and vector computations. Please see the documentation here: https://github.com/rmjarvis/tmv/blob/master/doc/TMV_Documentation.pdf Approved by: tcberner (mentor) Differential Revision: D13689
Notes
Notes: svn path=/head/; revision=460061
Diffstat (limited to 'math/tmv')
-rw-r--r--math/tmv/Makefile31
-rw-r--r--math/tmv/distinfo3
-rw-r--r--math/tmv/files/Makefile33
-rw-r--r--math/tmv/pkg-descr8
-rw-r--r--math/tmv/pkg-plist106
5 files changed, 181 insertions, 0 deletions
diff --git a/math/tmv/Makefile b/math/tmv/Makefile
new file mode 100644
index 000000000000..688aa83438c6
--- /dev/null
+++ b/math/tmv/Makefile
@@ -0,0 +1,31 @@
+# $FreeBSD$
+
+PORTNAME= tmv
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.75
+CATEGORIES= math
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Fast, intuitive linear algebra library for C++
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/TMV_LICENSE
+
+LIB_DEPENDS= libomp.so:devel/openmp
+
+USES= gmake blaslapack:netlib localbase
+USE_GITHUB= yes
+GH_ACCOUNT= rmjarvis
+USE_LDCONFIG= yes
+
+BUILD_WRKSRC= ${WRKSRC}/src
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+MAKEFILE= ${FILESDIR}/Makefile
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/TMV_Documentation.pdf ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/math/tmv/distinfo b/math/tmv/distinfo
new file mode 100644
index 000000000000..2fe3022b17f1
--- /dev/null
+++ b/math/tmv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1514521249
+SHA256 (rmjarvis-tmv-v0.75_GH0.tar.gz) = f0ed1b500c5f4ee12f9d018a7d6a883f06df4a345a1010e3f96223410c9b3dea
+SIZE (rmjarvis-tmv-v0.75_GH0.tar.gz) = 1676639
diff --git a/math/tmv/files/Makefile b/math/tmv/files/Makefile
new file mode 100644
index 000000000000..bce7afd38d59
--- /dev/null
+++ b/math/tmv/files/Makefile
@@ -0,0 +1,33 @@
+# $FreeBSD$
+
+# lib/libtmv.so
+LST1= TMV_Vector TMV_MultVV TMV_AddVV TMV_MultXV TMV_BaseMatrix TMV_Matrix TMV_MultXM TMV_AddMM TMV_MultMV TMV_Rank1_VVM TMV_MultMM_CCC TMV_MultMM_CRC TMV_MultMM_RCC TMV_MultMM_Block TMV_IntegerDet TMV_DiagMatrix TMV_MultDV TMV_AddDM TMV_MultDM TMV_TriMatrix TMV_TriDiv TMV_MultUV TMV_MultXU TMV_AddUU TMV_MultUM TMV_MultUL TMV_MultUU TMV_MultDU TMV_Givens TMV_Householder TMV_LUD TMV_LUDecompose TMV_LUDiv TMV_LUInverse TMV_QRD TMV_QRDecompose TMV_QRDiv TMV_PackedQ TMV_QRInverse TMV_GetQFromQR TMV_QRUpdate TMV_QRDowndate TMV_QRPD TMV_SVD TMV_SVDecompose TMV_SVDecompose_Bidiag TMV_SVDecompose_QR TMV_SVDiv TMV_TriDiv_V TMV_TriDiv_M TMV_TriDiv_L TMV_TriInverse TMV_MultMM TMV_MultMM_OpenMP TMV_SVDecompose_DC TMV_QRPDecompose
+LIB1= libtmv.so.0
+
+# lib/libtmv_symband.so
+LST2= TMV_BandMatrix TMV_MultBV TMV_MultXB TMV_AddBB TMV_MultBM TMV_MultBB TMV_BandIntegerDet TMV_SymMatrix TMV_MultSV TMV_AddSS TMV_Rank1_VVS TMV_Rank2_VVS TMV_MultSM TMV_RankK_MMS TMV_Rank2K_MMS TMV_RankK_ULS TMV_RankK_LUS TMV_SymMultMMS TMV_SymIntegerDet TMV_SymBandMatrix TMV_MultsBV TMV_AddsBsB TMV_MultsBM TMV_MultsBB TMV_SymBandIntegerDet TMV_BandLUD TMV_BandLUDecompose TMV_BandLUDiv TMV_BandLUInverse TMV_BandTriDiv_V TMV_BandTriDiv_M TMV_BandQRD TMV_BandQRDecompose TMV_BandQRDiv TMV_BandQRInverse TMV_BandSVD TMV_BandSVDecompose TMV_SymHouseholder TMV_SymLDLD TMV_SymLDLDecompose TMV_SymLDLDiv TMV_SymLDLInverse TMV_SymLDLPseudo TMV_SymSquare TMV_SymCHD TMV_SymCHDecompose TMV_SymCHDiv TMV_SymCHInverse TMV_SymSVD TMV_SymSVInverse TMV_IsNaN TMV_SymSVDecompose_Tridiag TMV_SymSVDecompose_QR TMV_SymBandCHD TMV_SymBandCHDecompose TMV_SymBandCHDiv TMV_SymBandCHInverse TMV_SymBandSVD TMV_SymBandSVDecompose TMV_SymSVDecompose_DC TMV_SymSVDecompose
+LIB2= libtmv_symband.so.0
+
+CXXFLAGS+= -I../include -fopenmp -fPIC -DTMV_NDEBUG -DFBLAS -DNOLAP
+LDFLAGS+= -lblas -lomp
+
+SRCS1= $(addsuffix .cpp, $(LST1))
+SRCS2= $(addsuffix .cpp, $(LST2))
+OBJS1= $(addsuffix .o, $(LST1))
+OBJS2= $(addsuffix .o, $(LST2))
+
+all: $(LIB1) $(LIB2)
+
+$(LIB1): $(OBJS1)
+ $(CXX) -shared -fopenmp -Wl,-soname,$(LIB1) $(LDFLAGS) -o $(LIB1) $(OBJS1)
+
+$(LIB2): $(OBJS2)
+ $(CXX) -shared -fopenmp -Wl,-soname,$(LIB2) $(LDFLAGS) -o $(LIB2) $(OBJS2)
+
+install:
+ mkdir -p $(DESTDIR)$(PREFIX)/include/tmv $(DESTDIR)$(PREFIX)/lib
+ install ../include/TMV*.h $(DESTDIR)$(PREFIX)/include
+ install ../include/tmv/TMV*.h $(DESTDIR)$(PREFIX)/include/tmv
+ ${BSD_INSTALL_LIB} $(LIB1) $(DESTDIR)$(PREFIX)/lib
+ ${BSD_INSTALL_LIB} $(LIB2) $(DESTDIR)$(PREFIX)/lib
+ cd $(DESTDIR)$(PREFIX)/lib && ln -s $(LIB1) $(LIB1:.0=) && ln -s $(LIB2) $(LIB2:.0=)
diff --git a/math/tmv/pkg-descr b/math/tmv/pkg-descr
new file mode 100644
index 000000000000..8d1d4f40b144
--- /dev/null
+++ b/math/tmv/pkg-descr
@@ -0,0 +1,8 @@
+The Template Matrix/Vector (TMV) Library is a C++ class library designed to
+make writing code with vectors and matrices both transparent and fast.
+Transparency means that when you look at your code months later, it is obvious
+what the code does, making it easier to debug. Fast means the execution time of
+the code should be as fast as possible - this is mostly algorithm dependent, so
+we want the underlying library code to use the fastest algorithms possible.
+
+WWW: https://github.com/rmjarvis/tmv
diff --git a/math/tmv/pkg-plist b/math/tmv/pkg-plist
new file mode 100644
index 000000000000..01b5d990d87e
--- /dev/null
+++ b/math/tmv/pkg-plist
@@ -0,0 +1,106 @@
+include/TMV.h
+include/TMV_Band.h
+include/TMV_Diag.h
+include/TMV_Small.h
+include/TMV_Sym.h
+include/TMV_SymBand.h
+include/TMV_Tri.h
+include/tmv/TMV_Array.h
+include/tmv/TMV_AuxAllDiv.h
+include/tmv/TMV_AuxMatComposite1.h
+include/tmv/TMV_AuxMatComposite2.h
+include/tmv/TMV_AuxMatComposite3.h
+include/tmv/TMV_AuxProdMM.h
+include/tmv/TMV_AuxProdMMa.h
+include/tmv/TMV_AuxProdXM.h
+include/tmv/TMV_AuxProdXV.h
+include/tmv/TMV_AuxQuotMM.h
+include/tmv/TMV_AuxQuotMMa.h
+include/tmv/TMV_AuxQuotXM.h
+include/tmv/TMV_AuxQuotXMa.h
+include/tmv/TMV_AuxSumMM.h
+include/tmv/TMV_AuxSumMMa.h
+include/tmv/TMV_AuxSumMMb.h
+include/tmv/TMV_AuxSumMX.h
+include/tmv/TMV_AuxTQuotMM.h
+include/tmv/TMV_AuxTQuotMMa.h
+include/tmv/TMV_AuxVecComposite.h
+include/tmv/TMV_BandLUD.h
+include/tmv/TMV_BandMatrix.h
+include/tmv/TMV_BandMatrixArith.h
+include/tmv/TMV_BandMatrixArithFunc.h
+include/tmv/TMV_BandQRD.h
+include/tmv/TMV_BandSVD.h
+include/tmv/TMV_BandSymArith.h
+include/tmv/TMV_BandSymBandArith.h
+include/tmv/TMV_Base.h
+include/tmv/TMV_BaseBandMatrix.h
+include/tmv/TMV_BaseDiagMatrix.h
+include/tmv/TMV_BaseMatrix.h
+include/tmv/TMV_BaseSymBandMatrix.h
+include/tmv/TMV_BaseSymMatrix.h
+include/tmv/TMV_BaseTriMatrix.h
+include/tmv/TMV_BaseVector.h
+include/tmv/TMV_DiagBandArith.h
+include/tmv/TMV_DiagMatrix.h
+include/tmv/TMV_DiagMatrixArith.h
+include/tmv/TMV_DiagMatrixArithFunc.h
+include/tmv/TMV_DiagSymArith.h
+include/tmv/TMV_DiagSymBandArith.h
+include/tmv/TMV_DiagTriArith.h
+include/tmv/TMV_DiagTriArithFunc.h
+include/tmv/TMV_Divider.h
+include/tmv/TMV_Givens.h
+include/tmv/TMV_Householder.h
+include/tmv/TMV_IOStyle.h
+include/tmv/TMV_LUD.h
+include/tmv/TMV_ListInit.h
+include/tmv/TMV_MIt.h
+include/tmv/TMV_Matrix.h
+include/tmv/TMV_MatrixArith.h
+include/tmv/TMV_MatrixArithFunc.h
+include/tmv/TMV_PackedQ.h
+include/tmv/TMV_Permutation.h
+include/tmv/TMV_PermutationArith.h
+include/tmv/TMV_QRD.h
+include/tmv/TMV_QRPD.h
+include/tmv/TMV_SVD.h
+include/tmv/TMV_SimpleMatrix.h
+include/tmv/TMV_SmallMatrix.h
+include/tmv/TMV_SmallMatrixArith.h
+include/tmv/TMV_SmallMatrixArithFunc.h
+include/tmv/TMV_SmallMatrixDiv.h
+include/tmv/TMV_SmallVector.h
+include/tmv/TMV_SmallVectorArith.h
+include/tmv/TMV_SmallVectorArithFunc.h
+include/tmv/TMV_SymBandCHD.h
+include/tmv/TMV_SymBandMatrix.h
+include/tmv/TMV_SymBandMatrixArith.h
+include/tmv/TMV_SymBandMatrixArithFunc.h
+include/tmv/TMV_SymBandSVD.h
+include/tmv/TMV_SymCHD.h
+include/tmv/TMV_SymDivider.h
+include/tmv/TMV_SymHouseholder.h
+include/tmv/TMV_SymLDLD.h
+include/tmv/TMV_SymMatrix.h
+include/tmv/TMV_SymMatrixArith.h
+include/tmv/TMV_SymMatrixArithFunc.h
+include/tmv/TMV_SymSVD.h
+include/tmv/TMV_SymSymBandArith.h
+include/tmv/TMV_TriBandArith.h
+include/tmv/TMV_TriBandArithFunc.h
+include/tmv/TMV_TriDiv.h
+include/tmv/TMV_TriMatrix.h
+include/tmv/TMV_TriMatrixArith.h
+include/tmv/TMV_TriMatrixArithFunc.h
+include/tmv/TMV_TriSymArith.h
+include/tmv/TMV_TriSymBandArith.h
+include/tmv/TMV_VIt.h
+include/tmv/TMV_Vector.h
+include/tmv/TMV_VectorArith.h
+include/tmv/TMV_VectorArithFunc.h
+lib/libtmv.so
+lib/libtmv.so.0
+lib/libtmv_symband.so
+lib/libtmv_symband.so.0
+%%PORTDOCS%%%%DOCSDIR%%/TMV_Documentation.pdf