[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