[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