[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23994] trunk/blender/extern/Eigen2: Use Eigen2 2.0 head version rather then 2.0.6.

Benoit Bolsee benoit.bolsee at online.be
Tue Oct 20 11:50:25 CEST 2009


Revision: 23994
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23994
Author:   ben2610
Date:     2009-10-20 11:50:24 +0200 (Tue, 20 Oct 2009)

Log Message:
-----------
Use Eigen2 2.0 head version rather then 2.0.6. It contains various bug fix.

Modified Paths:
--------------
    trunk/blender/extern/Eigen2/Eigen/src/Array/Functors.h
    trunk/blender/extern/Eigen2/Eigen/src/Array/PartialRedux.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/CommaInitializer.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Cwise.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Flagged.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Functors.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Matrix.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/NestByValue.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Part.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/Swap.h
    trunk/blender/extern/Eigen2/Eigen/src/Core/util/Memory.h
    trunk/blender/extern/Eigen2/Eigen/src/SVD/SVD.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/AmbiVector.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/DynamicSparseMatrix.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseBlock.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseCwise.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseCwiseBinaryOp.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseCwiseUnaryOp.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseDiagonalProduct.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseFlagged.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseMatrix.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseTranspose.h
    trunk/blender/extern/Eigen2/Eigen/src/Sparse/SparseVector.h
    trunk/blender/extern/Eigen2/eigen-update.sh

Modified: trunk/blender/extern/Eigen2/Eigen/src/Array/Functors.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Array/Functors.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Array/Functors.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -43,6 +43,8 @@
   inline const PacketScalar packetOp(const PacketScalar& a) const
   { return ei_padd(a, ei_pset1(m_other)); }
   const Scalar m_other;
