[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48477] branches/smoke2/extern/Eigen3/ Eigen: Update Eigen to latest git version
Daniel Genrich
daniel.genrich at gmx.net
Mon Jul 2 00:52:28 CEST 2012
Revision: 48477
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48477
Author: genscher
Date: 2012-07-01 22:52:18 +0000 (Sun, 01 Jul 2012)
Log Message:
-----------
Update Eigen to latest git version
Modified Paths:
--------------
branches/smoke2/extern/Eigen3/Eigen/CholmodSupport
branches/smoke2/extern/Eigen3/Eigen/Core
branches/smoke2/extern/Eigen3/Eigen/PaStiXSupport
branches/smoke2/extern/Eigen3/Eigen/PardisoSupport
branches/smoke2/extern/Eigen3/Eigen/SuperLUSupport
branches/smoke2/extern/Eigen3/Eigen/UmfPackSupport
branches/smoke2/extern/Eigen3/Eigen/src/Cholesky/LDLT.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Array.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/ArrayWrapper.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Assign_MKL.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Block.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/CwiseBinaryOp.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/CwiseNullaryOp.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/CwiseUnaryOp.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/DenseBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/DenseCoeffsBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/DenseStorage.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Diagonal.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/DiagonalMatrix.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/DiagonalProduct.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Dot.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Fuzzy.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/GeneralProduct.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Map.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/MapBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/MatrixBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/NoAlias.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/PermutationMatrix.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/PlainObjectBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Product.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/ProductBase.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Random.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Replicate.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Select.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Swap.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Transpose.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Transpositions.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/TriangularMatrix.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/VectorBlock.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/Visitor.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/products/Parallelizer.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector_MKL.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/util/Constants.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/util/Macros.h
branches/smoke2/extern/Eigen3/Eigen/src/Eigenvalues/RealSchur.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/AngleAxis.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/Hyperplane.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/ParametrizedLine.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/Quaternion.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/Rotation2D.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/Scaling.h
branches/smoke2/extern/Eigen3/Eigen/src/Geometry/Transform.h
branches/smoke2/extern/Eigen3/Eigen/src/OrderingMethods/Amd.h
branches/smoke2/extern/Eigen3/Eigen/src/SVD/JacobiSVD.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/CompressedStorage.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseDenseProduct.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseMatrix.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseMatrixBase.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseProduct.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseTranspose.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseVector.h
branches/smoke2/extern/Eigen3/Eigen/src/SparseCore/SparseView.h
Added Paths:
-----------
branches/smoke2/extern/Eigen3/Eigen/src/Core/AssignEvaluator.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/CoreEvaluators.h
branches/smoke2/extern/Eigen3/Eigen/src/Core/ProductEvaluators.h
Modified: branches/smoke2/extern/Eigen3/Eigen/CholmodSupport
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/CholmodSupport 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/CholmodSupport 2012-07-01 22:52:18 UTC (rev 48477)
@@ -26,6 +26,11 @@
* \code
* #include <Eigen/CholmodSupport>
* \endcode
+ *
+ * In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies.
+ * The dependencies depend on how cholmod has been compiled.
+ * For a cmake based project, you can use our FindCholmod.cmake module to help you in this task.
+ *
*/
#include "src/misc/Solve.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/Core
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/Core 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/Core 2012-07-01 22:52:18 UTC (rev 48477)
@@ -329,9 +329,9 @@
#include "src/Core/GeneralProduct.h"
#include "src/Core/TriangularMatrix.h"
#include "src/Core/SelfAdjointView.h"
+#include "src/Core/products/GeneralBlockPanelKernel.h"
#include "src/Core/products/Parallelizer.h"
#include "src/Core/products/CoeffBasedProduct.h"
-#include "src/Core/products/GeneralBlockPanelKernel.h"
#include "src/Core/products/GeneralMatrixVector.h"
#include "src/Core/products/GeneralMatrixMatrix.h"
#include "src/Core/SolveTriangular.h"
@@ -355,6 +355,13 @@
#include "src/Core/ArrayBase.h"
#include "src/Core/ArrayWrapper.h"
+#ifdef EIGEN_ENABLE_EVALUATORS
+#include "src/Core/Product.h"
+#include "src/Core/CoreEvaluators.h"
+#include "src/Core/AssignEvaluator.h"
+#include "src/Core/ProductEvaluators.h"
+#endif
+
#ifdef EIGEN_USE_BLAS
#include "src/Core/products/GeneralMatrixMatrix_MKL.h"
#include "src/Core/products/GeneralMatrixVector_MKL.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/PaStiXSupport
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/PaStiXSupport 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/PaStiXSupport 2012-07-01 22:52:18 UTC (rev 48477)
@@ -17,10 +17,22 @@
/** \ingroup Support_modules
* \defgroup PaStiXSupport_Module PaStiXSupport module
- *
+ *
+ * This module provides an interface to the <a href="http://pastix.gforge.inria.fr/">PaSTiX</a> library.
+ * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver.
+ * It provides the two following main factorization classes:
+ * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization.
+ * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization.
+ * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern).
+ *
* \code
* #include <Eigen/PaStiXSupport>
* \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.
+ * 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.
+ *
*/
#include "src/misc/Solve.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/PardisoSupport
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/PardisoSupport 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/PardisoSupport 2012-07-01 22:52:18 UTC (rev 48477)
@@ -12,11 +12,15 @@
/** \ingroup Support_modules
* \defgroup PardisoSupport_Module PardisoSupport module
*
- * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers
+ * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers.
*
* \code
* #include <Eigen/PardisoSupport>
* \endcode
+ *
+ * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies.
+ * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration.
+ *
*/
#include "src/PardisoSupport/PardisoSupport.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/SuperLUSupport
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/SuperLUSupport 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/SuperLUSupport 2012-07-01 22:52:18 UTC (rev 48477)
@@ -31,11 +31,21 @@
/** \ingroup Support_modules
* \defgroup SuperLUSupport_Module SuperLUSupport module
*
+ * This module provides an interface to the <a href="http://crd-legacy.lbl.gov/~xiaoye/SuperLU/">SuperLU</a> library.
+ * It provides the following factorization class:
+ * - class SuperLU: a supernodal sequential LU factorization.
+ * - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods).
+ *
* \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
*
* \code
* #include <Eigen/SuperLUSupport>
* \endcode
+ *
+ * In order to use this module, the superlu headers must be accessible from the include paths, and your binary must be linked to the superlu library and its dependencies.
+ * The dependencies depend on how superlu has been compiled.
+ * For a cmake based project, you can use our FindSuperLU.cmake module to help you in this task.
+ *
*/
#include "src/misc/Solve.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/UmfPackSupport
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/UmfPackSupport 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/UmfPackSupport 2012-07-01 22:52:18 UTC (rev 48477)
@@ -12,12 +12,18 @@
/** \ingroup Support_modules
* \defgroup UmfPackSupport_Module UmfPackSupport module
*
+ * This module provides an interface to the UmfPack library which is part of the <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">suitesparse</a> package.
+ * It provides the following factorization class:
+ * - class UmfPackLU: a multifrontal sequential LU factorization.
*
- *
- *
* \code
* #include <Eigen/UmfPackSupport>
* \endcode
+ *
+ * In order to use this module, the umfpack headers must be accessible from the include paths, and your binary must be linked to the umfpack library and its dependencies.
+ * The dependencies depend on how umfpack has been compiled.
+ * For a cmake based project, you can use our FindUmfPack.cmake module to help you in this task.
+ *
*/
#include "src/misc/Solve.h"
Modified: branches/smoke2/extern/Eigen3/Eigen/src/Cholesky/LDLT.h
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/src/Cholesky/LDLT.h 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/src/Cholesky/LDLT.h 2012-07-01 22:52:18 UTC (rev 48477)
@@ -479,7 +479,7 @@
for (Index i = 0; i < size; i++)
m_transpositions.coeffRef(i) = i;
m_temporary.resize(size);
- m_sign = sigma;
+ m_sign = sigma>=0 ? 1 : -1;
m_isInitialized = true;
}
Modified: branches/smoke2/extern/Eigen3/Eigen/src/Core/Array.h
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/src/Core/Array.h 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/src/Core/Array.h 2012-07-01 22:52:18 UTC (rev 48477)
@@ -157,10 +157,10 @@
#ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename T0, typename T1>
- EIGEN_STRONG_INLINE Array(const T0& x, const T1& y)
+ EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1)
{
Base::_check_template_params();
- this->template _init2<T0,T1>(x, y);
+ this->template _init2<T0,T1>(val0, val1);
}
#else
/** constructs an uninitialized matrix with \a rows rows and \a cols columns.
@@ -170,27 +170,27 @@
* Matrix() instead. */
Array(Index rows, Index cols);
/** constructs an initialized 2D vector with given coefficients */
- Array(const Scalar& x, const Scalar& y);
+ Array(const Scalar& val0, const Scalar& val1);
#endif
/** constructs an initialized 3D vector with given coefficients */
- EIGEN_STRONG_INLINE Array(const Scalar& x, const Scalar& y, const Scalar& z)
+ EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2)
{
Base::_check_template_params();
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 3)
- m_storage.data()[0] = x;
- m_storage.data()[1] = y;
- m_storage.data()[2] = z;
+ m_storage.data()[0] = val0;
+ m_storage.data()[1] = val1;
+ m_storage.data()[2] = val2;
}
/** constructs an initialized 4D vector with given coefficients */
- EIGEN_STRONG_INLINE Array(const Scalar& x, const Scalar& y, const Scalar& z, const Scalar& w)
+ EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2, const Scalar& val3)
{
Base::_check_template_params();
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 4)
- m_storage.data()[0] = x;
- m_storage.data()[1] = y;
- m_storage.data()[2] = z;
- m_storage.data()[3] = w;
+ m_storage.data()[0] = val0;
+ m_storage.data()[1] = val1;
+ m_storage.data()[2] = val2;
+ m_storage.data()[3] = val3;
}
explicit Array(const Scalar *data);
Modified: branches/smoke2/extern/Eigen3/Eigen/src/Core/ArrayWrapper.h
===================================================================
--- branches/smoke2/extern/Eigen3/Eigen/src/Core/ArrayWrapper.h 2012-07-01 22:39:14 UTC (rev 48476)
+++ branches/smoke2/extern/Eigen3/Eigen/src/Core/ArrayWrapper.h 2012-07-01 22:52:18 UTC (rev 48477)
@@ -73,19 +73,19 @@
inline ScalarWithConstIfNotLvalue* data() { return m_expression.data(); }
inline const Scalar* data() const { return m_expression.data(); }
- inline CoeffReturnType coeff(Index row, Index col) const
+ inline CoeffReturnType coeff(Index rowId, Index colId) const
{
- return m_expression.coeff(row, col);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list