diff options
author | yuri <yuri@FreeBSD.org> | 2017-12-27 01:43:40 +0800 |
---|---|---|
committer | yuri <yuri@FreeBSD.org> | 2017-12-27 01:43:40 +0800 |
commit | 75f3b0f41e6c83f206ca7e464bdf8c833f36aa80 (patch) | |
tree | 6e0ba6bc0d2451fcaed3cd1f1cb361d2048a20a2 /math | |
parent | 34337eb9434a674935754518e5bbdb9fe35285ac (diff) | |
download | freebsd-ports-gnome-75f3b0f41e6c83f206ca7e464bdf8c833f36aa80.tar.gz freebsd-ports-gnome-75f3b0f41e6c83f206ca7e464bdf8c833f36aa80.tar.zst freebsd-ports-gnome-75f3b0f41e6c83f206ca7e464bdf8c833f36aa80.zip |
New port: math/adept: Combined array and automatic differentiation library in C++
This library implements a very unusual and interesting approach. It takes a function
of several arguments supplied by the caller, deconstructs its analytic structure
using C++ type substitution for all values, and computes gradients (Jacobians) of
the function while ony calling the function once. A very innovative approach.
Submitted by: myself
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D13635
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/adept/Makefile | 31 | ||||
-rw-r--r-- | math/adept/distinfo | 3 | ||||
-rw-r--r-- | math/adept/files/patch-Makefile.am | 8 | ||||
-rw-r--r-- | math/adept/pkg-descr | 10 | ||||
-rw-r--r-- | math/adept/pkg-plist | 48 |
6 files changed, 101 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index fe87ff6a44de..342eb75a8900 100644 --- a/math/Makefile +++ b/math/Makefile @@ -99,6 +99,7 @@ SUBDIR += abs SUBDIR += acalc SUBDIR += add + SUBDIR += adept SUBDIR += algae SUBDIR += alglib SUBDIR += algotutor diff --git a/math/adept/Makefile b/math/adept/Makefile new file mode 100644 index 000000000000..c57d5bd50b08 --- /dev/null +++ b/math/adept/Makefile @@ -0,0 +1,31 @@ +# $FreeBSD$ + +PORTNAME= adept +DISTVERSION= 2.0.3 +CATEGORIES= math +MASTER_SITES= http://www.met.reading.ac.uk/clouds/adept/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Combined array and automatic differentiation library in C++ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/COPYING + +USES= autoreconf gmake fortran blaslapack:openblas libtool +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-static +USE_LDCONFIG= yes +INSTALL_TARGET= install-strip + +OPTIONS_DEFINE= DOCS + +DOCS_USE= TEX=pdftex:build,dvipsk:build + +post-build-DOCS-on: + @cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/*.pdf ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/math/adept/distinfo b/math/adept/distinfo new file mode 100644 index 000000000000..b556ed6e0c14 --- /dev/null +++ b/math/adept/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1514262452 +SHA256 (adept-2.0.3.tar.gz) = c1b9c2907774ec39d9f336ae38b226893c7e86e64410c85ea965c855111381c6 +SIZE (adept-2.0.3.tar.gz) = 652609 diff --git a/math/adept/files/patch-Makefile.am b/math/adept/files/patch-Makefile.am new file mode 100644 index 000000000000..ac9b12bcfb2d --- /dev/null +++ b/math/adept/files/patch-Makefile.am @@ -0,0 +1,8 @@ +--- Makefile.am.orig 2017-10-08 21:32:39 UTC ++++ Makefile.am +@@ -1,4 +1,4 @@ +-pkgdata_DATA = README COPYING ChangeLog NEWS AUTHORS ++#pkgdata_DATA = README COPYING ChangeLog NEWS AUTHORS + SUBDIRS = adept include benchmark test + # The test/ directory does not use automake so we need to specify the + # files that will be included in the distribution diff --git a/math/adept/pkg-descr b/math/adept/pkg-descr new file mode 100644 index 000000000000..5b03a1347fef --- /dev/null +++ b/math/adept/pkg-descr @@ -0,0 +1,10 @@ +Adept (Automatic Differentiation using Expression Templates) is a free C++ +software library that enables algorithms to be automatically differentiated, +very useful for a wide range of applications that involve mathematical +optimization. It uses an operator overloading approach, so very little code +modification is required. Moreover, the way that expression templates have +been used and several other important optimizations mean that reverse-mode +differentiation is significantly faster than other C++ libraries that provide +equivalent functionality. + +WWW: http://www.met.reading.ac.uk/clouds/adept/ diff --git a/math/adept/pkg-plist b/math/adept/pkg-plist new file mode 100644 index 000000000000..8bc3fe8aaeb5 --- /dev/null +++ b/math/adept/pkg-plist @@ -0,0 +1,48 @@ +include/adept.h +include/adept/Active.h +include/adept/ActiveConstReference.h +include/adept/ActiveReference.h +include/adept/Allocator.h +include/adept/Array.h +include/adept/ArrayWrapper.h +include/adept/BinaryOperation.h +include/adept/Expression.h +include/adept/ExpressionSize.h +include/adept/FixedArray.h +include/adept/IndexedArray.h +include/adept/Packet.h +include/adept/RangeIndex.h +include/adept/ScratchVector.h +include/adept/SpecialMatrix.h +include/adept/Stack.h +include/adept/StackStorage.h +include/adept/StackStorageOrig.h +include/adept/StackStorageOrigStl.h +include/adept/Statement.h +include/adept/Storage.h +include/adept/UnaryOperation.h +include/adept/array_shortcuts.h +include/adept/base.h +include/adept/contiguous_matrix.h +include/adept/cppblas.h +include/adept/eval.h +include/adept/exception.h +include/adept/interp.h +include/adept/inv.h +include/adept/matmul.h +include/adept/noalias.h +include/adept/outer_product.h +include/adept/reduce.h +include/adept/scalar_shortcuts.h +include/adept/settings.h +include/adept/solve.h +include/adept/spread.h +include/adept/traits.h +include/adept/vector_utilities.h +include/adept/where.h +include/adept_arrays.h +lib/libadept.so +lib/libadept.so.0 +lib/libadept.so.0.0.0 +%%PORTDOCS%%%%DOCSDIR%%/adept_documentation.pdf +%%PORTDOCS%%%%DOCSDIR%%/adept_reference.pdf |