Commit graph

9 commits

Author SHA1 Message Date
markd
2efcdf09a0 Update to eigen 2.0.15
A years worth of fixes since 2.0.4.
2010-10-25 20:03:52 +00:00
markd
2558bbca41 Update eigen2 to 2.0.4.
Changes unknown.
2009-08-04 21:13:30 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
markd
acbb2b206d Update eigen2 to 2.0.0
Release version.  Cleans up alignment issues.
2009-04-06 12:37:49 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
markd
1e30aa7089 Update eigen2 to 2.0-beta6
changes unspecified - better handling of systems without posix_memalign.
2009-01-27 12:22:46 +00:00
markd
106d9b51cd posix_memalign() only in recent NetBSD's so use malloc() instead. 2009-01-11 11:45:11 +00:00
markd
aa48a78d54 Use posix_memalign() on NetBSD. Bump PKGREVISION. 2009-01-11 10:11:48 +00:00
markd
e47a540440 Initial import of eigen 2.0beta5
Eigen 2 is a C++ template library for linear algebra: vectors, matrices, and
related algorithms. It is:
* Versatile. Eigen handles, without code duplication, and in a completely
  integrated way:
  o both fixed-size and dynamic-size matrices and vectors.
  o both dense and sparse (the latter is still experimental) matrices and
    vectors.
  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.
* 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.
  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.
* 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.
2009-01-10 01:02:47 +00:00