Accepting request 842001 from home:badshah400:branches:science

- Update to version 3.3.8:
  * General bug fixes:
    - Issue #1995: Fix a failure in the GEBP kernel when using
      small L1 cache sizes, OpenMP and FMA.
    - Issue #1990: Make CMake accept installation paths relative
      to CMAKE_INSTALL_PREFIX.
    - Issue #1974: Fix issue when reserving an empty sparse matrix
    - Issue #1823: Fix incorrect use of std::abs
    - Issue #1788: Fix rule-of-three violations inside the stable
      modules. This fixes deprecated-copy warnings when compiling
      with GCC>=9. Also protect some additional Base-constructors
      from getting called by user code code (Issue #1587)
    - Issue #1796: Make matrix squareroot usable for Map and Ref
      types.
    - Issue #1281: Fix AutoDiffScalar's make_coherent for nested
      expression of constant ADs.
    - Issue #1761: Fall back is_integral to std::is_integral in
      c++11 and fix internal::is_integral<size_t/ptrdiff_t> with
      MSVC 2013 and older.
    - Issue #1741: Fix self-adjoint*matrix, triangular*matrix, and
      triangular^1*matrix with a destination having a non-trivial
      inner-stride.
    - Issue #1741: Fix SelfAdjointView::rankUpdate and product to
      triangular part for destination with non-trivial inner
      stride.
    - Issue #1741: Fix C.noalias() = A*C; with C.innerStride()!=1.
    - Issue #1695: Fix a numerical robustness issue in BDCSVD.
    - Issue #1692: Enable enum as sizes of Matrix and Array.
    - Issue #1689: Fix used-but-marked-unused warning.
    - Issue #1679: Avoid possible division by 0 in complex-schur.
    - Issue #1676: Fix C++17 template deduction in DenseBase.
    - Issue #1669: Fix PartialPivLU/inverse with zero-sized
      matrices.
    - Issue #1557: Fix RealSchur and EigenSolver for matrices with
      only zeros on the diagonal.
  * Performance related fixes:
    - Issue #1562: Optimize evaluation of small products of the
      form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to
      save a costly temporary. Measured speedup from 2x to 5x...
    - Fix performance issue with SimplicialLDLT for complexes
      coefficients.
  * Misc fixes:
    - Fix QuaternionBase::cast for quaternion map and wrapper.
    - Fix case issue with Lapack unit tests.
    - Fix possible conflict with an externally defined "real" type
      when using gcc-5.
    - Provide numext::[u]int{32,64}_t.
    - Initialize isometric transforms like affine transforms.
    - Change typedefs from private to protected to fix MSVC
      compilation.
    - Fix compilation of FFTW unit test.
    - Fix compilation of BLAS backend and frontend.
    - Fix real/imag namespace conflict.
    - Avoid throwing in destructors.
    - Fix precision issue in SelfAdjointEigenSolver.h
    - Make digits10() return an integer.
    - Use pade for matrix exponential also for complex values.
    - Cast Index to RealScalar in SVDBase to fix an issue when
      RealScalar is not implicitly convertible to Index.
    - Provide EIGEN_HAS_C99_MATH when using MSVC.
    - Various fixes in polynomial solver and its unit tests.
    - nd 4415d4e2d: Extend polynomial solver unit tests to
      complexes.
    - Automatically switch between EigenSolver and
      ComplexEigenSolver, and fix a few Real versus Scalar issues.
    - Enable construction of Ref<VectorType> from a runtime
      vector.
    - Fix a problem of old gcc versions having problems with
      recursive #pragma GCC diagnostic push/pop.
    - Fix compilation with expression template scalar type.
    - Backport AVX512 implementation to 3.3.
    - Fix StlDeque compilation issue with GCC 10.
    - Avoid false-positive test results in non-linear optimization
      tests.
    - Fix undefined behaviour caused by uncaught exceptions in OMP
      section of parallel GEBP kernel.
    - Fix a bug with half-precision floats on GPUs.
  * Fixed warnings:
    - Fix some maybe-uninitialized warnings in AmbiVector.h and
      test bdcsvd.
    - Silent cmake warnings in Lapack CMakeLists.txt.
    - Rename variable which shadows class name in Polynomials
      module.
    - Workaround gcc's alloc-size-larger-than= warning in
      DenseStorage.h.
    - Hide some unused variable warnings in g++8.1 in Tensor
      contraction mapper.
    - Fix gcc 8.1 warning: "maybe use uninitialized" in std tests.
    - Fix always true warning with gcc 4.7in test numext.
    - Fix nonnull-compare warning in test geo_alignedbox.
    - Disable ignoring attributes warning in vectorization logic
      test.
    - Fix a gcc7 warning about bool * bool in abs2 default
      implementation.
    - Fix a warning in SparseSelfAdjointView about a branch
      statement always evaluation to false.
- Minor rebase of patches to fix offsets.
- Specify relative path to includedir as option to cmake as it
  only accepts paths relative to CMAKE_INSTALL_PREFIX now.
- Drop Group tags.

OBS-URL: https://build.opensuse.org/request/show/842001
OBS-URL: https://build.opensuse.org/package/show/science/eigen3?expand=0&rev=31
This commit is contained in:
Dirk Stoecker 2020-10-19 14:36:21 +00:00 committed by Git OBS Bridge
parent af13f5e779
commit b4b27e89e0
10 changed files with 140 additions and 35 deletions

View File

@ -7,11 +7,11 @@ Subject: [PATCH] Disable Altivec for ppc64le
Eigen/Core | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: eigen-eigen-67e894c6cd8f/Eigen/Core
Index: eigen-3.3.8/Eigen/Core
===================================================================
--- eigen-eigen-67e894c6cd8f.orig/Eigen/Core
+++ eigen-eigen-67e894c6cd8f/Eigen/Core
@@ -201,7 +201,7 @@
--- eigen-3.3.8.orig/Eigen/Core
+++ eigen-3.3.8/Eigen/Core
@@ -220,7 +220,7 @@
#undef bool
#undef vector
#undef pixel

View File

@ -7,11 +7,11 @@ Subject: [PATCH] Do stack allignment on ppc
Eigen/src/Core/util/Macros.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: eigen-eigen-67e894c6cd8f/Eigen/src/Core/util/Macros.h
Index: eigen-3.3.8/Eigen/src/Core/util/Macros.h
===================================================================
--- eigen-eigen-67e894c6cd8f.orig/Eigen/src/Core/util/Macros.h
+++ eigen-eigen-67e894c6cd8f/Eigen/src/Core/util/Macros.h
@@ -701,7 +701,7 @@ namespace Eigen {
--- eigen-3.3.8.orig/Eigen/src/Core/util/Macros.h
+++ eigen-3.3.8/Eigen/src/Core/util/Macros.h
@@ -718,7 +718,7 @@ namespace Eigen {
// certain common platform (compiler+architecture combinations) to avoid these problems.
// Only static alignment is really problematic (relies on nonstandard compiler extensions),
// try to keep heap alignment even when we have to disable static alignment.

View File

@ -1,7 +1,8 @@
diff -rupN eigen-eigen-07105f7124f9/CMakeLists.txt eigen-eigen-07105f7124f9-new/CMakeLists.txt
--- eigen-eigen-07105f7124f9/CMakeLists.txt 2016-02-16 14:26:15.000000000 +0100
+++ eigen-eigen-07105f7124f9-new/CMakeLists.txt 2016-02-17 09:44:43.556543936 +0100
@@ -324,6 +324,11 @@ install(FILES
Index: eigen-3.3.8/CMakeLists.txt
===================================================================
--- eigen-3.3.8.orig/CMakeLists.txt
+++ eigen-3.3.8/CMakeLists.txt
@@ -429,6 +429,11 @@ install(FILES
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
)

3
eigen-3.3.8.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0215c6593c4ee9f1f7f28238c4e8995584ebf3b556e9dbf933d84feb98d5b9ef
size 1667794

View File

@ -1,7 +1,8 @@
diff -rupN eigen-eigen-323c052e1731/CMakeLists.txt eigen-eigen-323c052e1731-new/CMakeLists.txt
--- eigen-eigen-323c052e1731/CMakeLists.txt 2018-12-25 23:10:48.592420583 +0100
+++ eigen-eigen-323c052e1731-new/CMakeLists.txt 2018-12-25 23:10:48.659420305 +0100
@@ -531,7 +531,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
Index: eigen-3.3.8/CMakeLists.txt
===================================================================
--- eigen-3.3.8.orig/CMakeLists.txt
+++ eigen-3.3.8/CMakeLists.txt
@@ -536,7 +536,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} )
set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} )
set ( EIGEN_DEFINITIONS "")

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce
size 1665168

