Update eigen3 to 3.3.9

Many fixes including a gcc10 compilation issue. Full list at
https://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.9
This commit is contained in:
prlw1 2021-03-17 17:20:00 +00:00
parent 32d2d68734
commit 4d41895019
4 changed files with 19 additions and 42 deletions

View file

@ -1,10 +1,7 @@
Eigen 3 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:
Eigen 3 is a C++ template library for linear algebra: It is:
* Versatile. Eigen handles 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 dense and sparse 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
@ -12,12 +9,9 @@ related algorithms. It is:
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.
lazy evaluation, when that is appropriate.
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.
@ -26,6 +20,5 @@ related algorithms. It is:
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.
* Compiler-friendy. Eigen has good compiler support, is standard C++98 and
maintains very reasonable compilation times.

View file

@ -1,26 +1,23 @@
# $NetBSD: Makefile,v 1.13 2020/04/18 22:01:56 joerg Exp $
# $NetBSD: Makefile,v 1.14 2021/03/17 17:20:00 prlw1 Exp $
DISTNAME= 3.3.7
PKGNAME= eigen3-${DISTNAME}
PKGREVISION= 2
DISTNAME= eigen-3.3.9
PKGNAME= ${DISTNAME:S/eigen/eigen3/}
CATEGORIES= math
MASTER_SITES= http://bitbucket.org/eigen/eigen/get/
DIST_SUBDIR= eigen3
MASTER_SITES= https://gitlab.com/libeigen/eigen/-/archive/3.3.9/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://eigen.tuxfamily.org/
HOMEPAGE= https://eigen.tuxfamily.org/
COMMENT= C++ template library for linear algebra
LICENSE= mpl-2.0
USE_LANGUAGES+= c c++
USE_LANGUAGES= c c++
USE_CMAKE= yes
CMAKE_ARG_PATH= ..
CONFIGURE_DIRS= _build
WRKSRC= ${WRKDIR}/eigen-eigen-323c052e1731
CMAKE_ARGS+= -DCMAKEPACKAGE_INSTALL_DIR=${PREFIX}/lib/cmake/eigen3
CMAKE_ARGS+= -DPKGCONFIG_INSTALL_DIR=${PREFIX}/lib/pkgconfig
CMAKE_ARGS+= -DCMAKEPACKAGE_INSTALL_DIR=lib/cmake/eigen3
CMAKE_ARGS+= -DPKGCONFIG_INSTALL_DIR=lib/pkgconfig
PKGCONFIG_OVERRIDE+= eigen3.pc.in

View file

@ -1,8 +1,7 @@
$NetBSD: distinfo,v 1.12 2020/04/18 22:01:56 joerg Exp $
$NetBSD: distinfo,v 1.13 2021/03/17 17:20:00 prlw1 Exp $
SHA1 (eigen3/3.3.7.tar.bz2) = a06faa6f358d5d1ca0da7cddb95da39e436dc9e8
RMD160 (eigen3/3.3.7.tar.bz2) = 3330627708f54055a282ccfbae395f2b2f0885e9
SHA512 (eigen3/3.3.7.tar.bz2) = c12bfd034d0a1112bf2df3f773ad98f36b2b53fbbfceac5f143ee1793322746fb8a6546d7db7da2a1000da6a535bd8cea0c4125b549afc90a6570743b02dcf3d
Size (eigen3/3.3.7.tar.bz2) = 1665168 bytes
SHA1 (eigen-3.3.9.tar.bz2) = 516322dc3d98f7f6d20f11050da43084f68e6c71
RMD160 (eigen-3.3.9.tar.bz2) = f100af009a9b72532653d0e90eb81f12379f97a1
SHA512 (eigen-3.3.9.tar.bz2) = 6f222e27480d02d90f258c94a4a4787771491fc30c73d5fb025a8089484fdeb2c65d464172f5c29d0c3096b69ff98027a18a40c04b006da670733a2c75f55b65
Size (eigen-3.3.9.tar.bz2) = 1667231 bytes
SHA1 (patch-Eigen_src_Core_IO.h) = 5798b47107799e4b8976af88630e8f79e5d2f18e
SHA1 (patch-Eigen_src_Core_arch_CUDA_Half.h) = d346f21aeff79937ecc40ce621ef1c5f3cf93023

View file

@ -1,12 +0,0 @@
$NetBSD: patch-Eigen_src_Core_arch_CUDA_Half.h,v 1.1 2020/04/18 22:01:57 joerg Exp $
--- Eigen/src/Core/arch/CUDA/Half.h.orig 2020-04-18 02:57:48.859229525 +0000
+++ Eigen/src/Core/arch/CUDA/Half.h
@@ -42,6 +42,7 @@
#define EIGEN_EXPLICIT_CAST(tgt_type) operator tgt_type()
#endif
+#include <ostream>
namespace Eigen {