[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46452] trunk/blender/extern/Eigen3/Eigen: Update Eigen3 library, would be needed for some further integraiton.

Sergey Sharybin sergey.vfx at gmail.com
Wed May 9 10:33:05 CEST 2012


Revision: 46452
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46452
Author:   nazgul
Date:     2012-05-09 08:33:05 +0000 (Wed, 09 May 2012)
Log Message:
-----------
Update Eigen3 library, would be needed for some further integraiton.

Modified Paths:
--------------
    trunk/blender/extern/Eigen3/Eigen/Core
    trunk/blender/extern/Eigen3/Eigen/SVD
    trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LDLT.h
    trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LLT.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/Array.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/Block.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/DenseBase.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/Map.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/MapBase.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/Matrix.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/MatrixBase.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/PlainObjectBase.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/ProductBase.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/Replicate.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/SolveTriangular.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/arch/NEON/Complex.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/arch/NEON/PacketMath.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/util/Macros.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/util/Memory.h
    trunk/blender/extern/Eigen3/Eigen/src/Core/util/XprHelper.h
    trunk/blender/extern/Eigen3/Eigen/src/Eigenvalues/EigenSolver.h
    trunk/blender/extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
    trunk/blender/extern/Eigen3/Eigen/src/Geometry/Hyperplane.h
    trunk/blender/extern/Eigen3/Eigen/src/Geometry/Quaternion.h
    trunk/blender/extern/Eigen3/Eigen/src/Geometry/Rotation2D.h
    trunk/blender/extern/Eigen3/Eigen/src/Geometry/Transform.h
    trunk/blender/extern/Eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h
    trunk/blender/extern/Eigen3/Eigen/src/LU/FullPivLU.h
    trunk/blender/extern/Eigen3/Eigen/src/LU/arch/Inverse_SSE.h
    trunk/blender/extern/Eigen3/Eigen/src/SVD/JacobiSVD.h
    trunk/blender/extern/Eigen3/Eigen/src/Sparse/TriangularSolver.h

Modified: trunk/blender/extern/Eigen3/Eigen/Core
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/Core	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/Core	2012-05-09 08:33:05 UTC (rev 46452)
@@ -167,7 +167,7 @@
   #include <intrin.h>
 #endif
 
-#if (defined(_CPPUNWIND) || defined(__EXCEPTIONS)) && !defined(EIGEN_NO_EXCEPTIONS)
+#if defined(_CPPUNWIND) || defined(__EXCEPTIONS)
   #define EIGEN_EXCEPTIONS
 #endif
 

Modified: trunk/blender/extern/Eigen3/Eigen/SVD
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/SVD	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/SVD	2012-05-09 08:33:05 UTC (rev 46452)
@@ -13,9 +13,9 @@
   *
   *
   *
-  * This module provides SVD decomposition for (currently) real matrices.
+  * This module provides SVD decomposition for matrices (both real and complex).
   * This decomposition is accessible via the following MatrixBase method:
-  *  - MatrixBase::svd()
+  *  - MatrixBase::jacobiSvd()
   *
   * \code
   * #include <Eigen/SVD>

Modified: trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LDLT.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LDLT.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LDLT.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -331,16 +331,16 @@
 
 template<typename MatrixType> struct LDLT_Traits<MatrixType,Lower>
 {
-  typedef TriangularView<MatrixType, UnitLower> MatrixL;
-  typedef TriangularView<typename MatrixType::AdjointReturnType, UnitUpper> MatrixU;
+  typedef const TriangularView<const MatrixType, UnitLower> MatrixL;
+  typedef const TriangularView<const typename MatrixType::AdjointReturnType, UnitUpper> MatrixU;
   inline static MatrixL getL(const MatrixType& m) { return m; }
   inline static MatrixU getU(const MatrixType& m) { return m.adjoint(); }
 };
 
 template<typename MatrixType> struct LDLT_Traits<MatrixType,Upper>
 {
-  typedef TriangularView<typename MatrixType::AdjointReturnType, UnitLower> MatrixL;
-  typedef TriangularView<MatrixType, UnitUpper> MatrixU;
+  typedef const TriangularView<const typename MatrixType::AdjointReturnType, UnitLower> MatrixL;
+  typedef const TriangularView<const MatrixType, UnitUpper> MatrixU;
   inline static MatrixL getL(const MatrixType& m) { return m.adjoint(); }
   inline static MatrixU getU(const MatrixType& m) { return m; }
 };

