summaryrefslogtreecommitdiff
path: root/math/eigen2
diff options
context:
space:
mode:
authorasau <asau@pkgsrc.org>2013-04-08 18:29:37 +0000
committerasau <asau@pkgsrc.org>2013-04-08 18:29:37 +0000
commit0a282957a8d1af1213b6f62d847d50b694ea2d8b (patch)
tree6ad31e0763e055c2d920bc01ada25ae898d27bd7 /math/eigen2
parent0246c868a9f4c37af30ef91012cd30f3b2098693 (diff)
downloadpkgsrc-0a282957a8d1af1213b6f62d847d50b694ea2d8b.tar.gz
Revert pkglint-induced nonsense.
Diffstat (limited to 'math/eigen2')
-rw-r--r--math/eigen2/DESCR19
1 files changed, 13 insertions, 6 deletions
diff --git a/math/eigen2/DESCR b/math/eigen2/DESCR
index f6a63080ae5..38332b7f76d 100644
--- a/math/eigen2/DESCR
+++ b/math/eigen2/DESCR
@@ -8,17 +8,24 @@ related algorithms. It is:
o both plain matrices/vectors and abstract expressions.
o both column-major (the default) and row-major matrix storage.
o both basic matrix/vector manipulation and many more advanced, specialized
- modules providing algorithms for linear algebra, geometry, quaternions, or
- advanced array manipulation.
+ modules providing algorithms for linear algebra, geometry, quaternions,
+ or advanced array manipulation.
* Fast.
o Expression templates allow to intelligently remove temporaries and enable
lazy evaluation, when that is appropriate -- Eigen takes care of this
automatically and handles aliasing too in most cases.
o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
- instruction sets, with graceful fallback to non-vectorized code. Expression
- templates allow to perform these optimizations globally for whole
- expressions.
+ instruction sets, with graceful fallback to non-vectorized code.
+ Expression templates allow to perform these optimizations globally for
+ whole expressions.
o With fixed-size objects, dynamic memory allocation is avoided, and the
loops are unrolled when that makes sense.
o For large matrices, special attention is paid to cache-friendliness.
-...and more!
+* Elegant. The API is extremely clean and expressive, thanks to expression
+ templates. Implementing an algorithm on top of Eigen feels like just copying
+ pseudocode. You can use complex expressions and still rely on Eigen to
+ produce optimized code: there is no need for you to manually decompose
+ expressions into small steps.
+* Compiler-friendy. Eigen has very reasonable compilation times at least with
+ GCC, compared to other C++ libraries based on expression templates and heavy
+ metaprogramming. Eigen is also standard C++ and supports various compilers.