diff --git a/Eigen/Cholesky b/Eigen/Cholesky index b05ed8278..e75357a65 100644 --- a/Eigen/Cholesky +++ b/Eigen/Cholesky @@ -14,8 +14,6 @@ #include "src/Core/util/DisableStupidWarnings.h" /** \defgroup Cholesky_Module Cholesky module - * - * * * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. * Those decompositions are also accessible via the following methods: diff --git a/Eigen/CholmodSupport b/Eigen/CholmodSupport index adc5f8d63..31725138b 100644 --- a/Eigen/CholmodSupport +++ b/Eigen/CholmodSupport @@ -26,7 +26,7 @@ * For the sake of completeness, this module also propose the two following classes: * - class CholmodSimplicialLLT * - class CholmodSimplicialLDLT - * Note that these classes does not bring any particular advantage compared to the built-in + * Note that these classes do not bring any particular advantage compared to the built-in * SimplicialLLT and SimplicialLDLT factorization classes. * * \code diff --git a/Eigen/Core b/Eigen/Core index 5c9aa37b6..fa33b9672 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -36,12 +36,6 @@ #include #endif -// Disable the ipa-cp-clone optimization flag with MinGW 6.x or older (enabled by default with -O3) -// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details. -#if EIGEN_COMP_MINGW && EIGEN_GNUC_STRICT_LESS_THAN(6, 0, 0) -#pragma GCC optimize("-fno-ipa-cp-clone") -#endif - // Prevent ICC from specializing std::complex operators that silently fail // on device. This allows us to use our own device-compatible specializations // instead. @@ -53,7 +47,7 @@ // this include file manages BLAS and MKL related macros // and inclusion of their respective header files #include "src/Core/util/MKL_support.h" -#include "src/Core/util/AOCL_Support.h" // ← ADD THIS +#include "src/Core/util/AOCL_Support.h" #if defined(EIGEN_HAS_CUDA_FP16) || defined(EIGEN_HAS_HIP_FP16) @@ -73,8 +67,7 @@ #include #endif -// MSVC for windows mobile does not have the errno.h file -#if !(EIGEN_COMP_MSVC && EIGEN_OS_WINCE) && !EIGEN_COMP_ARM +#if !EIGEN_COMP_ARM #define EIGEN_HAS_ERRNO #endif @@ -125,7 +118,7 @@ // required for __cpuid, needs to be included after cmath // also required for _BitScanReverse on Windows on ARM -#if EIGEN_COMP_MSVC && (EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM64) && !EIGEN_OS_WINCE +#if EIGEN_COMP_MSVC && (EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM64) #include #endif @@ -155,19 +148,9 @@ #endif #endif -#if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || \ - defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || \ - defined EIGEN2_SUPPORT -// This will generate an error message: -#error Eigen2-support is only available up to version 3.2. Please go to "http://eigen.tuxfamily.org/index.php?title=Eigen2" for further information -#endif - namespace Eigen { -// we use size_t frequently and we'll never remember to prepend it with std:: every time just to -// ensure QNX/QCC support using std::size_t; -// gcc 4.6.0 wants std:: for ptrdiff_t using std::ptrdiff_t; } // namespace Eigen @@ -373,8 +356,6 @@ using std::ptrdiff_t; #include "src/Core/DenseStorage.h" #include "src/Core/NestByValue.h" -// #include "src/Core/ForceAlignedAccess.h" - #include "src/Core/ReturnByValue.h" #include "src/Core/NoAlias.h" #include "src/Core/PlainObjectBase.h" diff --git a/Eigen/Dense b/Eigen/Dense index 5768910bd..c90db7657 100644 --- a/Eigen/Dense +++ b/Eigen/Dense @@ -1,3 +1,13 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_DENSE_MODULE_H +#define EIGEN_DENSE_MODULE_H + #include "Core" #include "LU" #include "Cholesky" @@ -5,3 +15,5 @@ #include "SVD" #include "Geometry" #include "Eigenvalues" + +#endif // EIGEN_DENSE_MODULE_H diff --git a/Eigen/Eigen b/Eigen/Eigen index 654c8dc63..bb8f02f04 100644 --- a/Eigen/Eigen +++ b/Eigen/Eigen @@ -1,2 +1,14 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_EIGEN_MODULE_H +#define EIGEN_EIGEN_MODULE_H + #include "Dense" #include "Sparse" + +#endif // EIGEN_EIGEN_MODULE_H diff --git a/Eigen/Eigenvalues b/Eigen/Eigenvalues index 60d0d5396..f68eb8542 100644 --- a/Eigen/Eigenvalues +++ b/Eigen/Eigenvalues @@ -11,8 +11,6 @@ #include "Core" #include "Cholesky" -#include "Jacobi" -#include "Householder" #include "LU" #include "Geometry" #include "Sparse" // Needed by ComplexQZ. @@ -20,8 +18,6 @@ #include "src/Core/util/DisableStupidWarnings.h" /** \defgroup Eigenvalues_Module Eigenvalues module - * - * * * This module mainly provides various eigenvalue solvers. * This module also provides some MatrixBase methods, including: diff --git a/Eigen/Geometry b/Eigen/Geometry index fd81ae2c7..c3ddb3d8a 100644 --- a/Eigen/Geometry +++ b/Eigen/Geometry @@ -12,7 +12,6 @@ #include "SVD" #include "LU" -#include #include "src/Core/util/DisableStupidWarnings.h" diff --git a/Eigen/KLUSupport b/Eigen/KLUSupport index 13959a3c8..6a5c59710 100644 --- a/Eigen/KLUSupport +++ b/Eigen/KLUSupport @@ -29,7 +29,7 @@ extern "C" { * \endcode * * In order to use this module, the klu and btf headers must be accessible from the include paths, and your binary must - * be linked to the klu library and its dependencies. The dependencies depend on how umfpack has been compiled. For a + * be linked to the klu library and its dependencies. The dependencies depend on how KLU has been compiled. For a * cmake based project, you can use our FindKLU.cmake module to help you in this task. * */ diff --git a/Eigen/LU b/Eigen/LU index d46bacf4b..ea54e353e 100644 --- a/Eigen/LU +++ b/Eigen/LU @@ -23,11 +23,10 @@ * \endcode */ +// IWYU pragma: begin_exports #include "src/misc/Kernel.h" #include "src/misc/Image.h" #include "src/misc/RankRevealingBase.h" - -// IWYU pragma: begin_exports #include "src/LU/FullPivLU.h" #include "src/LU/PartialPivLU.h" #ifdef EIGEN_USE_LAPACKE diff --git a/Eigen/PaStiXSupport b/Eigen/PaStiXSupport index dd1cfcb12..59442316e 100644 --- a/Eigen/PaStiXSupport +++ b/Eigen/PaStiXSupport @@ -36,7 +36,7 @@ extern "C" { * \endcode * * In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be - * linked to the PaSTiX library and its dependencies. This wrapper resuires PaStiX version 5.x compiled without MPI + * linked to the PaSTiX library and its dependencies. This wrapper requires PaStiX version 5.x compiled without MPI * support. The dependencies depend on how PaSTiX has been compiled. For a cmake based project, you can use our * FindPaSTiX.cmake module to help you in this task. * diff --git a/Eigen/QR b/Eigen/QR index 78c05632e..b29abce9b 100644 --- a/Eigen/QR +++ b/Eigen/QR @@ -11,14 +11,11 @@ #include "Core" #include "Cholesky" -#include "Jacobi" #include "Householder" #include "src/Core/util/DisableStupidWarnings.h" /** \defgroup QR_Module QR module - * - * * * This module provides various QR decompositions * This module also provides some MatrixBase methods, including: diff --git a/Eigen/QtAlignedMalloc b/Eigen/QtAlignedMalloc index 585f8e81c..6e15b26e6 100644 --- a/Eigen/QtAlignedMalloc +++ b/Eigen/QtAlignedMalloc @@ -14,11 +14,11 @@ #include "src/Core/util/DisableStupidWarnings.h" -void *qMalloc(std::size_t size) { return Eigen::internal::aligned_malloc(size); } +inline void *qMalloc(std::size_t size) { return Eigen::internal::aligned_malloc(size); } -void qFree(void *ptr) { Eigen::internal::aligned_free(ptr); } +inline void qFree(void *ptr) { Eigen::internal::aligned_free(ptr); } -void *qRealloc(void *ptr, std::size_t size) { +inline void *qRealloc(void *ptr, std::size_t size) { void *newPtr = Eigen::internal::aligned_malloc(size); std::memcpy(newPtr, ptr, size); Eigen::internal::aligned_free(ptr); diff --git a/Eigen/SPQRSupport b/Eigen/SPQRSupport index c01dbe009..bfc2e7bfa 100644 --- a/Eigen/SPQRSupport +++ b/Eigen/SPQRSupport @@ -38,4 +38,4 @@ #include "src/Core/util/ReenableStupidWarnings.h" -#endif +#endif // EIGEN_SPQRSUPPORT_MODULE_H diff --git a/Eigen/SVD b/Eigen/SVD index 40ac3d01e..ef5e36e82 100644 --- a/Eigen/SVD +++ b/Eigen/SVD @@ -9,14 +9,10 @@ #define EIGEN_SVD_MODULE_H #include "QR" -#include "Householder" -#include "Jacobi" #include "src/Core/util/DisableStupidWarnings.h" /** \defgroup SVD_Module SVD module - * - * * * This module provides SVD decomposition for matrices (both real and complex). * Two decomposition algorithms are provided: diff --git a/Eigen/SparseCore b/Eigen/SparseCore index 56a9401af..6020e4285 100644 --- a/Eigen/SparseCore +++ b/Eigen/SparseCore @@ -12,11 +12,7 @@ #include "src/Core/util/DisableStupidWarnings.h" -#include #include -#include -#include -#include #include /** diff --git a/Eigen/SparseQR b/Eigen/SparseQR index b4f1cad6b..1ad51923c 100644 --- a/Eigen/SparseQR +++ b/Eigen/SparseQR @@ -35,4 +35,4 @@ #include "src/Core/util/ReenableStupidWarnings.h" -#endif +#endif // EIGEN_SPARSEQR_MODULE_H diff --git a/Eigen/SuperLUSupport b/Eigen/SuperLUSupport index 79e2222f4..27e14d29e 100644 --- a/Eigen/SuperLUSupport +++ b/Eigen/SuperLUSupport @@ -16,6 +16,7 @@ #define EIGEN_EMPTY_WAS_ALREADY_DEFINED #endif +// Required by SuperLU headers, which expect int_t to be defined as a global typedef. typedef int int_t; #include #include diff --git a/Eigen/ThreadPool b/Eigen/ThreadPool index 39e5d1eec..ac08bef03 100644 --- a/Eigen/ThreadPool +++ b/Eigen/ThreadPool @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include @@ -77,4 +77,4 @@ #include "src/Core/util/ReenableStupidWarnings.h" -#endif // EIGEN_CXX11_THREADPOOL_MODULE_H +#endif // EIGEN_THREADPOOL_MODULE_H diff --git a/Eigen/UmfPackSupport b/Eigen/UmfPackSupport index 126344cba..28e386fad 100644 --- a/Eigen/UmfPackSupport +++ b/Eigen/UmfPackSupport @@ -35,7 +35,7 @@ extern "C" { // IWYU pragma: begin_exports #include "src/UmfPackSupport/UmfPackSupport.h" -// IWYU pragma: endexports +// IWYU pragma: end_exports #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/Eigen/Version b/Eigen/Version index 164c87f62..c10836318 100644 --- a/Eigen/Version +++ b/Eigen/Version @@ -1,3 +1,10 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + #ifndef EIGEN_VERSION_H #define EIGEN_VERSION_H