Modified: trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LLT.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LLT.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Cholesky/LLT.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -274,8 +274,8 @@
 
 template<typename MatrixType> struct LLT_Traits<MatrixType,Lower>
 {
-  typedef TriangularView<MatrixType, Lower> MatrixL;
-  typedef TriangularView<typename MatrixType::AdjointReturnType, Upper> MatrixU;
+  typedef const TriangularView<const MatrixType, Lower> MatrixL;
+  typedef const TriangularView<const typename MatrixType::AdjointReturnType, Upper> MatrixU;
   inline static MatrixL getL(const MatrixType& m) { return m; }
   inline static MatrixU getU(const MatrixType& m) { return m.adjoint(); }
   static bool inplace_decomposition(MatrixType& m)
@@ -284,8 +284,8 @@
 
 template<typename MatrixType> struct LLT_Traits<MatrixType,Upper>
 {
-  typedef TriangularView<typename MatrixType::AdjointReturnType, Lower> MatrixL;
-  typedef TriangularView<MatrixType, Upper> MatrixU;
+  typedef const TriangularView<const typename MatrixType::AdjointReturnType, Lower> MatrixL;
+  typedef const TriangularView<const MatrixType, Upper> MatrixU;
   inline static MatrixL getL(const MatrixType& m) { return m.adjoint(); }
   inline static MatrixU getU(const MatrixType& m) { return m; }
   static bool inplace_decomposition(MatrixType& m)

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/Array.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/Array.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/Array.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -68,10 +68,8 @@
     friend struct internal::conservative_resize_like_impl;
 
     using Base::m_storage;
+
   public:
-    enum { NeedsToAlign = (!(Options&DontAlign))
-                          && SizeAtCompileTime!=Dynamic && ((static_cast<int>(sizeof(Scalar))*SizeAtCompileTime)%16)==0 };
-    EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
 
     using Base::base;
     using Base::coeff;

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/Block.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/Block.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/Block.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -94,7 +94,7 @@
     MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits<Scalar>::size) == 0)
                        && (InnerStrideAtCompileTime == 1)
                         ? PacketAccessBit : 0,
-    MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && ((OuterStrideAtCompileTime % packet_traits<Scalar>::size) == 0)) ? AlignedBit : 0,
+    MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % 16) == 0)) ? AlignedBit : 0,
     FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1) ? LinearAccessBit : 0,
     FlagsLvalueBit = is_lvalue<XprType>::value ? LvalueBit : 0,
     FlagsRowMajorBit = IsRowMajor ? RowMajorBit : 0,
@@ -342,7 +342,7 @@
     }
 
     const typename XprType::Nested m_xpr;
-    int m_outerStride;
+    Index m_outerStride;
 };
 
 

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/DenseBase.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/DenseBase.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/DenseBase.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -169,8 +169,8 @@
 
       IsRowMajor = int(Flags) & RowMajorBit, /**< True if this expression has row-major storage order. */
 
-      InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? SizeAtCompileTime
-                             : int(IsRowMajor) ? ColsAtCompileTime : RowsAtCompileTime,
+      InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime)
+                             : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
 
       CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
         /**< This is a rough measure of how expensive it is to read one coefficient from

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/Map.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/Map.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/Map.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -102,7 +102,7 @@
                            || HasNoOuterStride
                            || ( OuterStrideAtCompileTime!=Dynamic
                            && ((static_cast<int>(sizeof(Scalar))*OuterStrideAtCompileTime)%16)==0 ) ),
-    Flags0 = TraitsBase::Flags,
+    Flags0 = TraitsBase::Flags & (~NestByRefBit),
     Flags1 = IsAligned ? (int(Flags0) | AlignedBit) : (int(Flags0) & ~AlignedBit),
     Flags2 = (bool(HasNoStride) || bool(PlainObjectType::IsVectorAtCompileTime))
            ? int(Flags1) : int(Flags1 & ~LinearAccessBit),
@@ -120,7 +120,6 @@
   public:
 
     typedef MapBase<Map> Base;
-
     EIGEN_DENSE_PUBLIC_INTERFACE(Map)
 
     typedef typename Base::PointerType PointerType;
@@ -181,7 +180,6 @@
       PlainObjectType::Base::_check_template_params();
     }
 
-
     EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
 
   protected:

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/MapBase.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/MapBase.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/MapBase.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -170,8 +170,8 @@
       EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(internal::traits<Derived>::Flags&PacketAccessBit,
                                         internal::inner_stride_at_compile_time<Derived>::ret==1),
                           PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1);
-      eigen_assert(EIGEN_IMPLIES(internal::traits<Derived>::Flags&AlignedBit, (size_t(m_data) % (sizeof(Scalar)*internal::packet_traits<Scalar>::size)) == 0)
-        && "data is not aligned");
+      eigen_assert(EIGEN_IMPLIES(internal::traits<Derived>::Flags&AlignedBit, (size_t(m_data) % 16) == 0)
+                   && "data is not aligned");
     }
 
     PointerType m_data;

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/Matrix.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/Matrix.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/Matrix.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -153,10 +153,6 @@
 
     typedef typename Base::PlainObject PlainObject;
 
-    enum { NeedsToAlign = (!(Options&DontAlign))
-                          && SizeAtCompileTime!=Dynamic && ((static_cast<int>(sizeof(Scalar))*SizeAtCompileTime)%16)==0 };
-    EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
-
     using Base::base;
     using Base::coeffRef;
 

Modified: trunk/blender/extern/Eigen3/Eigen/src/Core/MatrixBase.h
===================================================================
--- trunk/blender/extern/Eigen3/Eigen/src/Core/MatrixBase.h	2012-05-09 08:29:37 UTC (rev 46451)
+++ trunk/blender/extern/Eigen3/Eigen/src/Core/MatrixBase.h	2012-05-09 08:33:05 UTC (rev 46452)
@@ -250,7 +250,8 @@
     
     // huuuge hack. make Eigen2's matrix.part<Diagonal>() work in eigen3. Problem: Diagonal is now a class template instead
     // of an integer constant. Solution: overload the part() method template wrt template parameters list.
-    template<template<typename T, int n> class U>

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list