[Bf-blender-cvs] [b19c437eff7] master: Update Eigen to 3.3.7
Sebastian Parborg
noreply at git.blender.org
Wed Aug 21 14:15:07 CEST 2019
Commit: b19c437eff7f822e68244fd5a48819ebe0506c90
Author: Sebastian Parborg
Date: Wed Aug 21 14:13:09 2019 +0200
Branches: master
https://developer.blender.org/rBb19c437eff7f822e68244fd5a48819ebe0506c90
Update Eigen to 3.3.7
This is in preparation for the QuadriFlow remesher lib.
Reviewed By: Brecht
Differential Revision: http://developer.blender.org/D5549
===================================================================
M extern/Eigen3/Eigen/Cholesky
M extern/Eigen3/Eigen/CholmodSupport
M extern/Eigen3/Eigen/Core
M extern/Eigen3/Eigen/Eigen
M extern/Eigen3/Eigen/Eigenvalues
M extern/Eigen3/Eigen/Geometry
M extern/Eigen3/Eigen/Householder
M extern/Eigen3/Eigen/IterativeLinearSolvers
M extern/Eigen3/Eigen/Jacobi
M extern/Eigen3/Eigen/LU
M extern/Eigen3/Eigen/MetisSupport
M extern/Eigen3/Eigen/OrderingMethods
M extern/Eigen3/Eigen/PaStiXSupport
M extern/Eigen3/Eigen/PardisoSupport
M extern/Eigen3/Eigen/QR
M extern/Eigen3/Eigen/QtAlignedMalloc
M extern/Eigen3/Eigen/SPQRSupport
M extern/Eigen3/Eigen/SVD
M extern/Eigen3/Eigen/Sparse
M extern/Eigen3/Eigen/SparseCholesky
M extern/Eigen3/Eigen/SparseCore
M extern/Eigen3/Eigen/SparseLU
M extern/Eigen3/Eigen/SparseQR
M extern/Eigen3/Eigen/StdDeque
M extern/Eigen3/Eigen/StdList
M extern/Eigen3/Eigen/StdVector
M extern/Eigen3/Eigen/SuperLUSupport
M extern/Eigen3/Eigen/UmfPackSupport
M extern/Eigen3/Eigen/src/Cholesky/LDLT.h
M extern/Eigen3/Eigen/src/Cholesky/LLT.h
A extern/Eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h
M extern/Eigen3/Eigen/src/CholmodSupport/CholmodSupport.h
M extern/Eigen3/Eigen/src/Core/Array.h
M extern/Eigen3/Eigen/src/Core/ArrayBase.h
M extern/Eigen3/Eigen/src/Core/ArrayWrapper.h
M extern/Eigen3/Eigen/src/Core/Assign.h
A extern/Eigen3/Eigen/src/Core/AssignEvaluator.h
M extern/Eigen3/Eigen/src/Core/Assign_MKL.h
M extern/Eigen3/Eigen/src/Core/BandMatrix.h
M extern/Eigen3/Eigen/src/Core/Block.h
M extern/Eigen3/Eigen/src/Core/BooleanRedux.h
M extern/Eigen3/Eigen/src/Core/CommaInitializer.h
A extern/Eigen3/Eigen/src/Core/ConditionEstimator.h
A extern/Eigen3/Eigen/src/Core/CoreEvaluators.h
M extern/Eigen3/Eigen/src/Core/CoreIterators.h
M extern/Eigen3/Eigen/src/Core/CwiseBinaryOp.h
M extern/Eigen3/Eigen/src/Core/CwiseNullaryOp.h
A extern/Eigen3/Eigen/src/Core/CwiseTernaryOp.h
M extern/Eigen3/Eigen/src/Core/CwiseUnaryOp.h
M extern/Eigen3/Eigen/src/Core/CwiseUnaryView.h
M extern/Eigen3/Eigen/src/Core/DenseBase.h
M extern/Eigen3/Eigen/src/Core/DenseCoeffsBase.h
M extern/Eigen3/Eigen/src/Core/DenseStorage.h
M extern/Eigen3/Eigen/src/Core/Diagonal.h
M extern/Eigen3/Eigen/src/Core/DiagonalMatrix.h
M extern/Eigen3/Eigen/src/Core/DiagonalProduct.h
M extern/Eigen3/Eigen/src/Core/Dot.h
M extern/Eigen3/Eigen/src/Core/EigenBase.h
M extern/Eigen3/Eigen/src/Core/ForceAlignedAccess.h
M extern/Eigen3/Eigen/src/Core/Fuzzy.h
M extern/Eigen3/Eigen/src/Core/GeneralProduct.h
M extern/Eigen3/Eigen/src/Core/GenericPacketMath.h
M extern/Eigen3/Eigen/src/Core/GlobalFunctions.h
M extern/Eigen3/Eigen/src/Core/IO.h
A extern/Eigen3/Eigen/src/Core/Inverse.h
M extern/Eigen3/Eigen/src/Core/Map.h
M extern/Eigen3/Eigen/src/Core/MapBase.h
M extern/Eigen3/Eigen/src/Core/MathFunctions.h
A extern/Eigen3/Eigen/src/Core/MathFunctionsImpl.h
M extern/Eigen3/Eigen/src/Core/Matrix.h
M extern/Eigen3/Eigen/src/Core/MatrixBase.h
M extern/Eigen3/Eigen/src/Core/NestByValue.h
M extern/Eigen3/Eigen/src/Core/NoAlias.h
M extern/Eigen3/Eigen/src/Core/NumTraits.h
M extern/Eigen3/Eigen/src/Core/PermutationMatrix.h
M extern/Eigen3/Eigen/src/Core/PlainObjectBase.h
M extern/Eigen3/Eigen/src/Core/Product.h
A extern/Eigen3/Eigen/src/Core/ProductEvaluators.h
M extern/Eigen3/Eigen/src/Core/Random.h
M extern/Eigen3/Eigen/src/Core/Redux.h
M extern/Eigen3/Eigen/src/Core/Ref.h
M extern/Eigen3/Eigen/src/Core/Replicate.h
M extern/Eigen3/Eigen/src/Core/ReturnByValue.h
M extern/Eigen3/Eigen/src/Core/Reverse.h
M extern/Eigen3/Eigen/src/Core/Select.h
M extern/Eigen3/Eigen/src/Core/SelfAdjointView.h
M extern/Eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h
A extern/Eigen3/Eigen/src/Core/Solve.h
M extern/Eigen3/Eigen/src/Core/SolveTriangular.h
A extern/Eigen3/Eigen/src/Core/SolverBase.h
M extern/Eigen3/Eigen/src/Core/StableNorm.h
M extern/Eigen3/Eigen/src/Core/Stride.h
M extern/Eigen3/Eigen/src/Core/Swap.h
M extern/Eigen3/Eigen/src/Core/Transpose.h
M extern/Eigen3/Eigen/src/Core/Transpositions.h
M extern/Eigen3/Eigen/src/Core/TriangularMatrix.h
M extern/Eigen3/Eigen/src/Core/VectorBlock.h
M extern/Eigen3/Eigen/src/Core/VectorwiseOp.h
M extern/Eigen3/Eigen/src/Core/Visitor.h
A extern/Eigen3/Eigen/src/Core/arch/AVX/Complex.h
A extern/Eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h
A extern/Eigen3/Eigen/src/Core/arch/AVX/PacketMath.h
A extern/Eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h
A extern/Eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h
A extern/Eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h
M extern/Eigen3/Eigen/src/Core/arch/AltiVec/Complex.h
A extern/Eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h
M extern/Eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/Complex.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/Half.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/MathFunctions.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/PacketMath.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/PacketMathHalf.h
A extern/Eigen3/Eigen/src/Core/arch/CUDA/TypeCasting.h
A extern/Eigen3/Eigen/src/Core/arch/Default/ConjHelper.h
M extern/Eigen3/Eigen/src/Core/arch/NEON/Complex.h
A extern/Eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h
M extern/Eigen3/Eigen/src/Core/arch/NEON/PacketMath.h
M extern/Eigen3/Eigen/src/Core/arch/SSE/Complex.h
M extern/Eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h
M extern/Eigen3/Eigen/src/Core/arch/SSE/PacketMath.h
A extern/Eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h
A extern/Eigen3/Eigen/src/Core/arch/ZVector/Complex.h
A extern/Eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h
A extern/Eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h
A extern/Eigen3/Eigen/src/Core/functors/AssignmentFunctors.h
A extern/Eigen3/Eigen/src/Core/functors/BinaryFunctors.h
A extern/Eigen3/Eigen/src/Core/functors/NullaryFunctors.h
A extern/Eigen3/Eigen/src/Core/functors/StlFunctors.h
A extern/Eigen3/Eigen/src/Core/functors/TernaryFunctors.h
A extern/Eigen3/Eigen/src/Core/functors/UnaryFunctors.h
M extern/Eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h
M extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h
M extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
A extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
A extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector.h
A extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/Parallelizer.h
M extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
A extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h
A extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/SelfadjointProduct.h
M extern/Eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h
M extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h
A extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector.h
A extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h
A extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
M extern/Eigen3/Eigen/src/Core/products/TriangularSolverVector.h
M extern/Eigen3/Eigen/src/Core/util/BlasUtil.h
M extern/Eigen3/Eigen/src/Core/util/Constants.h
M extern/Eigen3/Eigen/src/Core/util/DisableStupidWarnings.h
M extern/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h
M extern/Eigen3/Eigen/src/Core/util/MKL_support.h
M extern/Eigen3/Eigen/src/Core/util/Macros.h
M extern/Eigen3/Eigen/src/Core/util/Memory.h
M extern/Eigen3/Eigen/src/Core/util/Meta.h
M extern/Eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h
M extern/Eigen3/Eigen/src/Core/util/StaticAssert.h
M extern/Eigen3/Eigen/src/Core/util/XprHelper.h
M extern/Eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h
M extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur.h
A extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
M extern/Eigen3/Eigen/src/Eigenvalues/EigenSolver.h
M extern/Eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
M extern/Eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
M extern/Eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h
M extern/Eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
M extern/Eigen3/Eigen/src/Eigenvalues/RealQZ.h
M extern/Eigen3/Eigen/src/Eigenvalues/RealSchur.h
A extern/Eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
M extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
A extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
M extern/Eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h
M extern/Eigen3/Eigen/src/Geometry/AlignedBox.h
M extern/Eigen3/Eigen/src/Geometry/AngleAxis.h
M extern/Eigen3/Eigen/src/Geometry/EulerAngles.h
M extern/Eigen3/Eigen/src/Geometry/Homogeneous.h
M extern/Eigen3/Eigen/src/Geometry/Hyperplane.h
M extern/Eigen3/Eigen/src/Geometry/OrthoMethods.h
M extern/Eigen3/Eigen/src/Geometry/ParametrizedLine.h
M extern/Eigen3/Eigen/src/Geometry/Quaternion.h
M extern/Eigen3/Eigen/src/Geometry/Rotation2D.h
M extern/Eigen3/Eigen/src/Geometry/RotationBase.h
M extern/Eigen3/Eigen/src/Geometry/Scaling.h
M extern/Eigen3/Eigen/src/Geometry/Transform.h
M extern/Eigen3/Eigen/src/Geometry/Translation.h
M extern/Eigen3/Eigen/src/Geometry/Umeyama.h
M extern/Eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h
M extern/Eigen3/Eigen/src/Householder/BlockHouseholder.h
M extern/Eigen3/Eigen/src/Householder/Householder.h
M extern/Eigen3/Eigen/src/Householder/HouseholderSequence.h
M extern/Eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
M extern/Eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
M extern/Eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
A extern/Eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
M extern/Eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
M extern/Eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
A extern/Eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h
A extern/Eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h
M extern/Eigen3/Eigen/src/Jacobi/Jacobi.h
M extern/Eigen3/Eigen/src/LU/Determinant.h
M extern/Eigen3/Eigen/src/LU/FullPivLU.h
A extern/Eigen3/Eigen/src/LU/InverseImpl.h
M extern/Eigen3/Eigen/src/LU/PartialPivLU.h
A extern/Eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h
M extern/Eigen3/Eigen/src/LU/arch/Inverse_SSE.h
M extern/Eigen3/Eigen/src/MetisSupport/MetisSupport.h
M extern/Eigen3/Eigen/src/OrderingMethods/Amd.h
M extern/Eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h
M extern/Eigen3/Eigen/src/OrderingMethods/Ordering.h
M extern/Eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h
M extern/Eigen3/Eigen/src/PardisoSupport/PardisoSupport.h
M extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR.h
A extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
A extern/Eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h
M extern/Eigen3/Eigen/src/QR/FullPivHouseholderQR.h
M extern/Eigen3/Eigen/src/QR/HouseholderQR.h
A extern/Eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h
M extern/Eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
A extern/Eigen3/Eigen/src/SVD/BDCSVD.h
M extern/Eigen3/Eigen/src/SVD/JacobiSVD.h
A extern/Eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h
A extern/Eigen3/Eigen/src/SVD/SVDBase.h
M extern/Eigen3/Eigen/src/SVD/UpperBidiagonalization.h
M extern/Eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h
M extern/Eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
M extern/Eigen3/Eigen/src/SparseCore/AmbiVector.h
M extern/Eigen3/Eigen/src/SparseCore/CompressedStorage.h
M extern/Eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
M extern/Eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h
M extern/Eigen3/Eigen/src/SparseCore/SparseAssign.h
M extern/Eigen3/Eigen/src/SparseCore/SparseBlock.h
M extern/Eigen3/Eigen/src/SparseCore/SparseColEtree.h
A extern/Eigen3/Eigen/src/SparseCore/SparseCompressedBase.h
M extern/Eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
M extern/Eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
M extern/Eigen3/Eigen/src/SparseCore/SparseDenseProduct.h
M extern/Eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h
M extern/Eigen3/Eigen/src/SparseCore/SparseDot.h
M extern/Eigen3/Eigen/src/SparseCore/SparseFuzzy.h
A extern/Eigen3/Eigen/src/SparseCore/SparseMap.h
M extern/Eigen3/Eigen/src/SparseCore/SparseMatrix.h
M extern/Eigen3/Eigen/src/SparseCore/SparseMatrixBase.h
M extern/Eigen3/Eigen/src/SparseCore/SparsePermutation.h
M extern/Eigen3/Eigen/src/SparseCore/SparseProduct.h
M extern/Eigen3/Eigen/src/SparseCore/SparseRedux.h
A extern/Eigen3/Eigen/src/SparseCore/SparseRef.h
M extern/Eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h
A extern/Eigen3/Eigen/src/SparseCore/SparseSolverBase.h
M extern/Eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
M extern/Eigen3/Eigen/src/SparseCore/SparseTranspose.h
M extern/Eigen3/Eigen/src/SparseCore/SparseTriangularView.h
M extern/Eigen3/Eigen/src/SparseCore/SparseUtil.h
M extern/Eigen3/Eigen/src/SparseCore/SparseVector.h
M extern/Eigen3/Eigen/src/SparseCore/SparseView.h
M extern/Eigen3/Eigen/src/SparseCore/TriangularSolver.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLUImpl.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_Memory.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_Structs.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_Utils.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h
M extern/Eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h
M extern/Eigen3/Eigen/src/SparseQR/SparseQR.h
M extern/Eigen3/Eigen/src/StlSupport/StdDeque.h
M extern/Eigen3/Eigen/src/StlSupport/StdList.h
M extern/Eigen3/Eigen/src/StlSupport/StdVector.h
M extern/Eigen3/Eigen/src/StlSupport/details.h
M extern/Eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h
M extern/Eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h
M extern/Eigen3/Eigen/src/misc/Image.h
M extern/Eigen3/Eigen/src/misc/Kernel.h
A extern/Eigen3/Eigen/src/misc/RealSvd2x2.h
M extern/Eigen3/Eigen/src/misc/blas.h
A extern/Eigen3/Eigen/src/misc/lapack.h
A extern/Eigen3/Eigen/src/misc/lapacke.h
A extern/Eigen3/Eigen/src/misc/lapacke_mangling.h
M extern/Eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h
M extern/Eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h
M extern/Eigen3/Eigen/src/plugins/BlockMethods.h
M extern/Eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h
M extern/Eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h
M extern/Eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h
M extern/Eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h
M extern/Eigen3/eigen-update.sh
===================================================================
diff --git a/extern/Eigen3/Eigen/Cholesky b/extern/Eigen3/Eigen/Cholesky
index f727f5d89c0..1332b540d83 100644
--- a/extern/Eigen3/Eigen/Cholesky
+++ b/extern/Eigen3/Eigen/Cholesky
@@ -1,7 +1,15 @@
+// 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_CHOLESKY_MODULE_H
#define EIGEN_CHOLESKY_MODULE_H
#include "Core"
+#include "Jacobi"
#include "src/Core/util/DisableStupidWarnings.h"
@@ -10,20 +18,26 @@
*
*
* This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
- * Those decompositions are accessible via the following MatrixBase methods:
- * - MatrixBase::llt(),
+ * Those decompositions are also accessible via the following methods:
+ * - MatrixBase::llt()
* - MatrixBase::ldlt()
+ * - SelfAdjointView::llt()
+ * - SelfAdjointView::ldlt()
*
* \code
* #include <Eigen/Cholesky>
* \endcode
*/
-#include "src/misc/Solve.h"
#include "src/Cholesky/LLT.h"
#include "src/Cholesky/LDLT.h"
#ifdef EIGEN_USE_LAPACKE
-#include "src/Cholesky/LLT_MKL.h"
+#ifdef EIGEN_USE_MKL
+#include "mkl_lapacke.h"
+#else
+#include "src/misc/lapacke.h"
+#endif
+#include "src/Cholesky/LLT_LAPACKE.h"
#endif
#include "src/Core/util/ReenableStupidWarnings.h"
diff --git a/extern/Eigen3/Eigen/CholmodSupport b/extern/Eigen3/Eigen/CholmodSupport
index 745b884e74d..bed8924d31e 100644
--- a/extern/Eigen3/Eigen/CholmodSupport
+++ b/extern/Eigen3/Eigen/CholmodSupport
@@ -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_CHOLMODSUPPORT_MODULE_H
#define EIGEN_CHOLMODSUPPORT_MODULE_H
@@ -12,7 +19,7 @@ extern "C" {
/** \ingroup Support_modules
* \defgroup CholmodSupport_Module CholmodSupport module
*
- * This module provides an interface to the Cholmod library which is part of the <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">suitesparse</a> package.
+ * This module provides an interface to the Cholmod library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package.
* It provides the two following main factorization classes:
* - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
* - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial).
@@ -33,12 +40,8 @@ extern "C" {
*
*/
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
#include "src/CholmodSupport/CholmodSupport.h"
-
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CHOLMODSUPPORT_MODULE_H
diff --git a/extern/Eigen3/Eigen/Core b/extern/Eigen3/Eigen/Core
index 509c529e13d..b923b8c000c 100644
--- a/extern/Eigen3/Eigen/Core
+++ b/extern/Eigen3/Eigen/Core
@@ -14,6 +14,74 @@
// first thing Eigen does: stop the compiler from committing suicide
#include "src/Core/util/DisableStupidWarnings.h"
+#if defined(__CUDACC__) && !defined(EIGEN_NO_CUDA)
+ #define EIGEN_CUDACC __CUDACC__
+#endif
+
+#if defined(__CUDA_ARCH__) && !defined(EIGEN_NO_CUDA)
+ #define EIGEN_CUDA_ARCH __CUDA_ARCH__
+#endif
+
+#if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ >= 9)
+#define EIGEN_CUDACC_VER ((__CUDACC_VER_MAJOR__ * 10000) + (__CUDACC_VER_MINOR__ * 100))
+#elif defined(__CUDACC_VER__)
+#define EIGEN_CUDACC_VER __CUDACC_VER__
+#else
+#define EIGEN_CUDACC_VER 0
+#endif
+
+// Handle NVCC/CUDA/SYCL
+#if defined(__CUDACC__) || defined(__SYCL_DEVICE_ONLY__)
+ // Do not try asserts on CUDA and SYCL!
+ #ifndef EIGEN_NO_DEBUG
+ #define EIGEN_NO_DEBUG
+ #endif
+
+ #ifdef EIGEN_INTERNAL_DEBUGGING
+ #undef EIGEN_INTERNAL_DEBUGGING
+ #endif
+
+ #ifdef EIGEN_EXCEPTIONS
+ #undef EIGEN_EXCEPTIONS
+ #endif
+
+ // All functions callable from CUDA code must be qualified with __device__
+ #ifdef __CUDACC__
+ // Do not try to vectorize on CUDA and SYCL!
+ #ifndef EIGEN_DONT_VECTORIZE
+ #define EIGEN_DONT_VECTORIZE
+ #endif
+
+ #define EIGEN_DEVICE_FUNC __host__ __device__
+ // We need cuda_runtime.h to ensure that that EIGEN_USING_STD_MATH macro
+ // works properly on the device side
+ #include <cuda_runtime.h>
+ #else
+ #define EIGEN_DEVICE_FUNC
+ #endif
+
+#else
+ #define EIGEN_DEVICE_FUNC
+
+#endif
+
+// When compiling CUDA device code with NVCC, pull in math functions from the
+// global namespace. In host mode, and when device doee with clang, use the
+// std versions.
+#if defined(__CUDA_ARCH__) && defined(__NVCC__)
+ #define EIGEN_USING_STD_MATH(FUNC) using ::FUNC;
+#else
+ #define EIGEN_USING_STD_MATH(FUNC) using std::FUNC;
+#endif
+
+#if (defined(_CPPUNWIND) || defined(__EXCEPTIONS)) && !defined(__CUDA_ARCH__) && !defined(EIGEN_EXCEPTIONS) && !defined(EIGEN_USE_SYCL)
+ #define EIGEN_EXCEPTIONS
+#endif
+
+#ifdef EIGEN_EXCEPTIONS
+ #include <new>
+#endif
+
// then include this file where all our macros are defined. It's really important to do it first because
// it's where we do all the alignment settings (platform detection and honoring the user's will if he
// defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
@@ -21,7 +89,7 @@
// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
-#if defined(__MINGW32__) && EIGEN_GNUC_AT_LEAST(4,6)
+#if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6)
#pragma GCC optimize ("-fno-ipa-cp-clone")
#endif
@@ -31,26 +99,26 @@
// and inclusion of their respective header files
#include "src/Core/util/MKL_support.h"
-// if alignment is disabled, then disable vectorization. Note: EIGEN_ALIGN is the proper check, it takes into
-// account both the user's will (EIGEN_DONT_ALIGN) and our own platform checks
-#if !EIGEN_ALIGN
+// if alignment is disabled, then disable vectorization. Note: EIGEN_MAX_ALIGN_BYTES is the proper check, it takes into
+// account both the user's will (EIGEN_MAX_ALIGN_BYTES,EIGEN_DONT_ALIGN) and our own platform checks
+#if EIGEN_MAX_ALIGN_BYTES==0
#ifndef EIGEN_DONT_VECTORIZE
#define EIGEN_DONT_VECTORIZE
#endif
#endif
-#ifdef _MSC_VER
+#if EIGEN_COMP_MSVC
#include <malloc.h> // for _aligned_malloc -- need it regardless of whether vectorization is enabled
- #if (_MSC_VER >= 1500) // 2008 or later
+ #if (EIGEN_COMP_MSVC >= 1500) // 2008 or later
// Remember that usage of defined() in a #define is undefined by the standard.
// a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP.
- #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(_M_X64)
+ #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || EIGEN_ARCH_x86_64
#define EIGEN_SSE2_ON_MSVC_2008_OR_LATER
#endif
#endif
#else
// Remember that usage of defined() in a #define is undefined by the standard
- #if (defined __SSE2__) && ( (!defined __GNUC__) || (defined __INTEL_COMPILER) || EIGEN_GNUC_AT_LEAST(4,2) )
+ #if (defined __SSE2__) && ( (!EIGEN_COMP_GNUC) || EIGEN_COMP_ICC || EIGEN_GNUC_AT_LEAST(4,2) )
#define EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC
#endif
#endif
@@ -82,6 +150,31 @@
#ifdef __SSE4_2__
#define EIGEN_VECTORIZE_SSE4_2
#endif
+ #ifdef __AVX__
+ #define EIGEN_VECTORIZE_AVX
+ #define EIGEN_VECTORIZE_SSE3
+ #define EIGEN_VECTORIZE_SSSE3
+ #define EIGEN_VECTORIZE_SSE4_1
+ #define EIGEN_VECTORIZE_SSE4_2
+ #endif
+ #ifdef __AVX2__
+ #define EIGEN_VECTORIZE_AVX2
+ #endif
+ #ifdef __FMA__
+ #define EIGEN_VECTORIZE_FMA
+ #endif
+ #if defined(__AVX512F__) && defined(EIGEN_ENABLE_AVX512)
+ #define EIGEN_VECTORIZE_AVX512
+ #define EIGEN_VECTORIZE_AVX2
+ #define EIGEN_VECTORIZE_AVX
+ #define EIGEN_VECTORIZE_FMA
+ #ifdef __AVX512DQ__
+ #define EIGEN_VECTORIZE_AVX512DQ
+ #endif
+ #ifdef __AVX512ER__
+ #define EIGEN_VECTORIZE_AVX512ER
+ #endif
+ #endif
// include files
@@ -95,9 +188,10 @@
extern "C" {
// In theory we should only include immintrin.h and not the other *mmintrin.h header files directly.
// Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus:
- #if defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1110
+ #if EIGEN_COMP_ICC >= 1110
#include <immintrin.h>
#else
+ #include <mmintrin.h>
#include <emmintrin.h>
#include <xmmintrin.h>
#ifdef EIGEN_VECTORIZE_SSE3
@@ -112,8 +206,20 @@
#ifdef EIGEN_VECTORIZE_SSE4_2
#include <nmmintrin.h>
#endif
+ #if defined(EIGEN_VECTORIZE_AVX) || defined(EIGEN_VECTORIZE_AVX512)
+ #include <immintrin.h>
+ #endif
#endif
} // end extern "C"
+ #elif defined __VSX__
+ #define EIGEN_VECTORIZE
+ #define EIGEN_VECTORIZE_VSX
+ #include <altivec.h>
+ // We need to #undef all these ugly tokens defined in <altivec.h>
+ // => use __vector instead of vector
+ #undef bool
+ #undef vector
+ #undef pixel
#elif defined __ALTIVEC__
#define EIGEN_VECTORIZE
#define EIGEN_VECTORIZE_ALTIVEC
@@ -123,13 +229,35 @@
#undef bool
#undef vector
#undef pixel
- #elif defined __ARM_NEON
+ #elif (defined __ARM_NEON) || (defined __ARM_NEON__)
#define EIGEN_VECTORIZE
#define EIGEN_VECTORIZE_NEON
#include <arm_neon.h>
+ #elif (defined __s390x__ && defined __VEC__)
+ #define EIGEN_VECTORIZE
+ #define EIGEN_VECTORIZE_ZVECTOR
+ #include <vecintrin.h>
#endif
#endif
+#if defined(__F16C__) && !defined(EIGEN_COMP_CLANG)
+ // We can use the optimized fp16 to float and float to fp16 conve
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list