9283 Commits

Author SHA1 Message Date
Antonio Sanchez
3b8644da50 Better rand to fix MSVC random tests 2025-03-13 08:50:26 -07:00
Antonio Sanchez
414c42bfcf Fix cuda clang builds 2025-03-12 21:47:26 -07:00
Antonio Sanchez
952eda443b Fix GPU build failures. 2025-03-09 17:04:41 -07:00
Chip Kerchner
6a4a0b66bd Fix epsilon and dummy_precision values in long double for double doubles. Prevented some algorithms from converging on PPC.
(cherry picked from commit 54459214a1b9c67df04bc529474fca1ec9f4c84f)
2025-03-07 21:19:41 -08:00
Antonio Sanchez
079de53fa5 Adjust tolerance of matrix_power test for MSVC.
(cherry picked from commit 1c2690ed248327539f7a248ddb12e1690da81b68)
2025-03-07 21:02:39 -08:00
Antonio Sanchez
ce950ca2db Patch PPC PacketMath from 3.4.
This is to fix failing tests for PPC due to UB on loads.
2025-03-07 20:59:30 -08:00
Antonio Sanchez
49bd503308 Fix merge conflict error 2025-03-03 15:21:02 -08:00
Charles Schlosser
5b20d9f326 Fix arm32 float division and related bugs
(cherry picked from commit 81b48065ea673cd352d11ef9b6a3d86778ac962d)
(cherry picked from commit 72f77ccb3ee2aeb3f0d7122dd1ab90d215206320)
2025-03-03 13:11:37 -08:00
Antonio Sánchez
5f8f69020b Remove poor non-convergence checks in NonLinearOptimization.
(cherry picked from commit d819a33bf64c4fce95c55f8e44a68b486f064a79)
(cherry picked from commit b30a2a527ef2c10f9650d3e4801027c76d9e9351)
2025-03-03 07:56:31 -08:00
Antonio Sánchez
dc9325848a Fix arm32 issues.
(cherry picked from commit a73970a8640330c4908d68ef9257fd31a4fdae93)
(cherry picked from commit c23abcf25c432f4b4022b94a0ec798ab5d082e45)
2025-03-03 07:38:59 -08:00
Antonio Sanchez
9df4c76bb8 Fix emulated builds cmake configuration 2025-03-03 07:26:26 -08:00
Antonio Sánchez
0071c2e8a8 Fix more hard-coded magic bounds.
(cherry picked from commit ae5280aa8dcc12b2a483887414e7998de0184f2f)
2025-03-03 07:26:02 -08:00
Antonio Sánchez
03727bdf55 Slightly adjust error bound for nonlinear tests.
(cherry picked from commit 42aa3d17cd27ecdfa34b81100314749f72c00256)
2025-03-03 07:24:35 -08:00
Antonio Sánchez
5e39ba6642 Fix emulated tests.
(cherry picked from commit 9589cc4e7fd8e4538bedef80dd36c7738977a8be)
2025-03-02 16:38:13 -08:00
Antonio Sanchez
d2ce4faa5a Fix cuda 9+ builds
Fix removed `shfl_` intrinsics, disable warnings, update CUDA header inclusion.
2025-03-02 16:21:48 -08:00
Antonio Sanchez
43b7aa2412 Don't check for build type 2025-02-28 22:13:46 -08:00
Antonio Sanchez
23b1682723 Fix cuda device warnings 2025-02-28 22:09:30 -08:00
Antonio Sanchez
c53002f5fb Fix failing tests on arm/ppc 2025-02-28 13:15:33 -08:00
Antonio Sanchez
ea37d9e73e Remove private access of std::deque::_M_impl.
This no longer works on gcc or clang, so we should just remove the hack.
The default should compile to similar code anyways.

(cherry picked from commit 82c0c18a8373eb57c25f543b77a592467ba8e22e)
2025-02-28 11:21:13 -08:00
Antonio Sánchez
ece7cec604 Fix parsing of command-line arguments when already specified as a cmake list.
(cherry picked from commit 555cec17edc2cae91b3310ef8915acbeb3951cab)
2025-02-26 07:49:23 -08:00
Antonio Sanchez
2e708d48ca Merge CI from 3.4 2025-02-25 21:23:42 -08:00
C. Antonio Sanchez
109935bfce Fix Tensor docs
(cherry picked from commit 42d9cc0b1d9c16df85723cd37e6a0163224e6a72)
2025-02-25 21:21:49 -08:00
Antonio Sanchez
339d7188ed Fix up all doxygen warnings. 2025-02-25 21:05:40 -08:00
Jean-Christophe Fillion-Robin
02f420012a [PATCH] cmake: Support source include with add_subdirectory and
find_package use
This commit allows the sources of the project to be included in a parent
project CMakeLists.txt and support use of "find_package(Eigen3 CONFIG REQUIRED)"