+private:
+  ei_scalar_add_op& operator=(const ei_scalar_add_op&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_add_op<Scalar> >
@@ -138,6 +140,8 @@
   inline ei_scalar_pow_op(const Scalar& exponent) : m_exponent(exponent) {}
   inline Scalar operator() (const Scalar& a) const { return ei_pow(a, m_exponent); }
   const Scalar m_exponent;
+private:
+  ei_scalar_pow_op& operator=(const ei_scalar_pow_op&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_pow_op<Scalar> >

Modified: trunk/blender/extern/Eigen2/Eigen/src/Array/PartialRedux.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Array/PartialRedux.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Array/PartialRedux.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -133,6 +133,8 @@
   inline result_type operator()(const MatrixBase<Derived>& mat) const
   { return mat.redux(m_functor); }
   const BinaryOp m_functor;
+private:
+  ei_member_redux& operator=(const ei_member_redux&);
 };
 
 /** \array_module \ingroup Array
@@ -290,6 +292,9 @@
 
   protected:
     ExpressionTypeNested m_matrix;
+
+  private:
+    PartialRedux& operator=(const PartialRedux&);
 };
 
 /** \array_module

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/CommaInitializer.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/CommaInitializer.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/CommaInitializer.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -116,6 +116,9 @@
   int m_row;              // current row id
   int m_col;              // current col id
   int m_currentBlockRows; // current block height
+
+private:
+  CommaInitializer& operator=(const CommaInitializer&);
 };
 
 /** \anchor MatrixBaseCommaInitRef

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Cwise.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Cwise.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Cwise.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -178,6 +178,9 @@
 
   protected:
     ExpressionTypeNested m_matrix;
+
+  private:
+    Cwise& operator=(const Cwise&);
 };
 
 /** \returns a Cwise wrapper of *this providing additional coefficient-wise operations

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Flagged.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Flagged.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Flagged.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -109,6 +109,9 @@
 
   protected:
     ExpressionTypeNested m_matrix;
+
+private:
+  Flagged& operator=(const Flagged&);
 };
 
 /** \returns an expression of *this with added flags

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Functors.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Functors.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Functors.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -279,6 +279,8 @@
   EIGEN_STRONG_INLINE const PacketScalar packetOp(const PacketScalar& a) const
   { return ei_pmul(a, ei_pset1(m_other)); }
   const Scalar m_other;
+private:
+  ei_scalar_multiple_op& operator=(const ei_scalar_multiple_op&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_multiple_op<Scalar> >
@@ -294,6 +296,8 @@
   EIGEN_STRONG_INLINE const PacketScalar packetOp(const PacketScalar& a) const
   { return ei_pmul(a, ei_pset1(m_other)); }
   const Scalar m_other;
+private:
+  ei_scalar_quotient1_impl& operator=(const ei_scalar_quotient1_impl&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_quotient1_impl<Scalar,true> >
@@ -306,6 +310,8 @@
   EIGEN_STRONG_INLINE ei_scalar_quotient1_impl(const Scalar& other) : m_other(other) {}
   EIGEN_STRONG_INLINE Scalar operator() (const Scalar& a) const { return a / m_other; }
   const Scalar m_other;
+private:
+  ei_scalar_quotient1_impl& operator=(const ei_scalar_quotient1_impl&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_quotient1_impl<Scalar,false> >
@@ -323,6 +329,8 @@
 struct ei_scalar_quotient1_op : ei_scalar_quotient1_impl<Scalar, NumTraits<Scalar>::HasFloatingPoint > {
   EIGEN_STRONG_INLINE ei_scalar_quotient1_op(const Scalar& other)
     : ei_scalar_quotient1_impl<Scalar, NumTraits<Scalar>::HasFloatingPoint >(other) {}
+private:
+  ei_scalar_quotient1_op& operator=(const ei_scalar_quotient1_op&);
 };
 
 // nullary functors
@@ -335,6 +343,8 @@
   EIGEN_STRONG_INLINE const Scalar operator() (int, int = 0) const { return m_other; }
   EIGEN_STRONG_INLINE const PacketScalar packetOp() const { return ei_pset1(m_other); }
   const Scalar m_other;
+private:
+  ei_scalar_constant_op& operator=(const ei_scalar_constant_op&);
 };
 template<typename Scalar>
 struct ei_functor_traits<ei_scalar_constant_op<Scalar> >

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Matrix.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Matrix.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Matrix.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -505,7 +505,9 @@
     template<typename OtherDerived>
     EIGEN_STRONG_INLINE Matrix& _set(const MatrixBase<OtherDerived>& other)
     {
-      _set_selector(other.derived(), typename ei_meta_if<bool(int(OtherDerived::Flags) & EvalBeforeAssigningBit), ei_meta_true, ei_meta_false>::ret());
+      // this enum introduced to fix compilation with gcc 3.3
+      enum { cond = int(OtherDerived::Flags) & EvalBeforeAssigningBit };
+      _set_selector(other.derived(), typename ei_meta_if<bool(cond), ei_meta_true, ei_meta_false>::ret());
       return *this;
     }
 

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/NestByValue.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/NestByValue.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/NestByValue.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -100,6 +100,9 @@
 
   protected:
     const ExpressionType m_expression;
+
+  private:
+    NestByValue& operator=(const NestByValue&);
 };
 
 /** \returns an expression of the temporary version of *this.

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Part.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Part.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Part.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -124,8 +124,10 @@
     }
 
   protected:
+    const typename MatrixType::Nested m_matrix;
 
-    const typename MatrixType::Nested m_matrix;
+  private:
+    Part& operator=(const Part&);
 };
 
 /** \nonstableyet

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/Swap.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/Swap.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/Swap.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -117,6 +117,9 @@
 
   protected:
     ExpressionType& m_expression;
+
+  private:
+    SwapWrapper& operator=(const SwapWrapper&);
 };
 
 /** swaps *this with the expression \a other.

Modified: trunk/blender/extern/Eigen2/Eigen/src/Core/util/Memory.h
===================================================================
--- trunk/blender/extern/Eigen2/Eigen/src/Core/util/Memory.h	2009-10-20 08:47:28 UTC (rev 23993)
+++ trunk/blender/extern/Eigen2/Eigen/src/Core/util/Memory.h	2009-10-20 09:50:24 UTC (rev 23994)
@@ -1,5 +1,5 @@
 // This file is part of Eigen, a lightweight C++ template library
-// for linear algebra. Eigen itself is part of the KDE project.
+// for linear algebra.
 //
 // Copyright (C) 2008 Gael Guennebaud <g.gael at free.fr>
 // Copyright (C) 2008-2009 Benoit Jacob <jacob.benoit.1 at gmail.com>
@@ -27,7 +27,17 @@
 #ifndef EIGEN_MEMORY_H
 #define EIGEN_MEMORY_H
 
-#if defined(__APPLE__) || defined(_WIN64)
+// FreeBSD 6 seems to have 16-byte aligned malloc
+// See http://svn.freebsd.org/viewvc/base/stable/6/lib/libc/stdlib/malloc.c?view=markup
+// FreeBSD 7 seems to have 16-byte aligned malloc except on ARM and MIPS architectures
+// See http://svn.freebsd.org/viewvc/base/stable/7/lib/libc/stdlib/malloc.c?view=markup
+#if defined(__FreeBSD__) && !defined(__arm__) && !defined(__mips__)
+#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED 1
+#else
+#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED 0
+#endif
+
+#if defined(__APPLE__) || defined(_WIN64) || EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED
   #define EIGEN_MALLOC_ALREADY_ALIGNED 1
 #else
   #define EIGEN_MALLOC_ALREADY_ALIGNED 0
@@ -65,7 +75,7 @@
 }
 
 /** \internal allocates \a size bytes. The returned pointer is guaranteed to have 16 bytes alignment.
-  * On allocation error, the returned pointer is undefined, but if exceptions are enabled then a std::bad_alloc is thrown.
+  * On allocation error, the returned pointer is null, and if exceptions are enabled then a std::bad_alloc is thrown.
   */
 inline void* ei_aligned_malloc(size_t size)
 {
@@ -96,7 +106,7 @@
 }
 
 /** allocates \a size bytes. If Align is true, then the returned ptr is 16-byte-aligned.
-  * On allocation error, the returned pointer is undefined, but if exceptions are enabled then a std::bad_alloc is thrown.
+  * On allocation error, the returned pointer is null, and if exceptions are enabled then a std::bad_alloc is thrown.
   */
 template<bool Align> inline void* ei_conditional_aligned_malloc(size_t size)
 {
@@ -116,20 +126,29 @@
   return result;
 }
 
+/** \internal construct the elements of an array.
+  * The \a size parameter tells on how many objects to call the constructor of T.
+  */

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list