aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authoryuri <yuri@FreeBSD.org>2017-12-27 01:43:40 +0800
committeryuri <yuri@FreeBSD.org>2017-12-27 01:43:40 +0800
commit75f3b0f41e6c83f206ca7e464bdf8c833f36aa80 (patch)
tree6e0ba6bc0d2451fcaed3cd1f1cb361d2048a20a2 /math
parent34337eb9434a674935754518e5bbdb9fe35285ac (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--math/adept/Makefile31
-rw-r--r--math/adept/distinfo3
-rw-r--r--math/adept/files/patch-Makefile.am8
-rw-r--r--math/adept/pkg-descr10
-rw-r--r--math/adept/pkg-plist48
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