Here is an example allowing to test the changes. It is not particularly
useful in itself. This change will allow to support one of the scenario
allowing to create custom 3D Slicer application bundling associated plugins.

/tmp/eigen-git-mirror  # Eigen sources

/tmp/test/CMakeLists.txt:

  cmake_minimum_required(VERSION 3.12)
  project(test)
  add_subdirectory("/tmp/eigen-git-mirror" "eigen-git-mirror")
  find_package(Eigen3 CONFIG REQUIRED)

and configuring it using:

  mkdir /tmp/test-build && cd $_
  cmake \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:BOOL=1 \
    -DEigen3_DIR:PATH=/tmp/test-build/eigen-git-mirror \
    /tmp/test

Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com>
---
 CMakeLists.txt              | 1 +
 cmake/Eigen3Config.cmake.in | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)


(cherry picked from commit 2cbd9dd49806d686a40841b6d888a83c816efccf)
2022-02-13 21:22:14 +00:00
Antonio Sánchez
d45ac54008 Correct use of EIGEN_CUDACC to respect EIGEN_NO_CUDA. 2022-02-04 22:24:31 +00:00
Jakob Struye
d9585478d9 Clearer doc for squaredNorm
(cherry picked from commit 53a29c7e351646efe31ee85666c8f268f8e0d462)
2021-08-18 15:13:11 +00:00
Benoit Steiner
01421e31a2 Added missing EIGEN_DEVICE_FUNC qualifiers
(cherry picked from commit c36bc2d445596d46c7f5a9271bfa69c79e2e1558)
2021-07-20 21:21:53 +00:00
René Wagner
2f81b6363f BooleanRedux.h: Add more EIGEN_DEVICE_FUNC qualifiers.
This enables operator== on Eigen matrices in device code.


(cherry picked from commit 0aebe19aca58d78434cf724ef954a8383b2bf7c9)
2021-07-20 21:20:54 +00:00
Adam Shapiro
53a7864c48 Fixed sparse conservativeResize() when both num cols and rows decreased.
The previous implementation caused a buffer overflow trying to calculate non-
zero counts for columns that no longer exist.


(cherry picked from commit 2ac0b787399df718dc61219145f44a6ae99813aa)

