Index: head/math/Makefile =================================================================== --- head/math/Makefile +++ head/math/Makefile @@ -741,6 +741,7 @@ SUBDIR += testu01 SUBDIR += tetgen SUBDIR += timbl + SUBDIR += tmv SUBDIR += tomsfastmath SUBDIR += topaz SUBDIR += triangle Index: head/math/tmv/Makefile =================================================================== --- head/math/tmv/Makefile +++ head/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 Index: head/math/tmv/distinfo =================================================================== --- head/math/tmv/distinfo +++ head/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 Index: head/math/tmv/files/Makefile =================================================================== --- head/math/tmv/files/Makefile +++ head/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=) Index: head/math/tmv/pkg-descr =================================================================== --- head/math/tmv/pkg-descr +++ head/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 Index: head/math/tmv/pkg-plist =================================================================== --- head/math/tmv/pkg-plist +++ head/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