View File

@ -13,10 +13,10 @@ Fixes: #1979
Eigen/src/Core/util/Macros.h | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
Index: eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h
Index: eigen-3.3.8/Eigen/src/Core/arch/NEON/Complex.h
===================================================================
--- eigen-eigen-323c052e1731.orig/Eigen/src/Core/arch/NEON/Complex.h
+++ eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h
--- eigen-3.3.8.orig/Eigen/src/Core/arch/NEON/Complex.h
+++ eigen-3.3.8/Eigen/src/Core/arch/NEON/Complex.h
@@ -17,7 +17,7 @@ namespace internal {
inline uint32x4_t p4ui_CONJ_XOR() {
@ -35,10 +35,10 @@ Index: eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h
static uint64x2_t p2ul_CONJ_XOR = {0x0, 0x8000000000000000};
#else
const uint64_t p2ul_conj_XOR_DATA[] = { 0x0, 0x8000000000000000 };
Index: eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h
Index: eigen-3.3.8/Eigen/src/Core/util/Macros.h
===================================================================
--- eigen-eigen-323c052e1731.orig/Eigen/src/Core/util/Macros.h
+++ eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h
--- eigen-3.3.8.orig/Eigen/src/Core/util/Macros.h
+++ eigen-3.3.8/Eigen/src/Core/util/Macros.h
@@ -35,6 +35,12 @@
#define EIGEN_COMP_CLANG 0
#endif

View File

@ -1,3 +1,107 @@
-------------------------------------------------------------------
Thu Oct 15 13:23:17 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
- Update to version 3.3.8:
* General bug fixes:
- Issue #1995: Fix a failure in the GEBP kernel when using
small L1 cache sizes, OpenMP and FMA.
- Issue #1990: Make CMake accept installation paths relative
to CMAKE_INSTALL_PREFIX.
- Issue #1974: Fix issue when reserving an empty sparse matrix
- Issue #1823: Fix incorrect use of std::abs
- Issue #1788: Fix rule-of-three violations inside the stable
modules. This fixes deprecated-copy warnings when compiling
with GCC>=9. Also protect some additional Base-constructors
from getting called by user code code (Issue #1587)
- Issue #1796: Make matrix squareroot usable for Map and Ref
types.
- Issue #1281: Fix AutoDiffScalar's make_coherent for nested
expression of constant ADs.
- Issue #1761: Fall back is_integral to std::is_integral in
c++11 and fix internal::is_integral<size_t/ptrdiff_t> with
MSVC 2013 and older.
- Issue #1741: Fix self-adjoint*matrix, triangular*matrix, and
triangular^1*matrix with a destination having a non-trivial
inner-stride.
- Issue #1741: Fix SelfAdjointView::rankUpdate and product to
triangular part for destination with non-trivial inner
stride.
- Issue #1741: Fix C.noalias() = A*C; with C.innerStride()!=1.
- Issue #1695: Fix a numerical robustness issue in BDCSVD.
- Issue #1692: Enable enum as sizes of Matrix and Array.
- Issue #1689: Fix used-but-marked-unused warning.
- Issue #1679: Avoid possible division by 0 in complex-schur.
- Issue #1676: Fix C++17 template deduction in DenseBase.
- Issue #1669: Fix PartialPivLU/inverse with zero-sized
matrices.
- Issue #1557: Fix RealSchur and EigenSolver for matrices with
only zeros on the diagonal.
* Performance related fixes:
- Issue #1562: Optimize evaluation of small products of the
form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to
save a costly temporary. Measured speedup from 2x to 5x...
- Fix performance issue with SimplicialLDLT for complexes
coefficients.
* Misc fixes:
- Fix QuaternionBase::cast for quaternion map and wrapper.
- Fix case issue with Lapack unit tests.
- Fix possible conflict with an externally defined "real" type
when using gcc-5.
- Provide numext::[u]int{32,64}_t.
- Initialize isometric transforms like affine transforms.
- Change typedefs from private to protected to fix MSVC
compilation.
- Fix compilation of FFTW unit test.
- Fix compilation of BLAS backend and frontend.
- Fix real/imag namespace conflict.
- Avoid throwing in destructors.
- Fix precision issue in SelfAdjointEigenSolver.h
- Make digits10() return an integer.
- Use pade for matrix exponential also for complex values.
- Cast Index to RealScalar in SVDBase to fix an issue when
RealScalar is not implicitly convertible to Index.
- Provide EIGEN_HAS_C99_MATH when using MSVC.
- Various fixes in polynomial solver and its unit tests.
- nd 4415d4e2d: Extend polynomial solver unit tests to
complexes.
- Automatically switch between EigenSolver and
ComplexEigenSolver, and fix a few Real versus Scalar issues.
- Enable construction of Ref<VectorType> from a runtime
vector.
- Fix a problem of old gcc versions having problems with
recursive #pragma GCC diagnostic push/pop.
- Fix compilation with expression template scalar type.
- Backport AVX512 implementation to 3.3.
- Fix StlDeque compilation issue with GCC 10.
- Avoid false-positive test results in non-linear optimization
tests.
- Fix undefined behaviour caused by uncaught exceptions in OMP
section of parallel GEBP kernel.
- Fix a bug with half-precision floats on GPUs.
* Fixed warnings:
- Fix some maybe-uninitialized warnings in AmbiVector.h and
test bdcsvd.
- Silent cmake warnings in Lapack CMakeLists.txt.
- Rename variable which shadows class name in Polynomials
module.
- Workaround gcc's alloc-size-larger-than= warning in
DenseStorage.h.
- Hide some unused variable warnings in g++8.1 in Tensor
contraction mapper.
- Fix gcc 8.1 warning: "maybe use uninitialized" in std tests.
- Fix always true warning with gcc 4.7in test numext.
- Fix nonnull-compare warning in test geo_alignedbox.
- Disable ignoring attributes warning in vectorization logic
test.
- Fix a gcc7 warning about bool * bool in abs2 default
implementation.
- Fix a warning in SparseSelfAdjointView about a branch
statement always evaluation to false.
- Minor rebase of patches to fix offsets.
- Specify relative path to includedir as option to cmake as it
only accepts paths relative to CMAKE_INSTALL_PREFIX now.
- Drop Group tags.
-------------------------------------------------------------------
Thu Sep 17 12:23:42 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>

View File

@ -18,6 +18,7 @@
%global flavor @BUILD_FLAVOR@%{nil}
%global pkgname eigen3
%global srcname eigen
%bcond_with tests
@ -26,13 +27,12 @@
%endif
Name: eigen3%{?pkgsuffix}
Version: 3.3.7
Version: 3.3.8
Release: 0
Summary: C++ Template Library for Linear Algebra
License: MPL-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND BSD-3-Clause
Group: Development/Libraries/C and C++
URL: http://eigen.tuxfamily.org/
Source0: https://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2#/%{pkgname}-%{version}.tar.bz2
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/%{srcname}-%{version}.tar.bz2
Patch0: 0001-Disable-Altivec-for-ppc64le.patch
Patch1: 0001-Do-stack-allignment-on-ppc.patch
# PATCH-FIX-OPENSUSE eigen_pkgconfig.patch asterios.dramis@gmail.com -- Fix pkg-config file includedir
@ -79,7 +79,6 @@ numerical solvers, and related algorithms.
%package devel
Summary: C++ Template Library for Linear Algebra
Group: Development/Libraries/C and C++
# libeigen3-devel was last used at openSUSE 13.1 (version 3.2.0)
Provides: libeigen3-devel = %{version}
Obsoletes: libeigen3-devel < %{version}
@ -90,7 +89,6 @@ numerical solvers, and related algorithms.
%if "%{flavor}" == "docs"
Summary: Documentation for the Eigen3 C++ Template Library for Linear Algebra
Group: Documentation/HTML
%description
Documentation in HTML format for the Eigen3 C++ Template Library
@ -98,7 +96,7 @@ for Linear Algebra
%endif
%prep
%setup -q -n eigen-eigen-323c052e1731
%setup -q -n %{srcname}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
@ -115,7 +113,7 @@ echo "HTML_TIMESTAMP = NO" >> doc/Doxyfile.in
%build
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DINCLUDE_INSTALL_DIR=%{_includedir}/eigen3 \
-DINCLUDE_INSTALL_DIR=include/eigen3 \
-DGOOGLEHASH_INCLUDES=%{_includedir}
%if "%{flavor}" == ""

View File

@ -1,6 +1,7 @@
diff -rupN eigen-eigen-07105f7124f9/eigen3.pc.in eigen-eigen-07105f7124f9-new/eigen3.pc.in
--- eigen-eigen-07105f7124f9/eigen3.pc.in 2016-02-16 14:26:15.000000000 +0100
+++ eigen-eigen-07105f7124f9-new/eigen3.pc.in 2016-02-20 19:13:19.816842461 +0100
Index: eigen-3.3.8/eigen3.pc.in
===================================================================
--- eigen-3.3.8.orig/eigen3.pc.in
+++ eigen-3.3.8/eigen3.pc.in
@@ -6,4 +6,4 @@ Description: A C++ template library for
Requires:
Version: @EIGEN_VERSION_NUMBER@