[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