(cherry picked from commit f4b67691c42952b44ce7dae62f5c18ed93b53521)
2021-02-23 21:35:46 +00:00
Gael Guennebaud
9fc3d9f3ca Fix some implicit literal to Scalar conversions in SparseCore
(cherry picked from commit afa8d1353221d5e89c555881b5d62f153e66211f)
2021-02-19 18:54:23 +00:00
Antonio Sanchez
84911f9c05 Include <cstdint> in one place, remove custom typedefs
Originating from
[this SO issue](https://stackoverflow.com/questions/65901014/how-to-solve-this-all-error-2-in-this-case),
some win32 compilers define `__int32` as a `long`, but MinGW defines
`std::int32_t` as an `int`, leading to a type conflict.

To avoid this, we remove the custom `typedef` definitions for win32.  The
Tensor module requires C++11 anyways, so we are guaranteed to have
included `<cstdint>` already in `Eigen/Core`.

Also re-arranged the headers to only include `<cstdint>` in one place to
avoid this type of error again.
2021-01-28 11:10:13 -08:00
Rasmus Munk Larsen
77dc6dbb44 Fix bugs in log1p and expm1 where repeated using statements would clobber each other.
Add specializations for complex types since std::log1p and std::exp1m do not support complex.

(cherry picked from commit d55d392e7b1136655b4223bea8e99cb2fe0a8afd)
2021-01-21 11:22:36 +01:00
David Tellenbach
a36d19c4fc Fix a typo in SparseMatrix documentation.
This fixes issue #2091.

(cherry picked from commit 2e8f850c78ab3280451548e7b05535ec531b0e42)
2020-12-09 14:53:09 +01:00
David Tellenbach
0fd6b4f71d Bump to 3.3.9 3.3.9 2020-12-04 22:53:41 +01:00
Florian Maurin
52207cf6f9 Fix typo in doc
(cherry picked from commit c5985c46f5de0a7a381262c5a8a973806db92f40)
2020-11-30 12:09:43 +00:00
Jim Lersch
0c26611d2d Workaround for doxygen class template titles in which the template
part of the class signature is lost due to a problem with forward
declarations.  The problem is probably caused by doxygen bug #7689.
It is confirmed to be fixed in doxygen >= 1.8.19.

(cherry picked from commit 68f69414f7d358deac4876ede5be15e990da496b)
2020-11-28 16:21:12 +01:00
Christoph Hertzberg
2a4fcb2c31 Fix doxygen class block that was wrongly named.
Manually cherry-picked from a7170f2aca4103abc95e983238a02aba2385b198
2020-11-27 19:41:19 +01:00
Christoph Hertzberg
54930b6b55 Remove unused variable 2020-11-25 17:59:18 +01:00
Martin Vonheim Larsen
4e5385c905 Enable MathJax in Doxygen.in
Note that HTTPS must be used against the MathJax CDN when hosted on `eigen.tuxfamily.org` (which uses HTTPS) in order to avoid `Mixed Content`-errors from browsers. Using HTTPS for MathJax also works if the Eigen docs are hosted on plain HTTP.

(cherry picked from commit 280f4f2407ffdf93488de7e95ca6e31fff770f21)
2020-11-17 15:39:44 +01:00
Christoph Hertzberg
ac632f663e bug #1746: Removed implementation of standard copy-constructor and standard copy-assign-operator from PermutationMatrix and Transpositions to allow malloc-less std::move. Added unit-test to rvalue_types
(cherry picked from commit efd9867ff0e8df23016ac6c9828d0d7bf8bec1b1)
2020-11-12 11:54:51 +01:00
Christoph Hertzberg
3620371c5c Bug #2036 make sure find_standard_math_library_test_program actually compiles (and is guaranteed to call math functions)
(cherry picked from commit ecb7bc9514b12051d050299234b2a74ac76b5a8e)
2020-11-04 13:38:17 +01:00
David Tellenbach
5dda502f84 Rename test/array.cpp to test/array_cwise.cpp
Having a test named "array" can clash with the standard library header
"array".

Fixes issue #2046
2020-11-04 13:01:17 +01:00
Gael Guennebaud
590aec8fab check two ctors
(cherry picked from commit 572d62697dd33acbf97e4a14e8aea06e82d6095d)
2020-10-28 09:53:23 +01:00
David Tellenbach
75f8b06e50 Mention problems when using potentially throwing scalars and OpenMP
(cherry picked from commit 9022f5aa8aaf76cbe656050b78b74643fe95e9a5)
2020-10-09 17:41:41 +02:00
Karl Ljungkvist
e91e5d8c87 Fix typo in Tutorial_BlockOperations_block_assignment.cpp
(cherry picked from commit d199c17b14d976b4144b653d4811827efc1eb149)
2020-10-09 14:19:23 +02:00
Luke Peterson
ef3cc72cb6 Remove error counting in OpenMP parallelize_gemm
This resolves a compilation error associated with
Eigen::eigen_assert_exception. It also eliminates the counting of
exceptions that may occur in the OpenMP parallel section. If an
unhandled exception occurs in this section, the behavior is non-conforming
according to the OpenMP specification.
2020-10-08 18:50:33 -07:00
David Tellenbach
7a0a2a5001 Define coeff-wise binary array operators for base class
This fixes #2012.
2020-10-09 00:53:34 +02:00
szczepaniak bartek
bfdd4a9903 Fix Paradiso.
EIGEN_USING_STD -> EIGEN_USING_STD_MATH
2020-10-08 19:38:35 +00:00
David Tellenbach
dc252fbf00 Bump to 3.3.8 3.3.8 2020-10-05 13:24:15 +02:00
David Tellenbach
9f202c6f1e Fix undefined behaviour caused by uncaught exceptions in OMP section
An OpenMP parallel section must have a single entry and a single point
of exit. Leaving such a section by throwing an exception is undefined.
This patch fixes this by catching possible exceptions on the parallel
section and throwing right we left it.
2020-10-02 00:41:01 +02:00